
# simple term, all operators
context = value
context == value
context != value
context !== value
context = null
context != null

# simple term, all operators, quoted value
context = 'quoted value'
context == 'quoted value'
context != 'quoted value'
context !== 'quoted value'
context = null
context != null

# parameterized term, all operators
context[param] = value
context[param] == value
context[param] != value
context[param] !== value
context[param] = null
context[param] != null

# deeply nested parenthetical simple terms
((context = value))
(((context = value)))
((((context = value))))
(((((context = value)))))

# simple parenthetical term, all operators
(context = value)
(context == value)
(context != value)
(context !== value)
(context = null)
(context != null)

# parameterized parenthetical term, all operators
(context[param] = value)
(context[param] == value)
(context[param] != value)
(context[param] !== value)
(context[param] = null)
(context[param] != null)



# single-pair parenthetical combinations
# simple expression, '|' boolean operator (meaning 'or')
context = value1 | context = value2
(context = value1) | context = value2
context = value1 | (context = value2)
(context = value1) | (context = value2)


# single-pair parenthetical combinations
# simple expression, no boolean operator (implies 'and' semantics)
context = value context = value
(context = value) context = value
context = value (context = value)
(context = value) (context = value)



# double-pair parenthetical combinations
# simple expression, '|' boolean operator (meaning 'or')
((context = value1 | context = value2))
((context = value1) | context = value2)
((context = value1)) | context = value2
(context = value1) | (context = value2)
(context = value1 | (context = value2))
context = value1 | ((context = value2))

# double-pair parenthetical combinations
# simple expression, no boolean operator (implies 'and' semantics)
((context = value1 context = value2))
((context = value1) context = value2)
((context = value1)) context = value2
(context = value1) (context = value2)
(context = value1 (context = value2))
context = value1 ((context = value2))

# simple terms
hello
hello world
"hello world" 'foo bar'
'hello world' "foo bar"
hello | world
context=value | world