From 7b4adc611d65915eaf8c62b47975b48327a9f83f Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Thu, 17 Dec 2020 14:47:27 +1100 Subject: Very very rough notes on curtailment issues --- minustrace.txt | 188 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 minustrace.txt (limited to 'minustrace.txt') diff --git a/minustrace.txt b/minustrace.txt new file mode 100644 index 0000000..0fb4046 --- /dev/null +++ b/minustrace.txt @@ -0,0 +1,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: -- cgit