mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 13:48:12 +00:00
CppLexer: Add token types for "::", "::*", ".*", "->*"
This commit is contained in:
parent
1992dbd637
commit
7a1c328417
2 changed files with 30 additions and 2 deletions
|
@ -424,6 +424,11 @@ Vector<CppToken> CppLexer::lex()
|
|||
}
|
||||
if (peek() == '>') {
|
||||
consume();
|
||||
if (peek() == '*') {
|
||||
consume();
|
||||
commit_token(CppToken::Type::ArrowAsterisk);
|
||||
continue;
|
||||
}
|
||||
commit_token(CppToken::Type::Arrow);
|
||||
continue;
|
||||
}
|
||||
|
@ -491,7 +496,19 @@ Vector<CppToken> CppLexer::lex()
|
|||
continue;
|
||||
}
|
||||
if (ch == ':') {
|
||||
emit_token(CppToken::Type::Colon);
|
||||
begin_token();
|
||||
consume();
|
||||
if (peek() == ':') {
|
||||
consume();
|
||||
if (peek() == '*') {
|
||||
consume();
|
||||
commit_token(CppToken::Type::ColonColonAsterisk);
|
||||
continue;
|
||||
}
|
||||
commit_token(CppToken::Type::ColonColon);
|
||||
continue;
|
||||
}
|
||||
commit_token(CppToken::Type::Colon);
|
||||
continue;
|
||||
}
|
||||
if (ch == ';') {
|
||||
|
@ -499,7 +516,14 @@ Vector<CppToken> CppLexer::lex()
|
|||
continue;
|
||||
}
|
||||
if (ch == '.') {
|
||||
emit_token(CppToken::Type::Dot);
|
||||
begin_token();
|
||||
consume();
|
||||
if (peek() == '*') {
|
||||
consume();
|
||||
commit_token(CppToken::Type::DotAsterisk);
|
||||
continue;
|
||||
}
|
||||
commit_token(CppToken::Type::Dot);
|
||||
continue;
|
||||
}
|
||||
if (ch == '#') {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue