/arkcompiler/ets_frontend/ets2panda/parser/ |
H A D | ASparser.cpp | 81 std::unique_ptr<lexer::Lexer> ASParser::InitLexer(const SourceFile &sourceFile) in InitLexer() 91 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_AT); in ParseDecorator() 93 lexer::SourcePosition start = Lexer()->GetToken().Start(); in ParseDecorator() 94 Lexer()->NextToken(); // eat '@' in ParseDecorator() 117 ASSERT(Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_TYPE); in ParseTypeAliasDeclaration() 118 lexer::SourcePosition typeStart = Lexer()->GetToken().Start(); in ParseTypeAliasDeclaration() 119 Lexer()->NextToken(); // eat type keyword in ParseTypeAliasDeclaration() 121 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseTypeAliasDeclaration() 125 const util::StringView &ident = Lexer()->GetToken().Ident(); in ParseTypeAliasDeclaration() 128 id->SetRange(Lexer() in ParseTypeAliasDeclaration() [all...] |
H A D | TSparser.cpp | 121 std::unique_ptr<lexer::Lexer> TSParser::InitLexer(const SourceFile &sourceFile) in InitLexer() 131 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_AT); in ParseDecorator() 133 lexer::SourcePosition start = Lexer()->GetToken().Start(); in ParseDecorator() 134 Lexer()->NextToken(); // eat '@' in ParseDecorator() 136 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseDecorator() 140 ir::Expression *expr = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParseDecorator() 141 expr->SetRange(Lexer()->GetToken().Loc()); in ParseDecorator() 142 Lexer()->NextToken(); in ParseDecorator() 144 while (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_PERIOD) { in ParseDecorator() 145 Lexer() in ParseDecorator() [all...] |
H A D | expressionTSParser.cpp | 121 if (Lexer()->GetToken().KeywordType() != lexer::TokenType::KEYW_AS) { in ParsePotentialAsExpression() 125 Lexer()->NextToken(); // eat 'as' in ParsePotentialAsExpression() 140 asExpr->SetRange({startLoc, Lexer()->GetToken().End()}); in ParsePotentialAsExpression() 142 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_AS) { in ParsePotentialAsExpression() 151 switch (Lexer()->GetToken().Type()) { in ParsePatternElementGetReturnNode() 171 ir::AnnotatedExpression *returnNode = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParsePatternElementGetReturnNode() 175 returnNode->SetRange(Lexer()->GetToken().Loc()); in ParsePatternElementGetReturnNode() 178 {returnNode->AsIdentifier()->Decorators().front()->Start(), Lexer()->GetToken().End()}); in ParsePatternElementGetReturnNode() 181 Lexer()->NextToken(); in ParsePatternElementGetReturnNode() 183 if (Lexer() in ParsePatternElementGetReturnNode() [all...] |
H A D | ETSparserEnums.cpp | 127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_ENUM); in ParseEnumDeclaration() 133 lexer::SourcePosition enumStart = Lexer()->GetToken().Start(); in ParseEnumDeclaration() 134 Lexer()->NextToken(); // eat enum keyword in ParseEnumDeclaration() 164 Lexer()->NextToken(); in IsStringEnum() 165 auto tokenType = Lexer()->GetToken().Type(); in IsStringEnum() 168 Lexer()->NextToken(); in IsStringEnum() 169 if (Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_STRING) { in IsStringEnum() 173 Lexer()->NextToken(); in IsStringEnum() 174 tokenType = Lexer()->GetToken().Type(); in IsStringEnum() 182 if (Lexer() in ParseEnumMembers() [all...] |
H A D | TypedParser.cpp | 70 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_YIELD && in ParseExpression() 77 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LESS_THAN) { in ParseExpression() 78 const auto startPos = Lexer()->Save(); in ParseExpression() 84 Lexer()->Rewind(startPos); in ParseExpression() 99 if (Lexer()->GetToken().NewLine()) { in ParseExpression() 103 switch (Lexer()->GetToken().Type()) { in ParseExpression() 105 if (Lexer()->GetToken().KeywordType() == lexer::TokenType::KEYW_AS) { in ParseExpression() 127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT); in ParsePotentialExpressionStatement() 129 switch (Lexer()->GetToken().KeywordType()) { in ParsePotentialExpressionStatement() 134 Lexer() in ParsePotentialExpressionStatement() [all...] |
H A D | ETSparserTypes.cpp | 82 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COLON) { in ParseFunctionReturnType() 86 Lexer()->NextToken(); // eat ':' in ParseFunctionReturnType() 103 typeAnnotation->SetRange(Lexer()->GetToken().Loc()); in ParsePrimitiveType() 104 Lexer()->NextToken(); in ParsePrimitiveType() 113 while (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_BITWISE_OR) { in ParseUnionType() 114 Lexer()->NextToken(); // eat '|' in ParseUnionType() 169 const auto varianceStartLoc = Lexer()->GetToken().Start(); in ParseWildcardType() 170 const auto varianceEndLoc = Lexer()->GetToken().End(); in ParseWildcardType() 175 (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_GREATER_THAN || in ParseWildcardType() 176 Lexer() in ParseWildcardType() [all...] |
H A D | ETSparser.cpp | 91 std::unique_ptr<lexer::Lexer> ETSParser::InitLexer(const SourceFile &sourceFile) in InitLexer() 101 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseProgram() 102 Lexer()->NextToken(); in ParseProgram() 138 etsScript->SetRange({startLoc, Lexer()->GetToken().End()}); in ParseETSGlobalScript() 163 Lexer()->NextToken(); in ParseDefaultSources() 299 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseSource() 300 Lexer()->NextToken(); in ParseSource() 315 const auto token = Lexer()->GetToken(); in ParseIdentKeyword() 335 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseFunction() 348 if (Lexer() in ParseFunction() [all...] |
H A D | ETSparserExpressions.cpp | 126 lexer::SourcePosition start = Lexer()->GetToken().Start(); in ParseLaunchExpression() 127 Lexer()->NextToken(); // eat launch in ParseLaunchExpression() 148 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseFunctionParameterExpression() 153 auto const lexerPos = Lexer()->Save().Iterator(); in ParseFunctionParameterExpression() 154 Lexer()->NextToken(); // eat '=' in ParseFunctionParameterExpression() 163 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_RIGHT_PARENTHESIS || in ParseFunctionParameterExpression() 164 Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_COMMA) { in ParseFunctionParameterExpression() 170 std::string value = Lexer()->SourceView(lexerPos.Index(), Lexer()->Save().Iterator().Index()).Mutf8(); in ParseFunctionParameterExpression() 206 switch (Lexer() in ResolveArgumentUnaryExpr() [all...] |
H A D | ETSparserClasses.cpp | 117 while (IsClassModifier(Lexer()->GetToken().KeywordType())) { in ParseClassModifiers() 120 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags(); in ParseClassModifiers() 125 switch (Lexer()->GetToken().KeywordType()) { in ParseClassModifiers() 147 Lexer()->NextToken(); in ParseClassModifiers() 164 if (Lexer()->GetToken().Type() == lexer::TokenType::KEYW_EXTENDS) { in ParseSuperClassReference() 165 Lexer()->NextToken(); in ParseSuperClassReference() 192 if (!IsClassMemberAccessModifier(Lexer()->GetToken().Type())) { in ParseClassMemberAccessModifiers() 196 char32_t nextCp = Lexer()->Lookahead(); in ParseClassMemberAccessModifiers() 202 lexer::TokenFlags tokenFlags = Lexer()->GetToken().Flags(); in ParseClassMemberAccessModifiers() 209 switch (Lexer() in ParseClassMemberAccessModifiers() [all...] |
H A D | statementTSParser.cpp | 127 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::KEYW_IMPORT); in ParseTsImportEqualsDeclaration() 128 Lexer()->NextToken(); in ParseTsImportEqualsDeclaration() 129 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseTsImportEqualsDeclaration() 133 auto *id = AllocNode<ir::Identifier>(Lexer()->GetToken().Ident(), Allocator()); in ParseTsImportEqualsDeclaration() 134 id->SetRange(Lexer()->GetToken().Loc()); in ParseTsImportEqualsDeclaration() 135 Lexer()->NextToken(); // eat id name in ParseTsImportEqualsDeclaration() 137 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_SUBSTITUTION) { in ParseTsImportEqualsDeclaration() 140 Lexer()->NextToken(); // eat substitution in ParseTsImportEqualsDeclaration() 142 if (Lexer()->GetToken().Type() != lexer::TokenType::LITERAL_IDENT) { in ParseTsImportEqualsDeclaration() 147 importEqualsDecl->SetRange({startLoc, Lexer() in ParseTsImportEqualsDeclaration() [all...] |
H A D | ETSFormattedParser.cpp | 51 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_FORMAT); in GetFormatPlaceholderType() 52 Lexer()->NextToken(); in GetFormatPlaceholderType() 55 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_SQUARE_BRACKET) { in GetFormatPlaceholderType() 57 Lexer()->NextToken(); in GetFormatPlaceholderType() 60 ASSERT(Lexer()->GetToken().Type() == lexer::TokenType::LITERAL_IDENT); in GetFormatPlaceholderType() 61 char const *const identData = Lexer()->GetToken().Ident().Bytes(); in GetFormatPlaceholderType() 66 ThrowSyntaxError(INVALID_NUMBER_NODE, Lexer()->GetToken().Start()); in GetFormatPlaceholderType() 76 ThrowSyntaxError(INSERT_NODE_ABSENT, Lexer()->GetToken().Start()); in ParseExpressionFormatPlaceholder() 81 ThrowSyntaxError(INVALID_FORMAT_NODE, Lexer()->GetToken().Start()); in ParseExpressionFormatPlaceholder() 89 ThrowSyntaxError(INVALID_FORMAT_NODE, Lexer() in ParseExpressionFormatPlaceholder() [all...] |
H A D | ETSparserNamespaces.cpp | 45 const lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseNamespaceDeclaration() 55 namespaceDecl->SetRange({startLoc, Lexer()->GetToken().End()}); in ParseNamespaceDeclaration() 62 Lexer()->NextToken(); in ParseNamespaceDefinition() 82 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseNamespaceBody() 83 Lexer()->NextToken(lexer::NextTokenFlags::KEYWORD_TO_IDENT); in ParseNamespaceBody() 90 if (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_FORMAT && in ParseNamespaceBody() 91 Lexer()->Lookahead() == static_cast<char32_t>(ARRAY_FORMAT_NODE)) { in ParseNamespaceBody() 93 if (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseNamespaceBody() 97 while (Lexer()->GetToken().Type() != lexer::TokenType::PUNCTUATOR_RIGHT_BRACE) { in ParseNamespaceBody() 98 if (Lexer() in ParseNamespaceBody() [all...] |
H A D | ETSparserStatements.cpp | 127 while (Lexer()->GetToken().Type() != lexer::TokenType::EOS) { in ParseTopLevelStatements() 128 if (Lexer()->TryEatTokenType(lexer::TokenType::PUNCTUATOR_SEMI_COLON)) { in ParseTopLevelStatements() 158 (Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_MULTIPLY || in ParseTopLevelDeclStatement() 159 Lexer()->GetToken().Type() == lexer::TokenType::PUNCTUATOR_LEFT_BRACE)) { in ParseTopLevelDeclStatement() 164 auto token = Lexer()->GetToken(); in ParseTopLevelDeclStatement() 219 Lexer()->NextToken(); in ParseTopLevelDeclaration() 227 ThrowSyntaxError("Label must be followed by a loop statement", Lexer()->GetToken().Start()); in ValidateLabeledStatement() 251 lexer::SourcePosition startLoc = Lexer()->GetToken().Start(); in ParseAssertStatement() 252 Lexer()->NextToken(); in ParseAssertStatement() 258 if (Lexer() in ParseAssertStatement() [all...] |
/arkcompiler/ets_frontend/ets2panda/lexer/ |
H A D | lexer.cpp | 30 Lexer::Lexer(const parser::ParserContext *parserContext, bool startLexer) in Lexer() function in ark::es2panda::lexer::Lexer 41 char32_t Lexer::ScanUnicodeEscapeSequence() in ScanUnicodeEscapeSequence() 61 char32_t Lexer::ScanUnicodeCodePointEscape() in ScanUnicodeCodePointEscape() 92 ArenaAllocator *Lexer::Allocator() in Allocator() 97 Token &Lexer::GetToken() in GetToken() 102 const Token &Lexer::GetToken() const in GetToken() 107 size_t Lexer::Line() const in Line() 112 LexerPosition Lexer::Save() const in Save() 117 void Lexer [all...] |
H A D | lexer.h | 80 friend class Lexer; 104 class Lexer { class 106 explicit Lexer(const parser::ParserContext *parserContext, bool startLexer = true); 107 NO_COPY_SEMANTIC(Lexer); 108 NO_MOVE_SEMANTIC(Lexer); 109 virtual ~Lexer() = default; 321 explicit TemplateLiteralParserContext(Lexer *lexer) : lexer_(lexer), prev_(lexer_->tlCtx_) {} in TemplateLiteralParserContext() 343 Lexer *lexer_; 349 void Lexer::ScanString() in ScanString() 445 char32_t Lexer [all...] |
H A D | keywordsUtil.h | 28 class Lexer; 33 explicit KeywordsUtil(Lexer *lexer, lexer::NextTokenFlags flags) : lexer_(lexer), flags_(flags) {} in KeywordsUtil() 34 explicit KeywordsUtil(Lexer *lexer, lexer::NextTokenFlags flags, char32_t cp) in KeywordsUtil() 106 Lexer *lexer_;
|
/arkcompiler/ets_frontend/ets2panda/lexer/token/ |
H A D | number.cpp | 28 Lexer::ConversionResult res; in flags_() 30 const int64_t temp = Lexer::StrToNumeric(&std::strtoll, utf8.c_str(), res, 10); in flags_() 32 if (res == Lexer::ConversionResult::SUCCESS) { in flags_() 41 if (res == Lexer::ConversionResult::INVALID_ARGUMENT) { in flags_() 46 const double temp = Lexer::StrToNumeric(&std::strtod, utf8.c_str(), res); in flags_() 47 if (res == Lexer::ConversionResult::SUCCESS) { in flags_() 49 } else if (res == Lexer::ConversionResult::INVALID_ARGUMENT) { in flags_() 51 } else if (res == Lexer::ConversionResult::OUT_OF_RANGE) { in flags_()
|
/arkcompiler/ets_frontend/es2panda/lexer/ |
H A D | lexer.cpp | 30 Lexer::Lexer(const parser::ParserContext *parserContext) in Lexer() function in panda::es2panda::lexer::Lexer 39 char32_t Lexer::ScanUnicodeEscapeSequence() in ScanUnicodeEscapeSequence() 54 char32_t Lexer::ScanUnicodeCodePointEscape() in ScanUnicodeCodePointEscape() 90 ArenaAllocator *Lexer::Allocator() in Allocator() 95 Token &Lexer::GetToken() in GetToken() 100 const Token &Lexer::GetToken() const in GetToken() 105 size_t Lexer::Line() const in Line() 110 LexerPosition Lexer::Save() const in Save() 115 void Lexer [all...] |
H A D | lexer.h | 66 class Lexer { class 68 explicit Lexer(const parser::ParserContext *parserContext); 69 NO_COPY_SEMANTIC(Lexer); 70 NO_MOVE_SEMANTIC(Lexer); 71 ~Lexer() = default; 187 explicit TemplateLiteralParserContext(Lexer *lexer) : lexer_(lexer), prev_(lexer_->tlCtx_) {} in TemplateLiteralParserContext() 209 Lexer *lexer_; 215 void Lexer::ScanString() in ScanString() 310 char32_t Lexer::ScanHexEscape() in ScanHexEscape() 335 void Lexer [all...] |
H A D | keywordsUtil.h | 29 class Lexer; 33 explicit KeywordsUtil(Lexer *lexer, lexer::LexerNextTokenFlags flags) : lexer_(lexer), flags_(flags) {} in KeywordsUtil() 34 explicit KeywordsUtil(Lexer *lexer, lexer::LexerNextTokenFlags flags, char32_t cp) in KeywordsUtil() 65 Lexer *lexer_;
|
/arkcompiler/runtime_core/static_core/assembler/tests/ |
H A D | lexer_test.cpp | 30 Lexer l; in TEST() 42 Lexer l; in TEST() 52 Lexer l; in TEST() 66 Lexer l; in TEST() 76 Lexer l; in TEST() 88 Lexer l; in TEST() 99 Lexer l; in TEST() 108 Lexer l; in TEST() 117 Lexer l; in TEST() 134 Lexer in TEST() [all...] |
/arkcompiler/runtime_core/assembler/tests/ |
H A D | assembler_lexer_test.cpp | 38 Lexer l; in HWTEST_F() 56 Lexer l; in HWTEST_F() 72 Lexer l; in HWTEST_F() 92 Lexer l; in HWTEST_F() 108 Lexer l; in HWTEST_F() 126 Lexer l; in HWTEST_F() 143 Lexer l; in HWTEST_F() 158 Lexer l; in HWTEST_F() 173 Lexer l; in HWTEST_F() 196 Lexer in HWTEST_F() [all...] |
H A D | lexer_test.cpp | 27 Lexer l; in TEST() 39 Lexer l; in TEST() 49 Lexer l; in TEST() 63 Lexer l; in TEST() 73 Lexer l; in TEST() 85 Lexer l; in TEST() 96 Lexer l; in TEST() 105 Lexer l; in TEST() 114 Lexer l; in TEST() 131 Lexer in TEST() [all...] |
/arkcompiler/runtime_core/assembler/ |
H A D | lexer.cpp | 152 Lexer::Lexer() : curr_line_(nullptr) in Lexer() function in panda::pandasm::Lexer 154 LOG(DEBUG, ASSEMBLER) << "element of class Lexer initialized"; in Lexer() 157 Lexer::~Lexer() in ~Lexer() 159 LOG(DEBUG, ASSEMBLER) << "element of class Lexer destructed"; in ~Lexer() 162 Tokens Lexer::TokenizeString(const std::string &source_str) in TokenizeString() 191 bool Lexer::Eol() const in Eol() 197 Token::Type Lexer::LexGetType(size_t beg, size_t end) const in LexGetType() 225 bool Lexer [all...] |
H A D | lexer.h | 87 class Lexer { class 89 Lexer(); 90 ~Lexer(); 91 NO_MOVE_SEMANTIC(Lexer); 92 NO_COPY_SEMANTIC(Lexer);
|