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

#1177on PLDB | 4Years Old |

Download source code:

`git clone https://github.com/gosukiwi/Pasukon`

JavaScript practical parser generator library using combinators

- Tags: grammarLanguage
- pasukon is developed on GitHub and has 109 stars
- Early development of pasukon happened in https://github.com/gosukiwi/Pasukon/issues
- pasukon is written in JavaScript, JSON, Markdown
- Read more about pasukon on the web: 1.

Example 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
;
```