_ := expr EOF expr := expr - expr # S/R conflict at state 4 on '-' token expr := IDENTIFIER # RUN: clang-pseudo -grammar %s -print-graph | FileCheck %s --check-prefix=GRAPH # GRAPH: States # GRAPH-NEXT: State 0 # GRAPH-NEXT: _ := • expr EOF # GRAPH-NEXT: expr := • expr - expr # GRAPH-NEXT: expr := • IDENTIFIER # GRAPH-NEXT: State 1 # GRAPH-NEXT: _ := expr • EOF # GRAPH-NEXT: expr := expr • - expr # GRAPH-NEXT: State 2 # GRAPH-NEXT: expr := IDENTIFIER • # GRAPH-NEXT: State 3 # GRAPH-NEXT: _ := expr EOF • # GRAPH-NEXT: State 4 # GRAPH-NEXT: expr := • expr - expr # GRAPH-NEXT: expr := expr - • expr # GRAPH-NEXT: expr := • IDENTIFIER # GRAPH-NEXT: State 5 # GRAPH-NEXT: expr := expr - expr • # GRAPH-NEXT: expr := expr • - expr # GRAPH-NEXT: 0 ->[expr] 1 # GRAPH-NEXT: 0 ->[IDENTIFIER] 2 # GRAPH-NEXT: 1 ->[EOF] 3 # GRAPH-NEXT: 1 ->[-] 4 # GRAPH-NEXT: 4 ->[expr] 5 # GRAPH-NEXT: 4 ->[IDENTIFIER] 2 # GRAPH-NEXT: 5 ->[-] 4 # RUN: clang-pseudo -grammar %s -print-table | FileCheck %s --check-prefix=TABLE # TABLE: LRTable: # TABLE-NEXT: State 0 # TABLE-NEXT: IDENTIFIER: shift state 2 # TABLE-NEXT: expr: go to state 1 # TABLE-NEXT: State 1 # TABLE-NEXT: EOF: shift state 3 # TABLE-NEXT: -: shift state 4 # TABLE-NEXT: State 2 # TABLE-NEXT: EOF -: reduce by rule 2 'expr := IDENTIFIER' # TABLE-NEXT: State 3 # TABLE-NEXT: State 4 # TABLE-NEXT: IDENTIFIER: shift state 2 # TABLE-NEXT: expr: go to state 5 # TABLE-NEXT: State 5 # TABLE-NEXT: -: shift state 4 # TABLE-NEXT: EOF -: reduce by rule 1 'expr := expr - expr'