1.0.25 • Published 7 years ago
happy-parser v1.0.25
Node parser combinator
Immutable monadic parser combinator for node javascript.
Example
const parsec = require('happy-parser');
const sum = (x, y) => x + y,
rest = (x, y) => x - y
const
termOperations = parsec.Parser.operations([ parsec.char('+'), sum ], [ parsec.char('-'), rest ]).trim(),
factorOperations = parsec.Parser.operations([ parsec.char('^'), Math.pow.bind() ]).trim()
const factor = parsec.lazy(() =>
parsec.int.or(expr.between(parsec.char('('), parsec.char(')'))).trim()
),
term = parsec.lazy(() => factor.chainRight(factorOperations)),
expr = term.chain(termOperations).trim()
console.log(expr.parse(' 3^2 + (4 - 7) '))
Check also the documentation and tests
1.0.25
7 years ago
1.0.23
7 years ago
1.0.22
7 years ago
1.0.21
7 years ago
1.0.20
7 years ago
1.0.19
7 years ago
1.0.16
7 years ago
1.0.15
7 years ago
1.0.14
7 years ago
1.0.13
8 years ago
1.0.12
8 years ago
1.0.11
8 years ago
1.0.10
8 years ago
1.0.9
8 years ago
1.0.8
8 years ago
1.0.7
8 years ago
1.0.6
8 years ago
1.0.5
8 years ago
1.0.4
8 years ago
1.0.3
8 years ago
1.0.2
8 years ago
1.0.1
8 years ago
1.0.0
8 years ago