Gramatika G = ( {S, Params, Params_c, Block, Cmd, Cmd_c, Ee, E, E_c, A, A_c, B, B_c, C, C_c, D, D_c, F, F_c, G, G_c, L, L_c}, { function, return, if, else, while, for, break, continue, var, func_name, {, }, (, ), ,, ;, !, =, +=, -=, *=, /=, %=, ||, &&, <, >, <=, >=, ==, !=, +, -, *, /, %, bool_val, int_val, float_val, string_val, ++, --}, P, S), kde P obsahuje pravidla:
(1)S->ε
(2)S->function func_name ( Params ) { Block } S
(3)S->Cmd S
(4)Params->var Params_c
(5)Params->ε
(6)Params_c->, var Params_c
(7)Params_c->ε
(8)Cmd->{ Block }
(9)Cmd->;
(10)Cmd->E ;
(11)Cmd->return E ;
(12)Cmd->break ;
(13)Cmd->continue ;
(14)Cmd->while ( E ) Cmd
(15)Cmd->for ( Ee ; Ee ; Ee ) Cmd
(16)Cmd->if ( E ) Cmd Cmd_c
(17)Cmd_c->else Cmd
(18)Cmd_c->ε
(19)Block->Cmd Block
(20)Block->ε
(21)Ee->E
(22)Ee->ε
(23)E->A E_c
(24)E->- A E_c
(25)E->! A E_c
(26)E_c->= A E_c
(27)E_c->+= A E_c
(28)E_c->-= A E_c
(29)E_c->*= A E_c
(30)E_c->/= A E_c
(31)E_c->%= A E_c
(32)E_c->ε
(33)A->B A_c
(34)A_c->|| B A_c
(35)A_c->ε
(36)B->C B_c
(37)B_c->&& C B_c
(38)B_c->ε
(39)C->D C_c
(40)C_c->< D C_c
(41)C_c->> D C_c
(42)C_c-><= D C_c
(43)C_c->>= D C_c
(44)C_c->== D C_c
(45)C_c->!= D C_c
(46)C_c->ε
(47)D->F D_c
(48)D_c->+ F D_c
(49)D_c->- F D_c
(50)D_c->ε
(51)F->G F_c
(52)F_c->* G F_c
(53)F_c->/ G F_c
(54)F_c->% G F_c
(55)F_c->ε
(56)G->bool_val
(57)G->int_val
(58)G->float_val
(59)G->string_val
(60)G->( E )
(61)G->++ var
(62)G->-- var
(63)G->var G_c
(64)G->func_name ( L )
(65)G_c->++
(66)G_c->--
(67)G_c->ε
(68)L->E L_c
(69)L->ε
(70)L_c->, E L_c
(71)L_c->ε

FIRST1:
(1)S->ε  ε
(2)S->function func_name ( Params ) { Block } S function
(3)S->Cmd S { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
(4)Params->var Params_c var
(5)Params->ε  ε
(6)Params_c->, var Params_c ,
(7)Params_c->ε  ε
(8)Cmd->{ Block } {
(9)Cmd->; ;
(10)Cmd->E ; - ! bool_val int_val float_val string_val ( ++ -- var func_name
(11)Cmd->return E ; return
(12)Cmd->break ; break
(13)Cmd->continue ; continue
(14)Cmd->while ( E ) Cmd while
(15)Cmd->for ( Ee ; Ee ; Ee ) Cmd for
(16)Cmd->if ( E ) Cmd Cmd_c if
(17)Cmd_c->else Cmd else
(18)Cmd_c->ε  ε
(19)Block->Cmd Block { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
(20)Block->ε  ε
(21)Ee->E - ! bool_val int_val float_val string_val ( ++ -- var func_name
(22)Ee->ε  ε
(23)E->A E_c bool_val int_val float_val string_val ( ++ -- var func_name
(24)E->- A E_c -
(25)E->! A E_c !
(26)E_c->= A E_c =
(27)E_c->+= A E_c +=
(28)E_c->-= A E_c -=
(29)E_c->*= A E_c *=
(30)E_c->/= A E_c /=
(31)E_c->%= A E_c %=
(32)E_c->ε  ε
(33)A->B A_c bool_val int_val float_val string_val ( ++ -- var func_name
(34)A_c->|| B A_c ||
(35)A_c->ε  ε
(36)B->C B_c bool_val int_val float_val string_val ( ++ -- var func_name
(37)B_c->&& C B_c &&
(38)B_c->ε  ε
(39)C->D C_c bool_val int_val float_val string_val ( ++ -- var func_name
(40)C_c->< D C_c <
(41)C_c->> D C_c >
(42)C_c-><= D C_c <=
(43)C_c->>= D C_c >=
(44)C_c->== D C_c ==
(45)C_c->!= D C_c !=
(46)C_c->ε  ε
(47)D->F D_c bool_val int_val float_val string_val ( ++ -- var func_name
(48)D_c->+ F D_c +
(49)D_c->- F D_c -
(50)D_c->ε  ε
(51)F->G F_c bool_val int_val float_val string_val ( ++ -- var func_name
(52)F_c->* G F_c *
(53)F_c->/ G F_c /
(54)F_c->% G F_c %
(55)F_c->ε  ε
(56)G->bool_val bool_val
(57)G->int_val int_val
(58)G->float_val float_val
(59)G->string_val string_val
(60)G->( E ) (
(61)G->++ var ++
(62)G->-- var --
(63)G->var G_c var
(64)G->func_name ( L ) func_name
(65)G_c->++ ++
(66)G_c->-- --
(67)G_c->ε  ε
(68)L->E L_c - ! bool_val int_val float_val string_val ( ++ -- var func_name
(69)L->ε  ε
(70)L_c->, E L_c ,
(71)L_c->ε  ε

FOLLOW1:
S ε
Params)
Params_c)
Block}
Cmd ε } function else { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
Cmd_c ε } function else { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
Ee; )
E; ) ,
E_c; ) ,
A; ) = += -= *= /= %= ,
A_c; ) = += -= *= /= %= ,
B; ) || = += -= *= /= %= ,
B_c; ) || = += -= *= /= %= ,
C; ) && || = += -= *= /= %= ,
C_c; ) && || = += -= *= /= %= ,
D; ) < > <= >= == != && || = += -= *= /= %= ,
D_c; ) < > <= >= == != && || = += -= *= /= %= ,
F; ) + - < > <= >= == != && || = += -= *= /= %= ,
F_c; ) + - < > <= >= == != && || = += -= *= /= %= ,
G; ) * / % + - < > <= >= == != && || = += -= *= /= %= ,
G_c; ) * / % + - < > <= >= == != && || = += -= *= /= %= ,
L)
L_c)

