module Bindy
grammar Language rule expression function / value end rule function identifier:identifier space* '(' space* arg_list:arg_list space* ')' <Function> end rule arg_list expression space* ',' space* arg_list <ArgList> / expression / space* end rule identifier [a-z0-9\_]+ end rule value number / boolean / string / null end rule string "'" value:[\da-zA-ZáéíóúüñÁÉÍÓÚÜÑ¿?!¡\s\@\#\$\%\&\/\\\*\_\-\+\/\\\*\_\-\+\.\:\,\;\<\>\|\"\\(\)]* "'" <LiteralString> end rule number float / integer end rule integer [\+\-]? [\d]+ <LiteralInteger> end rule float [\+\-]? [\d]+ '.' [\d]+ <LiteralFloat> end rule boolean true / false end rule true 'true' <LiteralTrue> end rule false 'false' <LiteralFalse> end rule null 'null' <LiteralNull> end rule space [\s\t\n] end end
end