+parens_expression = '(' ws inner_expression:e ws ')' -> ('PARENS', e)
+
+and_op = (ws ('&&' | '&') ws) | (ws ('AND' | 'and') space_b4letter)
+
+or_op = (ws ('||' | '|') ws) | (ws ('OR' | 'or') space_b4letter)
+
+not_op = (ws '!' ws) | (ws ('NOT' | 'not') space_b4letter)
+
+name = <lletter lletterOrDigit*>:n -> ('NAME', n)
+
+lletter = :l ?(l in 'abcdefghijklmnopqrstuvwxyz') -> l
+
+digit = :d ?(d in '0123456789') -> d
+
+lletterOrDigit = (lletter | digit):c -> c
+
+space_b4letter = (' '+ ~~letter) | ws
+
+# vim: set ft=text :