FIRST1, FOLLOW1:
  FIRST1FOLLOW1
(1)S -> ε ε ε
(2)S -> function func_name ( Params ) { Block } Sfunction
(3)S -> Cmd S{ ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
(4)Params -> var Params_cvar)
(5)Params -> ε ε
(6)Params_c -> , var Params_c,)
(7)Params_c -> ε ε
(8)Cmd -> { Block }{ ε } function else { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
(9)Cmd -> ;;
(10)Cmd -> E ;- ! bool_val int_val float_val string_val ( ++ -- var func_name
(11)Cmd -> return E ;return
(12)Cmd -> break ;break
(13)Cmd -> continue ;continue
(14)Cmd -> while ( E ) Cmdwhile
(15)Cmd -> for ( Ee ; Ee ; Ee ) Cmdfor
(16)Cmd -> if ( E ) Cmd Cmd_cif
(17)Cmd_c -> else Cmdelse ε } function else { ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name
(18)Cmd_c -> ε ε
(19)Block -> Cmd Block{ ; return break continue while for if - ! bool_val int_val float_val string_val ( ++ -- var func_name}
(20)Block -> ε ε
(21)Ee -> E- ! bool_val int_val float_val string_val ( ++ -- var func_name; )
(22)Ee -> ε ε
(23)E -> A E_cbool_val int_val float_val string_val ( ++ -- var func_name; ) ,
(24)E -> - A E_c-
(25)E -> ! A E_c!
(26)E_c -> = A E_c=; ) ,
(27)E_c -> += A E_c+=
(28)E_c -> -= A E_c-=
(29)E_c -> *= A E_c*=
(30)E_c -> /= A E_c/=
(31)E_c -> %= A E_c%=
(32)E_c -> ε ε
(33)A -> B A_cbool_val int_val float_val string_val ( ++ -- var func_name; ) = += -= *= /= %= ,
(34)A_c -> || B A_c||; ) = += -= *= /= %= ,
(35)A_c -> ε ε
(36)B -> C B_cbool_val int_val float_val string_val ( ++ -- var func_name; ) || = += -= *= /= %= ,
(37)B_c -> && C B_c&&; ) || = += -= *= /= %= ,
(38)B_c -> ε ε
(39)C -> D C_cbool_val int_val float_val string_val ( ++ -- var func_name; ) && || = += -= *= /= %= ,
(40)C_c -> < D C_c<; ) && || = += -= *= /= %= ,
(41)C_c -> > D C_c>
(42)C_c -> <= D C_c<=
(43)C_c -> >= D C_c>=
(44)C_c -> == D C_c==
(45)C_c -> != D C_c!=
(46)C_c -> ε ε
(47)D -> F D_cbool_val int_val float_val string_val ( ++ -- var func_name; ) < > <= >= == != && || = += -= *= /= %= ,
(48)D_c -> + F D_c+; ) < > <= >= == != && || = += -= *= /= %= ,
(49)D_c -> - F D_c-
(50)D_c -> ε ε
(51)F -> G F_cbool_val int_val float_val string_val ( ++ -- var func_name; ) + - < > <= >= == != && || = += -= *= /= %= ,
(52)F_c -> * G F_c*; ) + - < > <= >= == != && || = += -= *= /= %= ,
(53)F_c -> / G F_c/
(54)F_c -> % G F_c%
(55)F_c -> ε ε
(56)G -> bool_valbool_val; ) * / % + - < > <= >= == != && || = += -= *= /= %= ,
(57)G -> int_valint_val
(58)G -> float_valfloat_val
(59)G -> string_valstring_val
(60)G -> ( E )(
(61)G -> ++ var++
(62)G -> -- var--
(63)G -> var G_cvar
(64)G -> func_name ( L )func_name
(65)G_c -> ++++; ) * / % + - < > <= >= == != && || = += -= *= /= %= ,
(66)G_c -> ----
(67)G_c -> ε ε
(68)L -> E L_c- ! bool_val int_val float_val string_val ( ++ -- var func_name)
(69)L -> ε ε
(70)L_c -> , E L_c,)
(71)L_c -> ε ε

