1.0.25 • Published 9 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
9 years ago
1.0.23
9 years ago
1.0.22
9 years ago
1.0.21
9 years ago
1.0.20
9 years ago
1.0.19
9 years ago
1.0.16
9 years ago
1.0.15
9 years ago
1.0.14
9 years ago
1.0.13
9 years ago
1.0.12
9 years ago
1.0.11
9 years ago
1.0.10
9 years ago
1.0.9
9 years ago
1.0.8
9 years ago
1.0.7
9 years ago
1.0.6
9 years ago
1.0.5
9 years ago
1.0.4
9 years ago
1.0.3
9 years ago
1.0.2
9 years ago
1.0.1
9 years ago
1.0.0
9 years ago