tinypratt

a tiny pratt parser implementation
npm i tinypratt
|
pnpm add tinypratt
|
yarn add tinypratt
|
API
# ParserErrorCauses
src/causes.ts#L1 # LexerError
# constructor(cause)
# cause
# name
# prepareStackTrace
# stackTraceLimit
# captureStackTrace(targetObject, constructorOpt)
# targetObject
# constructorOpt
captureStackTrace(targetObject, constructorOpt) =>
# ParserError
src/index.ts#L58 # stackTraceLimit
# captureStackTrace(targetObject, constructorOpt)
# targetObject
# constructorOpt
captureStackTrace(targetObject, constructorOpt) =>
# Token
# constructor(value)
# new Token()
# new Token()
# group
# source
# index
# value
# as(value, group)
# is(group, value)
# toJSON()
# create(value, group, source)
# value
# group
# source
create(value, group, source) =>
# Impl
src/index.ts#L28 # NodeArray
src/index.ts#L12 # TokenJson
# value
# Node
src/index.ts#L16 }
# createParser(regexp, fn)
src/index.ts#L72 # regexp
# fn
createParser(regexp, fn) =>
# joinRegExp(regexps, flags)
# regexps
# flags
joinRegExp(regexps, flags) =>
Credits
-
annotate-code by
stagas – beautifully annotate source code with a message, given an index, like a parser or compiler
-
join-regexp by
stagas – utility to join regexps together
-
lexer-next by
stagas – lexer for recursive descent parsers
Contributing
Fork or edit and submit a PR.
All contributions are welcome!
License
MIT © 2022 stagas