Rozkladová tabulka pro LL(1) analyzátor:
 functionreturnifelsewhileforbreakcontinuevarfunc_name{}(),;!=+=-=*=/=%=||&&<><=>===!=+-*/%bool_valint_valfloat_valstring_val++--ε
Sfunction func_name ( Params ) { Block } S, 2Cmd S, 3Cmd S, 3 Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3 Cmd S, 3  Cmd S, 3Cmd S, 3               Cmd S, 3   Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3Cmd S, 3ε, 1
Params        var Params_c, 4    ε, 5                             
Params_c             ε, 7, var Params_c, 6                            
Block Cmd Block, 19Cmd Block, 19 Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19ε, 20Cmd Block, 19  Cmd Block, 19Cmd Block, 19               Cmd Block, 19   Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19Cmd Block, 19 
Cmd return E ;, 11if ( E ) Cmd Cmd_c, 16 while ( E ) Cmd, 14for ( Ee ; Ee ; Ee ) Cmd, 15break ;, 12continue ;, 13E ;, 10E ;, 10{ Block }, 8 E ;, 10  ;, 9E ;, 10               E ;, 10   E ;, 10E ;, 10E ;, 10E ;, 10E ;, 10E ;, 10 
Cmd_cε, 18ε, 18ε, 18else Cmd, 17
ε, 18
ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18  ε, 18ε, 18               ε, 18   ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18ε, 18
Ee        E, 21E, 21  E, 21ε, 22 ε, 22E, 21               E, 21   E, 21E, 21E, 21E, 21E, 21E, 21 
E        A E_c, 23A E_c, 23  A E_c, 23   ! A E_c, 25               - A E_c, 24   A E_c, 23A E_c, 23A E_c, 23A E_c, 23A E_c, 23A E_c, 23 
E_c             ε, 32ε, 32ε, 32 = A E_c, 26+= A E_c, 27-= A E_c, 28*= A E_c, 29/= A E_c, 30%= A E_c, 31                    
A        B A_c, 33B A_c, 33  B A_c, 33                       B A_c, 33B A_c, 33B A_c, 33B A_c, 33B A_c, 33B A_c, 33 
A_c             ε, 35ε, 35ε, 35 ε, 35ε, 35ε, 35ε, 35ε, 35ε, 35|| B A_c, 34                   
B        C B_c, 36C B_c, 36  C B_c, 36                       C B_c, 36C B_c, 36C B_c, 36C B_c, 36C B_c, 36C B_c, 36 
B_c             ε, 38ε, 38ε, 38 ε, 38ε, 38ε, 38ε, 38ε, 38ε, 38ε, 38&& C B_c, 37                  
C        D C_c, 39D C_c, 39  D C_c, 39                       D C_c, 39D C_c, 39D C_c, 39D C_c, 39D C_c, 39D C_c, 39 
C_c             ε, 46ε, 46ε, 46 ε, 46ε, 46ε, 46ε, 46ε, 46ε, 46ε, 46ε, 46< D C_c, 40> D C_c, 41<= D C_c, 42>= D C_c, 43== D C_c, 44!= D C_c, 45            
D        F D_c, 47F D_c, 47  F D_c, 47                       F D_c, 47F D_c, 47F D_c, 47F D_c, 47F D_c, 47F D_c, 47 
D_c             ε, 50ε, 50ε, 50 ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50ε, 50+ F D_c, 48- F D_c, 49          
F        G F_c, 51G F_c, 51  G F_c, 51                       G F_c, 51G F_c, 51G F_c, 51G F_c, 51G F_c, 51G F_c, 51 
F_c             ε, 55ε, 55ε, 55 ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55ε, 55* G F_c, 52/ G F_c, 53% G F_c, 54       
G        var G_c, 63func_name ( L ), 64  ( E ), 60                       bool_val, 56int_val, 57float_val, 58string_val, 59++ var, 61-- var, 62 
G_c             ε, 67ε, 67ε, 67 ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67ε, 67    ++, 65--, 66 
L        E L_c, 68E L_c, 68  E L_c, 68ε, 69  E L_c, 68               E L_c, 68   E L_c, 68E L_c, 68E L_c, 68E L_c, 68E L_c, 68E L_c, 68 
L_c             ε, 71, E L_c, 70