Stephan Lutz
Stephan Lutz
Inline rule names do not match with the message that is sent to semantic actions. It is therefore possible to do the following: ``` SomeGrammar { RuleOne = "hello" Rule...
The Smalltalk grammar defines the following rule for literal arrays: https://github.com/hpi-swa/Ohm-S/blob/98bf92f8e3baeacf18b33b5d1bef4c7ca3945e7f/packages/Ohm-Grammars.package/OhmSmalltalk.class/class/serializedGrammar.st#L76-L77 This fails to parse e.g. Morph class >> #vectorAdditions ```smalltalk vectorAdditions "Answer slot/command definitions for the vector experiment" ^...
Compilation of grammars that use the lexification operator (`#`) currently produces the following error: `OhmMissingAttributeMethod: LexLex:` Minimal example: ```smalltalk serializedGrammar ^ 'MyGrammar { Expression = #Value }' ``` This prevents...
Given the following grammar: ``` MyGrammar { Expression = Expression "(" ")" -- functionCall | Expression "." letter+ -- fieldAccess | letter+ -- reference } ``` In the [Ohm/JS editor](https://ohmlang.github.io/editor/)...
In Ohm v15.3.0 a new operator was added: https://github.com/harc/ohm/commit/b519a05bf54da5b9c731130409343dce6cc4153f https://github.com/harc/ohm/blob/master/doc/syntax-reference.md#defining-extending-and-overriding-rules The _super-splice_ operator (`...`) can be used to append and/or prepend cases to the supergrammar rule body. E.g., if the...
On a fresh subclass of `OhmGrammarSmalltalkProxy`, when writing the class-side `serializedGrammar` method, the error `Error: ByteString called #basicNew: with invalid argument -1` is thrown once the text editor contains the...
I was using the following rules in Ohm-S: ```ohm Text { TextRule = text textCharacter = "\\\"" | "\\\\" | ~"\\" ~"\"" any text = "\"" textCharacter+ "\"" } ```...
I stumbled upon this using the [interactive ohm editor](https://ohmlang.github.io/editor/) and confirmed it by setting up ohm/JS locally. ``` Error: Line 207, col 7: 206 | | stringLiteral > 207 |...
Given the following method (where instVar is an instance variable): ```smalltalk foobar instVar := 3 ``` In the block editor, select the block corresponding to `instVar`, and change the name,...
The pragma `` is displayed as ` primitive: 120`