Lines Matching refs:parser

2  *  Implementation of the tree parser and overrides for the base recognizer
40 /* Tree parser API
42 static void setTreeNodeStream (pANTLR3_TREE_PARSER parser, pANTLR3_COMMON_TREE_NODE_STREAM input);
44 getTreeNodeStream (pANTLR3_TREE_PARSER parser);
45 static void freeParser (pANTLR3_TREE_PARSER parser);
54 pANTLR3_TREE_PARSER parser;
56 /** Allocate tree parser memory
58 parser =(pANTLR3_TREE_PARSER) ANTLR3_MALLOC(sizeof(ANTLR3_TREE_PARSER));
60 if (parser == NULL)
67 parser->rec = antlr3BaseRecognizerNew(ANTLR3_TYPE_PARSER, sizeHint, state);
69 if (parser->rec == NULL)
71 parser->free(parser);
75 /* Ensure we can track back to the tree parser super structure
78 parser->rec->super = parser;
79 parser->rec->type = ANTLR3_TYPE_TREE_PARSER;
83 parser->rec->mismatch = mismatch;
84 parser->rec->exConstruct = antlr3MTNExceptionNew;
85 parser->rec->getCurrentInputSymbol = getCurrentInputSymbol;
86 parser->rec->getMissingSymbol = getMissingSymbol;
88 /* Install tree parser API
90 parser->getTreeNodeStream = getTreeNodeStream;
91 parser->setTreeNodeStream = setTreeNodeStream;
92 parser->free = freeParser;
96 parser->setTreeNodeStream(parser, ctnstream);
98 return parser;
127 freeParser (pANTLR3_TREE_PARSER parser)
129 if (parser->rec != NULL)
131 // This may have ben a delegate or delegator parser, in which case the
135 if (parser->rec->state != NULL)
137 if (parser->rec->state->following != NULL)
139 parser->rec->state->following->free(parser->rec->state->following);
140 parser->rec->state->following = NULL;
143 parser->rec->free(parser->rec);
144 parser->rec = NULL;
147 ANTLR3_FREE(parser);
150 /** Set the input stream and reset the parser
153 setTreeNodeStream (pANTLR3_TREE_PARSER parser, pANTLR3_COMMON_TREE_NODE_STREAM input)
155 parser->ctnstream = input;
156 parser->rec->reset (parser->rec);
157 parser->ctnstream->reset (parser->ctnstream);
163 getTreeNodeStream (pANTLR3_TREE_PARSER parser)
165 return parser->ctnstream;
185 // Default implementation is for parser and assumes a token stream as supplied by the runtime.
200 // Default implementation is for parser and assumes a token stream as supplied by the runtime.