implement compile time string concatenation

See #76
This commit is contained in:
Andrew Kelley
2016-01-25 21:56:29 -07:00
parent 1d68150242
commit a3e288ab5b
9 changed files with 98 additions and 3 deletions

View File

@@ -612,6 +612,11 @@ void tokenize(Buf *buf, Tokenization *out) {
end_token(&t);
t.state = TokenizeStateStart;
break;
case '+':
t.cur_tok->id = TokenIdPlusPlus;
end_token(&t);
t.state = TokenizeStateStart;
break;
default:
t.pos -= 1;
end_token(&t);
@@ -1067,6 +1072,7 @@ const char * token_name(TokenId id) {
case TokenIdSemicolon: return ";";
case TokenIdNumberLiteral: return "NumberLiteral";
case TokenIdPlus: return "+";
case TokenIdPlusPlus: return "++";
case TokenIdColon: return ":";
case TokenIdArrow: return "->";
case TokenIdFatArrow: return "=>";