test/sexpression/Grammar.hs:(42,5)-(77,2): Splicing declarations Language.Haskell.TH.Quote.quoteDec g4 "\n\ \ grammar Sexpression;\n\ \\n\ \ sexpr\n\ \ : item*\n\ \ ;\n\ \\n\ \ item\n\ \ : atom -> ${\\a -> Atm a}\n\ \ | list -> List\n\ \ | '(' item '.' item ')' -> Field\n\ \ ;\n\ \\n\ \ list\n\ \ : '(' item* ')'\n\ \ ;\n\ \\n\ \ atom\n\ \ : STRING -> Str\n\ \ | SYMBOL -> Symb\n\ \ | NUMBER -> Number\n\ \ ;\n\ \\n\ \ STRING : '\"' ( ('\\\\' .) | ~ [\"\\\\] )* '\"' -> String;\n\ \\n\ \ WHITESPACE : [ \\n\\t\\r]+ -> String;\n\ \\n\ \ NUMBER : ('+' | '-')? DIGIT+ ('.' DIGIT+)? -> Double;\n\ \\n\ \ SYMBOL : SYMBOL_START (SYMBOL_START | DIGIT)* -> String;\n\ \\n\ \ fragment SYMBOL_START : [a-zA-Z+\\-*/] ;\n\ \\n\ \ fragment DIGIT : [0-9] ;\n\ \\n" ======> data SexpressionNTSymbol = NT_sexpr | NT_item | NT_atom | NT_list | NT_item_star deriving (Eq, Ord, Show, Hashable, Generic, Bounded, Enum, Data, Lift) data SexpressionTSymbol = T_0 | T_1 | T_2 | T_STRING | T_WHITESPACE | T_NUMBER | T_SYMBOL deriving (Eq, Ord, Show, Hashable, Generic, Bounded, Enum, Data, Lift) sexpressionGrammar' :: Prettify s_a7nA => Grammar s_a7nA SexpressionNTSymbol SexpressionTSymbol sexpressionGrammar' = defaultGrammar NT_sexpr :: Grammar s_a7nA SexpressionNTSymbol SexpressionTSymbol {ns = Data.HashSet.fromList [minBound .. maxBound :: SexpressionNTSymbol], ts = Data.HashSet.fromList [minBound .. maxBound :: SexpressionTSymbol], ps = [(Production NT_sexpr) ((Prod Pass) [NT NT_item_star]), (Production NT_item) ((Prod Pass) [NT NT_atom]), (Production NT_item) ((Prod Pass) [NT NT_list]), (Production NT_item) ((Prod Pass) [T T_0, NT NT_item, T T_1, NT NT_item, T T_2]), (Production NT_list) ((Prod Pass) [T T_0, NT NT_item_star, T T_2]), (Production NT_atom) ((Prod Pass) [T T_STRING]), (Production NT_atom) ((Prod Pass) [T T_SYMBOL]), (Production NT_atom) ((Prod Pass) [T T_NUMBER]), (Production NT_item_star) ((Prod Pass) [NT NT_item, NT NT_item_star]), (Production NT_item_star) ((Prod Pass) [NT NT_item]), (Production NT_item_star) ((Prod Pass) [Eps]), (Production NT_item_star) ((Prod Pass) [NT NT_item, NT NT_item_star]), (Production NT_item_star) ((Prod Pass) [NT NT_item]), (Production NT_item_star) ((Prod Pass) [Eps])]} sexpressionGrammar :: Grammar () SexpressionNTSymbol SexpressionTSymbol sexpressionGrammar = Text.ANTLR.LL1.removeEpsilons sexpressionGrammar' type TokenName = SexpressionTSymbol data TokenValue = V_STRING String | V_WHITESPACE String | V_NUMBER Double | V_SYMBOL String | V_0 | V_1 | V_2 deriving (Show, Ord, Eq, Generic, Hashable, Data) prettifyT_a7ny T_0 = pStr "'('" prettifyT_a7ny T_1 = pStr "'.'" prettifyT_a7ny T_2 = pStr "')'" prettifyT_a7ny T_STRING = pStr "STRING" prettifyT_a7ny T_WHITESPACE = pStr "WHITESPACE" prettifyT_a7ny T_NUMBER = pStr "NUMBER" prettifyT_a7ny T_SYMBOL = pStr "SYMBOL" prettifyValue_a7nz V_0 = pStr "'('" prettifyValue_a7nz V_1 = pStr "'.'" prettifyValue_a7nz V_2 = pStr "')'" prettifyValue_a7nz (V_STRING v) = (((pChr '\'') >> (prettify v)) >> (pChr '\'')) prettifyValue_a7nz (V_WHITESPACE v) = (((pChr '\'') >> (prettify v)) >> (pChr '\'')) prettifyValue_a7nz (V_NUMBER v) = (((pChr '\'') >> (prettify v)) >> (pChr '\'')) prettifyValue_a7nz (V_SYMBOL v) = (((pChr '\'') >> (prettify v)) >> (pChr '\'')) instance Prettify SexpressionNTSymbol where prettify = rshow instance Prettify SexpressionTSymbol where prettify = prettifyT_a7ny instance Prettify TokenValue where prettify = prettifyValue_a7nz lookupToken "(" = ((Token T_0) V_0) 1 lookupToken "." = ((Token T_1) V_1) 1 lookupToken ")" = ((Token T_2) V_2) 1 lookupToken s = error ("Error: '" ++ (s ++ "' is not a token")) lexeme2value l T_0 = V_0 lexeme2value l T_1 = V_1 lexeme2value l T_2 = V_2 lexeme2value l T_STRING = V_STRING l lexeme2value l T_WHITESPACE = V_WHITESPACE l lexeme2value l T_NUMBER = V_NUMBER ((Language.ANTLR4.Boot.Quote.trace l) (read l :: Double)) lexeme2value l T_SYMBOL = V_SYMBOL l sexpressionRegexes = [(T_0, Symbol '('), (T_1, Symbol '.'), (T_2, Symbol ')'), (T_STRING, Concat [Symbol '"', Kleene (Concat [MultiUnion [Concat [Symbol '\\', NotClass []], NotClass ""\\"]]), Symbol '"']), (T_WHITESPACE, Concat [PosClos (Class " ")]), (T_NUMBER, Concat [Question (Concat [MultiUnion [Symbol '+', Symbol '-']]), PosClos (Concat [Class "0123456789"]), Question (Concat [Symbol '.', PosClos (Concat [Class "0123456789"])])]), (T_SYMBOL, Concat [Concat [Class "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/"], Kleene (Concat [MultiUnion [Concat [Class "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/"], Concat [Class "0123456789"]]])])] sexpressionDFAs = (map (fst &&& (regex2dfa . snd))) sexpressionRegexes type SexpressionAST = AST SexpressionNTSymbol SexpressionToken type SexpressionToken = Token SexpressionTSymbol TokenValue instance Ref SexpressionNTSymbol where type Sym SexpressionNTSymbol = SexpressionNTSymbol getSymbol = id tokenize_a7nF :: String -> [SexpressionToken] tokenize_a7nF = (tokenize sexpressionDFAs) lexeme2value slrParse_a7nE :: [SexpressionToken] -> LRResult (Text.ANTLR.LR.CoreSLRState SexpressionNTSymbol (StripEOF (Sym SexpressionToken))) SexpressionToken SexpressionAST slrParse_a7nE = (Text.ANTLR.LR.slrParse sexpressionGrammar) event2ast glrParse_a7nD :: (TokenName -> Bool) -> [Char] -> Text.ANTLR.LR.LR1Result Int Char SexpressionAST glrParse_a7nD filterF_a7nG = ((Text.ANTLR.LR.glrParseInc2 sexpressionGrammar) event2ast) (((tokenizeInc filterF_a7nG) sexpressionDFAs) lexeme2value) instance Text.ANTLR.Allstar.ParserGenerator.Token SexpressionToken where type Text.ANTLR.Allstar.ParserGenerator.Label SexpressionToken = StripEOF (Sym SexpressionToken) type Text.ANTLR.Allstar.ParserGenerator.Literal SexpressionToken = TokenValue Text.ANTLR.Allstar.ParserGenerator.getLabel = (Data.Maybe.fromJust . (stripEOF . getSymbol)) Text.ANTLR.Allstar.ParserGenerator.getLiteral = tokenValue allstarParse_a7nC :: [SexpressionToken] -> Either String SexpressionAST allstarParse_a7nC inp_a7nH = (((Text.ANTLR.Allstar.parse inp_a7nH) (Text.ANTLR.Allstar.ParserGenerator.NT NT_sexpr)) (Text.ANTLR.Allstar.atnOf (sexpressionGrammar :: Grammar () SexpressionNTSymbol SexpressionTSymbol))) True ast2NUMBER (Leaf (Token _ (V_NUMBER t) _)) = t ast2STRING (Leaf (Token _ (V_STRING t) _)) = t ast2SYMBOL (Leaf (Token _ (V_SYMBOL t) _)) = t ast2WHITESPACE (Leaf (Token _ (V_WHITESPACE t) _)) = t ast2atom (AST NT_atom [T T_STRING] [v0_STRING]) = Str (ast2STRING v0_STRING) ast2atom (AST NT_atom [T T_SYMBOL] [v0_SYMBOL]) = Symb (ast2SYMBOL v0_SYMBOL) ast2atom (AST NT_atom [T T_NUMBER] [v0_NUMBER]) = Number (ast2NUMBER v0_NUMBER) ast2atom ast2_a7nI = error (show ast2) ast2item (AST NT_item [NT NT_atom] [v0_atom]) = (\ a -> Atm a) (ast2atom v0_atom) ast2item (AST NT_item [NT NT_list] [v0_list]) = List (ast2list v0_list) ast2item (AST NT_item [T T_0, NT NT_item, T T_1, NT NT_item, T T_2] [_, v1_item, _, v3_item, _]) = (Field (ast2item v1_item)) (ast2item v3_item) ast2item ast2_a7nJ = error (show ast2) ast2item_star (AST NT_item_star [NT NT_item] [param_a7nK]) = [ast2item param_a7nK] ast2item_star (AST NT_item_star [NT NT_item, NT NT_item_star] [x_a7nL, xs_a7nM]) = ((ast2item x_a7nL) GHC.Types.: (ast2item_star xs_a7nM)) ast2item_star param_a7nN = (error $ ("NT_item" ++ (": " ++ (show param_a7nN)))) ast2item_star (AST NT_item_star [NT NT_item] [param_a7nO]) = [ast2item param_a7nO] ast2item_star (AST NT_item_star [NT NT_item, NT NT_item_star] [x_a7nP, xs_a7nQ]) = ((ast2item x_a7nP) GHC.Types.: (ast2item_star xs_a7nQ)) ast2item_star param_a7nR = (error $ ("NT_item" ++ (": " ++ (show param_a7nR)))) ast2list (AST NT_list [T T_0, NT NT_item_star, T T_2] [_, v1_item_star, _]) = ast2item_star v1_item_star ast2list (AST NT_list [T T_0, NT NT_item_star, T T_2] [_, v1_item_star, _]) = ast2item_star v1_item_star ast2list (AST NT_list [T T_0, T T_2] [_, _]) = [] ast2list ast2_a7nS = error (show ast2) ast2sexpr (AST NT_sexpr [NT NT_item_star] [v0_item_star]) = ast2item_star v0_item_star ast2sexpr (AST NT_sexpr [NT NT_item_star] [v0_item_star]) = ast2item_star v0_item_star ast2sexpr (AST NT_sexpr [] []) = [] ast2sexpr ast2_a7nT = error (show ast2)