-
-臺中市\\\@
-
-公園
-@1+2==3;
-
-console.log("122");@
-
-山頂
-`;
-
-
-const PROG = p.rule<TokenKind, tkTree>();
-const SEGMENT = p.rule<TokenKind, tkTree>();
-const IMPORT = p.rule<TokenKind, tkTree>();
-const IMPORTS = p.rule<TokenKind, tkTree>();
-const SEMICOLON = p.rule<TokenKind, tkTree>();
-const EXCAPE_AT = p.rule<TokenKind, tkTree>();
-const NOT_AT_TEXT = p.rule<TokenKind, tkTree>();
-const CONTENT = p.rule<TokenKind, tkTree>();
-
-let doubleMinus = { type: 'Punctuator', value: '--' };
-let doubleMinus2 = p.str('--');
-const TERM = p.rule<TokenKind, tkTree>();
-
-function applySegment(input: [Token<TokenKind>, Token<TokenKind>[],
- Token<TokenKind>]): tkTree[]{
- let unpackedInnerExprs = input[1].map((x)=>{return x.text});
- return ["%exprs", unpackedInnerExprs];
-}
-
-function applySemiColon(value: Token<TokenKind.Semicolon>): tkTree{
- return value.text;
-}
-
-function applyParts(first: tkTree,
- second: [Token<TokenKind>, tkTree]):tkTree {
- return ["%clo", first , second[1]];
-}
-
-
-function applyComment(value: Token<TokenKind.Comment>): tkTree[]{
- return [value.text];
-}
-
-
-function applyImport(input: [Token<TokenKind>,Token<TokenKind>[], tkTree]) : tkTree{
- let importTail = input[1].map(x=>x.text);
- return ["import"].concat(importTail);
-};
-
-
-/*
-function applyImportComment(input: [Token<TokenKind>,Token<TokenKind>[],
- tkTree, Token<TokenKind.Comment>]) : tkTree{
- let importTail = input[1].map(x=>x.text);
- let comment = [input[3].text];
- return ["import"].concat(importTail).concat(comment);
-};*/
-
-function applyImports(input : [tkTree, tkTree[]]): tkTree{
- let resultBody = [input[0]].concat(input[1]);
- let resultWrapper = ["%import", resultBody];
- return resultWrapper;
-};
-