Lines Matching full:lexer
28 #include "lexer/lexer.h"
29 #include "lexer/ETSLexer.h"
127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_ENUM); in ParseEnumDeclaration()
129 lexer::SourcePosition enumStart = Lexer()->GetToken().Start(); in ParseEnumDeclaration()
130 Lexer()->NextToken(); // eat enum keyword in ParseEnumDeclaration()
159 Lexer()->NextToken(); in IsStringEnum()
160 auto tokenType = Lexer()->GetToken().Type(); in IsStringEnum()
161 …while (tokenType != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE && tokenType != lexer::TokenType::PUN… in IsStringEnum()
162 if (tokenType == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in IsStringEnum()
163 Lexer()->NextToken(); in IsStringEnum()
164 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_STRING) { in IsStringEnum()
168 Lexer()->NextToken(); in IsStringEnum()
169 tokenType = Lexer()->GetToken().Type(); in IsStringEnum()
174 ir::TSEnumDeclaration *ETSParser::ParseEnumMembers(ir::Identifier *const key, const lexer::SourcePo… in ParseEnumMembers()
177 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_LEFT_BRACE) { in ParseEnumMembers()
178 LogExpectedToken(lexer::TokenType::PUNCTUATOR_LEFT_BRACE); in ParseEnumMembers()
181 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat '{' in ParseEnumMembers()
183 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseEnumMembers()
188 auto const pos = Lexer()->Save(); in ParseEnumMembers()
190 Lexer()->Rewind(pos); in ParseEnumMembers()
203 enumDeclaration->SetRange({enumStart, Lexer()->GetToken().End()}); in ParseEnumMembers()
208 Lexer()->NextToken(); // eat '}' in ParseEnumMembers()
216 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA) { in ParseNumberEnumEnd()
219 if (lexer::Token::IsPunctuatorToken((Lexer()->GetToken().Type()))) { in ParseNumberEnumEnd()
224 Lexer()->GetToken().SetTokenType(lexer::TokenType::PUNCTUATOR_COMMA); in ParseNumberEnumEnd()
225 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat ',' in ParseNumberEnumEnd()
234 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat ',' in ParseNumberEnumEnd()
237 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseNumberEnumEnd()
246 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PLUS) { in ParseNumberEnumHelper()
247 Lexer()->NextToken(); in ParseNumberEnumHelper()
248 } else if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MINUS) { in ParseNumberEnumHelper()
250 Lexer()->NextToken(); in ParseNumberEnumHelper()
253 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_NUMBER) { in ParseNumberEnumHelper()
256 Lexer()->GetToken().SetTokenType(lexer::TokenType::LITERAL_NUMBER); in ParseNumberEnumHelper()
257 Lexer()->GetToken().SetTokenStr(ERROR_LITERAL); in ParseNumberEnumHelper()
271 lexer::SourcePosition endLoc; in ParseNumberEnum()
273 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseNumberEnum()
278 Lexer()->NextToken(); in ParseNumberEnum()
296 ordinal = AllocNode<ir::NumberLiteral>(lexer::Number(currentValue)); in ParseNumberEnum()
310 while (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseNumberEnum()
327 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseStringEnum()
330 Lexer()->NextToken(); in ParseStringEnum()
331 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_STRING) { in ParseStringEnum()
334 Lexer()->GetToken().SetTokenType(lexer::TokenType::LITERAL_STRING); in ParseStringEnum()
335 Lexer()->GetToken().SetTokenStr(ERROR_LITERAL); in ParseStringEnum()
351 while (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseStringEnum()
352 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_COMMA) { in ParseStringEnum()
355 if (lexer::Token::IsPunctuatorToken((Lexer()->GetToken().Type()))) { in ParseStringEnum()
360 Lexer()->GetToken().SetTokenType(lexer::TokenType::PUNCTUATOR_COMMA); in ParseStringEnum()
361 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat ',' in ParseStringEnum()
370 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); // eat ',' in ParseStringEnum()
373 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseStringEnum()