Home | History | Annotate | Download | only in src

Lines Matching refs:state

72 antlr3LexerNew(ANTLR3_UINT32 sizeHint, pANTLR3_RECOGNIZER_SHARED_STATE state)
88 lexer->rec = antlr3BaseRecognizerNew(ANTLR3_TYPE_LEXER, sizeHint, state);
105 if (lexer->rec->state->tokSource == NULL)
107 lexer->rec->state->tokSource = (pANTLR3_TOKEN_SOURCE)ANTLR3_CALLOC(1, sizeof(ANTLR3_TOKEN_SOURCE));
109 if (lexer->rec->state->tokSource == NULL)
116 lexer->rec->state->tokSource->super = lexer;
121 lexer->rec->state->tokSource->nextToken = nextToken;
122 lexer->rec->state->tokSource->strFactory = NULL;
124 lexer->rec->state->tokFactory = NULL;
149 specialT = &(lexer->rec->state->tokSource->eofToken);
162 specialT = &(lexer->rec->state->tokSource->skipToken);
181 lexer->rec->state->token = NULL;
182 lexer->rec->state->type = ANTLR3_TOKEN_INVALID;
183 lexer->rec->state->channel = ANTLR3_TOKEN_DEFAULT_CHANNEL;
184 lexer->rec->state->tokenStartCharIndex = -1;
185 lexer->rec->state->tokenStartCharPositionInLine = -1;
186 lexer->rec->state->tokenStartLine = -1;
188 lexer->rec->state->text = NULL;
193 if (lexer->rec->state->tokFactory != NULL)
195 lexer->rec->state->tokFactory->reset(lexer->rec->state->tokFactory);
220 pANTLR3_RECOGNIZER_SHARED_STATE state;
225 state = lexer->rec->state;
236 state->token = NULL;
237 state->error = ANTLR3_FALSE; // Start out without an exception
238 state->failed = ANTLR3_FALSE;
246 state->channel = ANTLR3_TOKEN_DEFAULT_CHANNEL;
247 state->tokenStartCharIndex = (ANTLR3_MARKER)(((pANTLR3_UINT8)input->nextChar));
248 state->tokenStartCharPositionInLine = input->charPositionInLine;
249 state->tokenStartLine = input->line;
250 state->text = NULL;
251 state->custom = NULL;
252 state->user1 = 0;
253 state->user2 = 0;
254 state->user3 = 0;
270 state->token = NULL;
271 state->error = ANTLR3_FALSE; // Start out without an exception
272 state->failed = ANTLR3_FALSE;
278 if (state->error == ANTLR3_TRUE)
282 state->failed = ANTLR3_TRUE;
288 if (state->token == NULL)
294 else if (state->token == &(toksource->skipToken))
304 return state->token;
357 if (lexer->rec->state->streams != NULL && lexer->rec->state->streams->size(lexer->rec->state->streams) > 0)
384 antlr3LexerNewStream(ANTLR3_UINT32 sizeHint, pANTLR3_INPUT_STREAM input, pANTLR3_RECOGNIZER_SHARED_STATE state)
390 lexer = antlr3LexerNew(sizeHint, state);
415 rec->state->errorCount++;
417 rec->displayRecognitionError(rec, rec->state->tokenNames);
434 ex = lexer->rec->state->exception;
448 ANTLR3_FPRINTF(stderr, "%d) ", recognizer->state->exception->line);
475 (ANTLR3_UINT32)(lexer->rec->state->tokenStartLine),
476 (ANTLR3_UINT32)(lexer->rec->state->tokenStartCharPositionInLine)
478 width = ANTLR3_UINT32_CAST(((pANTLR3_UINT8)(lexer->input->data)+(lexer->input->size(lexer->input))) - (pANTLR3_UINT8)(lexer->rec->state->tokenStartCharIndex));
482 ANTLR3_FPRINTF(stderr, "looks like this:\n\t\t%.*s\n", width > 20 ? 20 : width ,(pANTLR3_UINT8)(lexer->rec->state->tokenStartCharIndex));
503 if (lexer->rec->state->tokFactory == NULL)
505 lexer->rec->state->tokFactory = antlr3TokenFactoryNew(input);
515 lexer->rec->state->tokFactory->setInputStream(lexer->rec->state->tokFactory, input);
521 if (lexer->rec->state->tokSource->strFactory == NULL)
523 lexer->rec->state->tokSource->strFactory = input->strFactory;
528 if (lexer->rec->state->tokSource->eofToken.strFactory == NULL)
530 lexer->rec->state->tokSource->eofToken.strFactory = input->strFactory;
540 lexer->rec->state->token = NULL;
541 lexer->rec->state->text = NULL;
542 lexer->rec->state->tokenStartCharIndex = -1;
546 lexer->rec->state->tokSource->fileName = input->fileName;
568 if (lexer->rec->state->streams == NULL)
573 lexer->rec->state->streams = antlr3StackNew(0);
575 if (lexer->rec->state->streams == NULL)
588 lexer->rec->state->streams->push(lexer->rec->state->streams, lexer->input, NULL);
617 if (lexer->rec->state->streams != NULL && lexer->rec->state->streams->size(lexer->rec->state->streams) > 0)
625 input = (pANTLR3_INPUT_STREAM)(lexer->rec->state->streams->top);
626 lexer->rec->state->streams->pop(lexer->rec->state->streams);
638 lexer->rec->state->token = token; /* Voila! */
651 token = lexer->rec->state->tokFactory->newToken(lexer->rec->state->tokFactory);
657 token->type = lexer->rec->state->type;
658 token->channel = lexer->rec->state->channel;
659 token->start = lexer->rec->state->tokenStartCharIndex;
661 token->line = lexer->rec->state->tokenStartLine;
662 token->charPosition = lexer->rec->state->tokenStartCharPositionInLine;
664 if (lexer->rec->state->text != NULL)
667 token->tokText.text = lexer->rec->state->text;
674 token->user1 = lexer->rec->state->user1;
675 token->user2 = lexer->rec->state->user2;
676 token->user3 = lexer->rec->state->user3;
677 token->custom = lexer->rec->state->custom;
679 lexer->rec->state->token = token;
691 // state may already have been freed (and set to NULL therefore)
692 // so we ignore the state if we don't have it.
694 if (lexer->rec->state != NULL)
696 if (lexer->rec->state->streams != NULL)
698 lexer->rec->state->streams->free(lexer->rec->state->streams);
700 if (lexer->rec->state->tokFactory != NULL)
702 lexer->rec->state->tokFactory->close(lexer->rec->state->tokFactory);
703 lexer->rec->state->tokFactory = NULL;
705 if (lexer->rec->state->tokSource != NULL)
707 ANTLR3_FREE(lexer->rec->state->tokSource);
708 lexer->rec->state->tokSource = NULL;
733 if (lexer->rec->state->backtracking > 0)
735 lexer->rec->state->failed = ANTLR3_TRUE;
740 lexer->rec->state->failed = ANTLR3_TRUE;
755 lexer->rec->state->failed = ANTLR3_FALSE;
780 lexer->rec->state->failed = ANTLR3_FALSE;
787 if (lexer->rec->state->backtracking > 0)
789 lexer->rec->state->failed = ANTLR3_TRUE;
825 lexer->rec->state->failed = ANTLR3_FALSE;
833 if (lexer->rec->state->backtracking > 0)
835 lexer->rec->state->failed = ANTLR3_TRUE;
880 if (lexer->rec->state->text)
882 return lexer->rec->state->text;
887 lexer->rec->state->tokenStartCharIndex,