blob: 0fb4046ab149680728c6180c2b30411bbbed3947 (
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
ENTERING SEQUENCE P1 D1 Expr
BEGIN STAMP SUM P1 D1 Sum
ENTERING CHOICE P1 D1 Sum_Choice
OPTION 1 CHOICE P1 D1 Sum_Choice
ENTERING SEQUENCE P1 D1 Sum_Plus
BEGIN STAMP SUM P1 D2 Sum
ENTERING CHOICE P1 D2 Sum_Choice
OPTION 1 CHOICE P1 D2 Sum_Choice
ENTERING SEQUENCE P1 D2 Sum_Plus
BEGIN STAMP SUM P1 D3 Sum
ENTERING CHOICE P1 D3 Sum_Choice
OPTION 1 CHOICE P1 D3 Sum_Choice
ENTERING SEQUENCE P1 D3 Sum_Plus
BEGIN STAMP SUM P1 D4 Sum
ENTERING CHOICE P1 D4 Sum_Choice
OPTION 1 CHOICE P1 D4 Sum_Choice
ENTERING SEQUENCE P1 D4 Sum_Plus
BEGIN STAMP SUM P1 D5 Sum
ENTERING CHOICE P1 D5 Sum_Choice
OPTION 1 CHOICE P1 D5 Sum_Choice
ENTERING SEQUENCE P1 D5 Sum_Plus
BEGIN STAMP SUM P1 D6 Sum
ENTERING CHOICE P1 D6 Sum_Choice
OPTION 1 CHOICE P1 D6 Sum_Choice
ENTERING SEQUENCE P1 D6 Sum_Plus
BEGIN STAMP SUM P1 D7 Sum
CURTAILING AT P1 D7
STORING FAILURE C7 Sum p1 d7 Fail c7
FAIL STAMP SUM P1 D7 Sum
STORING FAILURE C7 Sum_Plus p1 d6 Fail (Sum c7)
FAILED SEQUENCE P1 D6 Sum_Plus
OPTION 2 CHOICE P1 D6 Sum_Choice
ENTERING SEQUENCE P1 D1 Sum_Minus
BEGIN STAMP SUM P1 D7 Sum
REUSING FAILURE C7 Reuse Sum p1 d7 Fail c7
FAIL STAMP SUM P1 D7 Sum
STORING FAILURE C7 Sum_Minus p1 d1 Fail (Sum c7)
FAILED SEQUENCE P1 D1 Sum_Minus
OPTION 3 CHOICE P1 D6 Sum_Choice
BEGIN STAMP FACTOR P1 D1 Factor
ENTERING SATISFY P1 Sat_Number
STORING SUCCESS 1 Sat_Number p1 Success
SUCCESS SATISFY P1 Sat_Number
STORING SUCCESS 1 Factor p1 d1 Success
SUCCESS STAMP FACTOR P1 D1 Factor
STORING SUCCESS 1 Sum_Choice p1 d6 Success 1
SUCCESS CHOICE 1 P1 D6 Sum_Choice
UPDATING FAILURE C7 WITH SUCCESS 1 Update Sum p1 d6 Success 1
SUCCESS STAMP SUM P1 D6 Sum
CONT SEQUENCE P1 D5 Sum_Plus
ENTERING SATISFY P2 Sat_Plus
STORING FAILURE Sat_Plus p2 Fail
FAILED SATISFY P2 Sat_Plus
UPDATING FAILURE C7 WITH FAILURE Update Sum_Plus p1 d5 Fail
FAILED SEQUENCE P1 D5 Sum_Plus
OPTION 2 CHOICE P1 D5 Sum_Choice
ENTERING SEQUENCE P1 D1 Sum_Minus
NOT REUSABLE FAILURE C7 Ignore Sum_Minus p1 d1 (Sum c7) Fail
BEGIN STAMP SUM P1 D6 Sum
REUSING SUCCESS 1 Reuse Sum p1 d6 Success 1
SUCCESS STAMP SUM P1 D6 Sum
CONT SEQUENCE P1 D1 Sum_Minus
ENTERING SATISFY P2 Sat_Minus
STORING SUCCESS 2 Sat_Minus p2 Success 2
SUCCESS SATISFY P2 Sat_Minus
CONT SEQUENCE P1 D1 Sum_Minus
BEGIN STAMP FACTOR P3 D1 Factor
ENTERING SATISFY P3 Sat_Number
STORING SUCCESS 3 Sat_Number p3 Success
SUCCESS SATISFY P3 Sat_Number
STORING SUCCESS 3 Factor p3 d1 Success
SUCCESS STAMP FACTOR P3 D1 Factor
UPDATING FAILURE C7 WITH SUCCESS 3 Update Sum_Minus p1 d1 Success 3
SUCCESS SEQUENCE 3 P1 D1 Sum_Minus
OPTION 3 CHOICE P1 D5 Sum_Choice
BEGIN STAMP FACTOR P1 D1 Factor
REUSING SUCCESS 1 Reuse Factor p1 d1 Success 1
SUCCESS STAMP FACTOR P1 D1 Factor
UPDATING SUCCESS 1 WITH SUCCESS 1 3 Update Sum_Choice p1 d5 Success 1 3
SUCCESS CHOICE 1 3 P1 D5 Sum_Choice
UPDATING SUCCESS 1 WITH SUCCESS 1 3 Update Sum p1 d5 Success 1 3
SUCCESS STAMP SUM P1 D5 Sum
CONT SEQUENCE P1 D4 Sum_Plus
ENTERING SATISFY P2 Sat_Plus p2
REUSING FAILURE Reuse Sat_Plus p2 Fail
FAILED SATISFY P2 Sat_Plus p2
ENTERING SATISFY P4 Sat_Plus p4
STORING FAILURE Sat_Plus p4 Fail
FAILED SATISFY P4 Sat_Plus p4
UPDATING FAILURE WITH FAILURE Update Sum_Plus p1 d4 Fail
FAILED SEQUENCE P1 D4 Sum_Plus
OPTION 2 CHOICE P1 D4 Sum_Choice
ENTERING SEQUENCE P1 D1 Sum_Minus
REUSING SUCCESS 3 Reuse Sum_Minus p1 d1 Success 3 Is this right?
SUCCESS SEQUENCE 3 P1 D1 Sum_Minus
OPTION 3 CHOICE P1 D4 Sum_Choice
BEGIN STAMP FACTOR P1 D1 Factor
REUSING SUCCESS 1 Reuse Factor p1 d1 Success 1
SUCCESS STAMP FACTOR P1 D1 Factor
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3 Update Sum_Choice p1 d4 Success 1 3
SUCCESS CHOICE 1 3 P1 D4 Sum_Choice
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3 Update Sum p1 d4 Success 1 3
SUCCESS STAMP SUM P1 D4 Sum
CONT SEQUENCE P1 D3 Sum_Plus
ENTERING SATISFY P2 Sat_Plus p2
REUSING FAILURE Reuse Sat_Plus p2 Fail
FAILED SATISFY P2 Sat_Plus p2
ENTERING SATISFY P4 Sat_Plus p4
REUSING FAILURE Reuse Sat_Plus p4 Fail
FAILED SATISFY P4 Sat_Plus p4
UPDATING FAILURE WITH FAILURE Update Sum_Plus p1 d3 Fail
FAILED SEQUENCE P1 D3 Sum_Plus
OPTION 2 CHOICE P1 D3
ENTERING SEQUENCE P1 D1
REUSING SUCCESS 3
SUCCESS SEQUENCE 3 P1 D1
OPTION 3 CHOICE P1 D3
BEGIN STAMP FACTOR P1 D1
REUSING SUCCESS 1
SUCCESS STAMP FACTOR P1 D1
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS CHOICE 1 3 P1 D3
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS STAMP SUM P1 D3
CONT SEQUENCE P1 D2
ENTERING SATISFY P2
REUSING FAILURE
FAILED SATISFY P2
ENTERING SATISFY P4
REUSING FAILURE
FAILED SATISFY P4
UPDATING FAILURE WITH FAILURE
FAILED SEQUENCE P1 D2
OPTION 2 CHOICE P1 D2
ENTERING SEQUENCE P1 D1
REUSING SUCCESS 3
SUCCESS SEQUENCE 3 P1 D1
OPTION 3 CHOICE P1 D2
BEGIN STAMP FACTOR P1 D1
REUSING SUCCESS 1
SUCCESS STAMP FACTOR P1 D1
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS CHOICE 1 3 P1 D2
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS STAMP SUM P1 D2
CONT SEQUENCE P1 D1
ENTERING SATISFY P2
REUSING FAILURE
FAILED SATISFY P2
ENTERING SATISFY P4
REUSING FAILURE
FAILED SATISFY P4
UPDATING FAILURE WITH FAILURE
FAILED SEQUENCE P1 D1
OPTION 2 CHOICE P1 D1
ENTERING SEQUENCE P1 D1
REUSING SUCCESS 3
SUCCESS SEQUENCE 3 P1 D1
OPTION 3 CHOICE P1 D1
BEGIN STAMP FACTOR P1 D1
REUSING SUCCESS 1
SUCCESS STAMP FACTOR P1 D1
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS CHOICE 1 3 P1 D1
UPDATING SUCCESS 1 3 WITH SUCCESS 1 3
SUCCESS STAMP SUM P1 D1
CONT SEQUENCE P1 D1
FAILED END OF INPUT AT POSITION 2
FAILED END OF INPUT AT POSITION 4
STORING FAILURE
FAILED SEQUENCE P1 D1
STARTING FINISH ROOT
BREAKPOINT ONE REACHED
ABOUT TO RETURN EMPTY GRAPH
Input:
1 - 2 - 3
Lexer token output:
Token NUMBER at input position 1 with value length 1
Token OPERATOR at input position 3 with value length 1
Token NUMBER at input position 5 with value length 1
Token OPERATOR at input position 7 with value length 1
Token NUMBER at input position 9 with value length 1
Parser graph output:
Root tokens:
|