PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

pasukon

pasukon

pasukon is a grammar language created in 2020 by Federico Ramirez.

#1377on PLDB 2Years Old 117Users
0Books 0Papers

Try now: Web

JavaScript practical parser generator library using combinators

Example code from the web:

lex match NUMBER /[0-9]+(?:\.[0-9]+)?/ match PLUS '+' match MINUS '-' match TIMES '*' match DIV '/' match POPEN '(' match PCLOSE ')' ignore WHITESPACE /^\s+/ /lex addition | (subtraction as :lhs) then :PLUS then (subtraction as :rhs) |> 'return $.lhs + $.rhs' | subtraction ; subtraction | (multiplication as :lhs) then :MINUS then (multiplication as :rhs) |> 'return $.lhs - $.rhs' | multiplication ; multiplication | (division as :lhs) then :TIMES then (division as :rhs) |> 'return $.lhs * $.rhs' | division ; division | (expression as :lhs) then :DIV then (expression as :rhs) |> 'return $.lhs / $.rhs' | expression ; expression | :POPEN then (addition as :expr) then :PCLOSE |> 'return $.expr' | number ; number | :NUMBER 'return +$1' ; start | addition ;

Article source

PLDB - Build the next great programming language 路 v2022 Docs Acknowledgements Email GitHub