| OLD | NEW |
| 1 part of smalltalk; | 1 part of petitparser.smalltalk; |
| 2 | 2 |
| 3 /** | 3 /// Smalltalk grammar. |
| 4 * Smalltalk grammar. | |
| 5 */ | |
| 6 class SmalltalkGrammar extends GrammarParser { | 4 class SmalltalkGrammar extends GrammarParser { |
| 7 SmalltalkGrammar() : super(new SmalltalkGrammarDefinition()); | 5 SmalltalkGrammar() : super(new SmalltalkGrammarDefinition()); |
| 8 } | 6 } |
| 9 | 7 |
| 10 /** | 8 /// Smalltalk grammar definition. |
| 11 * Smalltalk grammar definition. | |
| 12 */ | |
| 13 class SmalltalkGrammarDefinition extends GrammarDefinition { | 9 class SmalltalkGrammarDefinition extends GrammarDefinition { |
| 14 | 10 |
| 15 // the original implementation used a handwritten parser to | 11 // the original implementation used a handwritten parser to |
| 16 // build special token objects | 12 // build special token objects |
| 17 token(input) { | 13 token(input) { |
| 18 if (input is String) { | 14 if (input is String) { |
| 19 input = input.length == 1 ? char(input) : string(input); | 15 input = input.length == 1 ? char(input) : string(input); |
| 20 } | 16 } |
| 21 return input.token().trim(ref(spacer)); | 17 return input.token().trim(ref(spacer)); |
| 22 } | 18 } |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 220 .seq(char(':').not()); | 216 .seq(char(':').not()); |
| 221 unaryExpression() => ref(primary) | 217 unaryExpression() => ref(primary) |
| 222 .seq(ref(unaryMessage).star()); | 218 .seq(ref(unaryMessage).star()); |
| 223 unaryMessage() => ref(unaryToken); | 219 unaryMessage() => ref(unaryToken); |
| 224 unaryMethod() => ref(identifierToken); | 220 unaryMethod() => ref(identifierToken); |
| 225 unaryPragma() => ref(identifierToken); | 221 unaryPragma() => ref(identifierToken); |
| 226 unaryToken() => ref(token, ref(unary)); | 222 unaryToken() => ref(token, ref(unary)); |
| 227 variable() => ref(identifierToken); | 223 variable() => ref(identifierToken); |
| 228 | 224 |
| 229 } | 225 } |
| OLD | NEW |