File: lr-build-conflicts.test

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (44 lines) | stat: -rw-r--r-- 1,493 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
_ := expr
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 :=  • expr - expr
# GRAPH-NEXT:     _ :=  • expr
# GRAPH-NEXT:     expr :=  • IDENTIFIER
# GRAPH-NEXT: State 1
# GRAPH-NEXT:     _ := expr • 
# GRAPH-NEXT:     expr := expr • - expr
# GRAPH-NEXT: State 2
# GRAPH-NEXT:     expr := IDENTIFIER • 
# GRAPH-NEXT: State 3
# GRAPH-NEXT:     expr :=  • expr - expr
# GRAPH-NEXT:     expr := expr - • expr
# GRAPH-NEXT:     expr :=  • IDENTIFIER
# GRAPH-NEXT: State 4
# GRAPH-NEXT:     expr := expr - expr • 
# GRAPH-NEXT:     expr := expr • - expr
# GRAPH-NEXT: 0 ->[expr] 1
# GRAPH-NEXT: 0 ->[IDENTIFIER] 2
# GRAPH-NEXT: 1 ->[-] 3
# GRAPH-NEXT: 3 ->[expr] 4
# GRAPH-NEXT: 3 ->[IDENTIFIER] 2
# GRAPH-NEXT: 4 ->[-] 3

# 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:     -: shift state 3
# TABLE-NEXT: State 2
# TABLE-NEXT:     EOF -: reduce by rule 1 'expr := IDENTIFIER'
# TABLE-NEXT: State 3
# TABLE-NEXT:     IDENTIFIER: shift state 2
# TABLE-NEXT:     expr: go to state 4
# TABLE-NEXT: State 4
# TABLE-NEXT:     -: shift state 3
# TABLE-NEXT:     EOF -: reduce by rule 0 'expr := expr - expr'