Mercurial > projects > dil
diff trunk/src/Lexer.d @ 9:5d6968cc751e
- Parsing string and character literals now (rudimentary implementation.)
author | aziz |
---|---|
date | Sat, 23 Jun 2007 07:46:00 +0000 |
parents | d4ba94a5a282 |
children | 3ee65d6e39c9 |
line wrap: on
line diff
--- a/trunk/src/Lexer.d Fri Jun 22 20:41:04 2007 +0000 +++ b/trunk/src/Lexer.d Sat Jun 23 07:46:00 2007 +0000 @@ -151,6 +151,35 @@ } } + if (c == '"') + { + do { + c = *++p; + if (c == 0) + throw new Error("unterminated string literal."); + if (c == '\\') + ++p; + } while (c != '"') + ++p; + t.type = TOK.String; + t.end = p; + return; + } + + if (c == '\'') + { + do { + c = *++p; + if (c == 0) + throw new Error("unterminated character literal."); + if (c == '\\') + ++p; + } while (c != '\'') + ++p; + t.type = TOK.Character; + t.end = p; + return; + } c = *++p; } }