Jison is a parser generator written in JavaScript. This page uses Jison to display an interactive parsing table based on the grammar and parsing algorithm chosen, which can be very helpful for debugging.
Special thanks to Dr. Ligatti for suggesting and giving feedback on the initial interface.
Input
Input a BNF grammar as you would with Bison.
Load an example:
Basic
Basic (with lexer)
Basic (with error rule)
Basic #2
Basic #2 (with lexer)
ANSI C
btyacc-ansiC
btyacc-ansiC2
btyacc-ftp
btyacc-t1
btyacc-t2
calculator (with option lookahead_on_demand )
calculator
classy
classy_ast
comments
DISM
DISM in LR(0)
dot
error-handling-and-yyclearin
error-handling-and-yyerrok-loopfix
error-handling-and-yyerrok-looping1
error-handling-and-yyerrok-looping2
error-handling-and-yyerrok-macro
error-handling-and-yyerrok-part1
error-handling-and-yyerrok-part2
error-handling-and-yyerrok-part3
error-handling-and-yyerrok-part4a
error-handling-and-yyerrok-part4b
error-handling-and-yyerrok-part5
error-only
error-recognition-actions
faking-multiple-start-rules-alt
faking-multiple-start-rules
flow
formula
fsyacc-cgrammar
gantt
grammar
happyhappy
inherited (yacc)
issue-254
issue-293
jscore (JavaScript core grammar)
lambdacalc
lojban-300
mermaid
mfcalc
nv_classy_ast
olmenu-proto2
phraser
Precedence operators
Reduce-Reduce conflict
regex
tikiwikiparser
unicode
unicode2
with-includes
with_custom_lexer
yacc-error-recovery
Parser type:
LR(0)
SLR(1)
LALR(1)
LR(1)
LL(1)
* WARNING: LR(1) may take considerable time to execute for large/ambigous grammars.
Process Grammar
Output
Process your grammar to see the result here.
Parse a program
Grammars with lexing information allow for parsing. Use the form below to parse a program using your grammar:
Parse source
Result