diff options
Add foldable blocks in Golang 2 highlighter (#33)
* initial commit
* Add implementation using concatenation
* Added block collapsing
* Finish block collapsing
* Fix nested blocks and + -> - when collapsing
* Remove unnecessary files.
* Add readme
1 files changed, 274 insertions, 0 deletions
| -rw-r--r-- | homework/81319/golang2html_code_fold/parser.output | 274 |
diff --git a/homework/81319/golang2html_code_fold/parser.output b/homework/81319/golang2html_code_fold/parser.output new file mode 100644 index 0000000..8722eaf --- /dev/null +++ b/homework/81319/golang2html_code_fold/parser.output @@ -0,0 +1,274 @@ +State 13 conflicts: 8 shift/reduce + + +Grammar + + 0 $accept: input $end + + 1 input: /* empty */ + 2 | expr_list + + 3 expr_list: expr expr_list + 4 | expr + + 5 expr: token_sequence + 6 | LCURLY expr_list RCURLY + 7 | LCURLY RCURLY + + 8 token_sequence: token_sequence token + 9 | token + + 10 token: NUMBER + 11 | KEYWORD + 12 | STRING + 13 | STRING_DQ + 14 | IDENTIFIER + 15 | OPERATOR + 16 | MISC + 17 | UNRECOGNIZED + + +Terminals, with rules where they appear + +$end (0) 0 +error (256) +NUMBER (258) 10 +KEYWORD (259) 11 +STRING (260) 12 +STRING_DQ (261) 13 +IDENTIFIER (262) 14 +OPERATOR (263) 15 +MISC (264) 16 +UNRECOGNIZED (265) 17 +LCURLY (266) 6 7 +RCURLY (267) 6 7 + + +Nonterminals, with rules where they appear + +$accept (13) + on left: 0 +input (14) + on left: 1 2, on right: 0 +expr_list (15) + on left: 3 4, on right: 2 3 6 +expr (16) + on left: 5 6 7, on right: 3 4 +token_sequence (17) + on left: 8 9, on right: 5 8 +token (18) + on left: 10 11 12 13 14 15 16 17, on right: 8 9 + + +state 0 + + 0 $accept: . input $end + + NUMBER shift, and go to state 1 + KEYWORD shift, and go to state 2 + STRING shift, and go to state 3 + STRING_DQ shift, and go to state 4 + IDENTIFIER shift, and go to state 5 + OPERATOR shift, and go to state 6 + MISC shift, and go to state 7 + UNRECOGNIZED shift, and go to state 8 + LCURLY shift, and go to state 9 + + $default reduce using rule 1 (input) + + input go to state 10 + expr_list go to state 11 + expr go to state 12 + token_sequence go to state 13 + token go to state 14 + + +state 1 + + 10 token: NUMBER . + + $default reduce using rule 10 (token) + + +state 2 + + 11 token: KEYWORD . + + $default reduce using rule 11 (token) + + +state 3 + + 12 token: STRING . + + $default reduce using rule 12 (token) + + +state 4 + + 13 token: STRING_DQ . + + $default reduce using rule 13 (token) + + +state 5 + + 14 token: IDENTIFIER . + + $default reduce using rule 14 (token) + + +state 6 + + 15 token: OPERATOR . + + $default reduce using rule 15 (token) + + +state 7 + + 16 token: MISC . + + $default reduce using rule 16 (token) + + +state 8 + + 17 token: UNRECOGNIZED . + + $default reduce using rule 17 (token) + + +state 9 + + 6 expr: LCURLY . expr_list RCURLY + 7 | LCURLY . RCURLY + + NUMBER shift, and go to state 1 + KEYWORD shift, and go to state 2 + STRING shift, and go to state 3 + STRING_DQ shift, and go to state 4 + IDENTIFIER shift, and go to state 5 + OPERATOR shift, and go to state 6 + MISC shift, and go to state 7 + UNRECOGNIZED shift, and go to state 8 + LCURLY shift, and go to state 9 + RCURLY shift, and go to state 15 + + expr_list go to state 16 + expr go to state 12 + token_sequence go to state 13 + token go to state 14 + + +state 10 + + 0 $accept: input . $end + + $end shift, and go to state 17 + + +state 11 + + 2 input: expr_list . + + $default reduce using rule 2 (input) + + +state 12 + + 3 expr_list: expr . expr_list + 4 | expr . + + NUMBER shift, and go to state 1 + KEYWORD shift, and go to state 2 + STRING shift, and go to state 3 + STRING_DQ shift, and go to state 4 + IDENTIFIER shift, and go to state 5 + OPERATOR shift, and go to state 6 + MISC shift, and go to state 7 + UNRECOGNIZED shift, and go to state 8 + LCURLY shift, and go to state 9 + + $default reduce using rule 4 (expr_list) + + expr_list go to state 18 + expr go to state 12 + token_sequence go to state 13 + token go to state 14 + + +state 13 + + 5 expr: token_sequence . + 8 token_sequence: token_sequence . token + + NUMBER shift, and go to state 1 + KEYWORD shift, and go to state 2 + STRING shift, and go to state 3 + STRING_DQ shift, and go to state 4 + IDENTIFIER shift, and go to state 5 + OPERATOR shift, and go to state 6 + MISC shift, and go to state 7 + UNRECOGNIZED shift, and go to state 8 + + NUMBER [reduce using rule 5 (expr)] + KEYWORD [reduce using rule 5 (expr)] + STRING [reduce using rule 5 (expr)] + STRING_DQ [reduce using rule 5 (expr)] + IDENTIFIER [reduce using rule 5 (expr)] + OPERATOR [reduce using rule 5 (expr)] + MISC [reduce using rule 5 (expr)] + UNRECOGNIZED [reduce using rule 5 (expr)] + $default reduce using rule 5 (expr) + + token go to state 19 + + +state 14 + + 9 token_sequence: token . + + $default reduce using rule 9 (token_sequence) + + +state 15 + + 7 expr: LCURLY RCURLY . + + $default reduce using rule 7 (expr) + + +state 16 + + 6 expr: LCURLY expr_list . RCURLY + + RCURLY shift, and go to state 20 + + +state 17 + + 0 $accept: input $end . + + $default accept + + +state 18 + + 3 expr_list: expr expr_list . + + $default reduce using rule 3 (expr_list) + + +state 19 + + 8 token_sequence: token_sequence token . + + $default reduce using rule 8 (token_sequence) + + +state 20 + + 6 expr: LCURLY expr_list RCURLY . + + $default reduce using rule 6 (expr) |
