Add extra token for assembly assignment

Adding an extra token for := prevents whitespace between : = being valid
This commit is contained in:
Mathias Baumann
2019-02-21 13:58:21 +01:00
parent 5bf8af8004
commit f395d5bab4
13 changed files with 152 additions and 54 deletions
+6 -1
View File
@@ -596,7 +596,12 @@ void Scanner::scanToken()
token = Token::Period;
break;
case ':':
token = selectToken(Token::Colon);
// : :=
advance();
if (m_char == '=')
token = selectToken(Token::AssemblyAssign);
else
token = Token::Colon;
break;
case ';':
token = selectToken(Token::Semicolon);
+2
View File
@@ -140,6 +140,8 @@ namespace langutil
T(Dec, "--", 0) \
K(Delete, "delete", 0) \
\
/* Inline Assembly Operators */ \
T(AssemblyAssign, ":=", 2) \
/* Keywords */ \
K(Anonymous, "anonymous", 0) \
K(As, "as", 0) \