summaryrefslogtreecommitdiff
path: root/web/yacco2/qa/lr1_pa2.lex
blob: b13131723beaeb3f085970faa95c3b0971802c1e (plain)
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
/*
$echo 	FILE:	LR1_pa2.lex
$echo 	A LR1 GRAMMAR FROM
$echo 		ACTA INFORMATICA 7 249-268(1977)
$echo 		A PRACTICAL GENERAL METHOD FOR CONSTRUCTING LR(K) PARSERS
$echo 			BY DAVID PAGER
$echo 		P. 259 GRAMMAR G3
$echo Okay
*/
/@
@** |LR1_pa2| grammar.\fbreak
	A LR1 GRAMMAR FROM
		ACTA INFORMATICA 7 249-268(1977)
		A PRACTICAL GENERAL METHOD FOR CONSTRUCTING LR(K) PARSERS
			BY DAVID PAGER
		P. 259 GRAMMAR G3
@/
fsm(fsm-id    "lr1_pa2.lex",fsm-filename lr1_pa2,fsm-namespace NS_lr1_pa2
   ,fsm-class Clr1_pa2_rul_fsm
   ,fsm-version "1.0",fsm-date     "8-oct-96"
   ,fsm-debug   "true",fsm-comments "test out lr1")
@"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T"
rules
{
  Rlr1_pa2(){ 
      -> RX eog 
    }

  RX(){ 
      -> a  RY d 
      -> a  RZ c 
      -> b  RY e 
      -> b  RZ d 
    }

  RY(){ 
      -> t  u  v 
    }

  RZ(){ 
      -> t  u  w 
    }
}	// end of grammar