File tree Expand file tree Collapse file tree 2 files changed +7
-3
lines changed
src/main/kotlin/com/github/xepozz/toon/language/parser Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -28,7 +28,7 @@ table ::= tableDefinition DELIMITER (iterable | EOL array)
2828 pin=2
2929}
3030
31- tableDefinition ::= key LBRACKET '#' ? NUMBER RBRACKET (LBRACE iterable RBRACE)?
31+ tableDefinition ::= key LBRACKET SHARP ? NUMBER RBRACKET (LBRACE iterable RBRACE)?
3232{
3333 pin=2
3434}
Original file line number Diff line number Diff line change @@ -19,19 +19,21 @@ NEWLINE=\r|\n|\r\n
1919WHITESPACE = [ \t] +
2020ALPHA = [ A- Za- z]
2121NUMBER = [\d] +(. [\d] +)?
22+ QUOTTED_STRING = "\" " ( \\\" | [^ \" ] )* "\" " | "\' " ( \\\' | [^ \' ] )* "\' "
2223
2324%state VALUE , TABLE_SIZE
2425%%
2526
2627<YYINITIAL> {
2728 #[^\n] * { return ToonTypes . COMMENT ; }
28- ( [\w] +) { return ToonTypes . TEXT ; }
29+ ( [\w] +) { return ToonTypes . TEXT ; }
2930 ":" { yybegin(VALUE ); return ToonTypes . DELIMITER ; }
3031 "[" { yybegin(TABLE_SIZE ); return ToonTypes . LBRACKET ; }
3132}
3233
3334<TABLE_SIZE> {
3435 {NUMBER} { return ToonTypes . NUMBER ; }
36+ "#" { return ToonTypes . SHARP ; }
3537 "]" { yybegin(YYINITIAL ); return ToonTypes . RBRACKET ; }
3638}
3739
@@ -42,7 +44,7 @@ NUMBER=[\d]+(.[\d]+)?
4244 "," { return ToonTypes . COMMA ; }
4345 {NUMBER} { return ToonTypes . NUMBER ; }
4446 {ALPHA} [^\n ,] * { return ToonTypes . TEXT ; }
45- \" ( [^ \\\" ] |.)+ \" { return ToonTypes . TEXT ; }
47+ {QUOTTED_STRING} { return ToonTypes . TEXT ; }
4648}
4749
4850
@@ -57,3 +59,5 @@ NUMBER=[\d]+(.[\d]+)?
5759"-" { return ToonTypes . DASH ; }
5860{WHITESPACE} { return TokenType . WHITE_SPACE ; }
5961{NEWLINE} { yybegin(YYINITIAL ); return ToonTypes . EOL ; }
62+
63+ [^] { return TokenType . BAD_CHARACTER ; }
You can’t perform that action at this time.
0 commit comments