Mercurial > projects > dil
changeset 20:d6adfbd7c513
- Added code for parsing braces.
author | aziz |
---|---|
date | Sat, 23 Jun 2007 22:31:02 +0000 |
parents | f85832f9f24e |
children | c785c122e4e6 |
files | trunk/src/Lexer.d trunk/src/Token.d trunk/src/main.d |
diffstat | 3 files changed, 37 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/trunk/src/Lexer.d Sat Jun 23 22:08:04 2007 +0000 +++ b/trunk/src/Lexer.d Sat Jun 23 22:31:02 2007 +0000 @@ -259,6 +259,32 @@ if (c == '\'') return scanCharacterLiteral(t); + switch(c) + { + case '(': + t.type = TOK.LParen; + goto Lcommon; + case ')': + t.type = TOK.RParen; + goto Lcommon; + case '[': + t.type = TOK.LBracket; + goto Lcommon; + case ']': + t.type = TOK.RBracket; + goto Lcommon; + case '{': + t.type = TOK.LBrace; + goto Lcommon; + case '}': + t.type = TOK.RBrace; + Lcommon: + ++p; + t.end = p; + return; + default: + } + if (c & 128 && isUniAlpha(decodeUTF())) goto Lidentifier; c = *++p;
--- a/trunk/src/Token.d Sat Jun 23 22:08:04 2007 +0000 +++ b/trunk/src/Token.d Sat Jun 23 22:31:02 2007 +0000 @@ -18,6 +18,13 @@ Character, DivisionAssign, Number, +/* Braces */ + LParen, + RParen, + LBracket, + RBracket, + LBrace, + RBrace, EOF }
--- a/trunk/src/main.d Sat Jun 23 22:08:04 2007 +0000 +++ b/trunk/src/main.d Sat Jun 23 22:31:02 2007 +0000 @@ -58,6 +58,10 @@ case TOK.Number: writef("<n>%s</n>", span); break; + case TOK.LParen, TOK.RParen, TOK.LBracket, + TOK.RBracket, TOK.LBrace, TOK.RBrace: + writef("<br>%s</br>", span); + break; default: } end = token.end;