lexeme parsers
introduce comma parser
[bugfix] parse no argument predicate
parse eof
':-:' and ':- :' are different
parse binary and prefix operators
support number type