diff options
Diffstat (limited to 'tnslc/parse')
-rw-r--r-- | tnslc/parse/parse.tnsl | 10 | ||||
-rw-r--r-- | tnslc/parse/token.tnsl | 16 |
2 files changed, 17 insertions, 9 deletions
diff --git a/tnslc/parse/parse.tnsl b/tnslc/parse/parse.tnsl index 52fd0c7..5d3bfa5 100644 --- a/tnslc/parse/parse.tnsl +++ b/tnslc/parse/parse.tnsl @@ -21,15 +21,7 @@ /; print_tokens(~{}parse.Token dat) /;loop (int i = 0; i < len dat`) [i++] - ;tnsl.io.print("{ ") - ;tnsl.io.print(dat`{i}.token_type) - ;tnsl.io.print(" ") - ;tnsl.io.print(dat`{i}.data`) - ;tnsl.io.print(" ") - ;tnsl.io.print(dat`{i}.line) - ;tnsl.io.print(" ") - ;tnsl.io.print(dat`{i}.col) - ;tnsl.io.print(" } ") + ;dat`{i}.print() ;/ ;tnsl.io.print("\n") ;/ diff --git a/tnslc/parse/token.tnsl b/tnslc/parse/token.tnsl index 6c402fd..e18ade5 100644 --- a/tnslc/parse/token.tnsl +++ b/tnslc/parse/token.tnsl @@ -40,6 +40,18 @@ /; method Token + /; print + ;tnsl.io.print("{ ") + ;tnsl.io.print(self.token_type) + ;tnsl.io.print(" ") + ;tnsl.io.print(self.data`) + ;tnsl.io.print(" ") + ;tnsl.io.print(self.line) + ;tnsl.io.print(" ") + ;tnsl.io.print(self.col) + ;tnsl.io.print(" } ") + ;/ + /; operator delete ;delete self.data ;/ @@ -310,6 +322,10 @@ ;return TOKEN_TYPE.DEFWORD ;;else if (len s` == 1) + + /; if (is_digit(s`{0})) + ;return TOKEN_TYPE.LITERAL + ;/ /; if (is_in_string(~DELIMITS, s`{0})) ;return TOKEN_TYPE.DELIMIT |