Changing typespecs to be normal expressions
This commit is contained in:
11
new_lex.cpp
11
new_lex.cpp
@@ -26,6 +26,7 @@ enum Token_Kind{
|
||||
|
||||
TK_BitAnd,
|
||||
TK_BitOr,
|
||||
TK_BitXor,
|
||||
TK_And,
|
||||
TK_Or,
|
||||
TK_FirstLogical = TK_BitAnd,
|
||||
@@ -82,12 +83,12 @@ enum Token_Kind{
|
||||
TK_Integer,
|
||||
TK_Keyword,
|
||||
|
||||
TK_Pointer,
|
||||
TK_Dereference,
|
||||
TK_Pointer = TK_Mul,
|
||||
TK_Dereference = TK_BitAnd,
|
||||
|
||||
// These are not produced by lexer
|
||||
// but identified by parser
|
||||
OPEN_SCOPE,
|
||||
OPEN_SCOPE = 128,
|
||||
CLOSE_SCOPE,
|
||||
SAME_SCOPE,
|
||||
};
|
||||
@@ -443,7 +444,7 @@ lex__stream(Intern_Table *table, Array<Token> *array, Lex_Stream *s){
|
||||
case '~': t.kind = TK_Neg; break;
|
||||
case '?': t.kind = TK_Question; break;
|
||||
case '#': t.kind = TK_Pound; break;
|
||||
case '^': t.kind = TK_Pointer; break;
|
||||
case '^': t.kind = TK_BitXor; break;
|
||||
CASE2('!', TK_Not, TK_NotEquals);
|
||||
CASE2('=', TK_Assign, TK_Equals);
|
||||
CASE2('*', TK_Mul, TK_MulAssign);
|
||||
@@ -697,7 +698,7 @@ token_kind_string(Token_Kind kind){
|
||||
case TK_Mod: return "%"_s;
|
||||
case TK_BitAnd: return "&"_s;
|
||||
case TK_BitOr: return "|"_s;
|
||||
case TK_Pointer: return "^"_s;
|
||||
case TK_BitXor: return "^"_s;
|
||||
case TK_Neg: return "~"_s;
|
||||
case TK_Not: return "!"_s;
|
||||
case TK_OpenParen: return "("_s;
|
||||
|
||||
Reference in New Issue
Block a user