mroeder
mroeder
Which are these primitive rules? Is there a list so we can "brainstorm" here a bit? I feel reminded of what Regex101 offers here: ![screen shot 2016-03-10 at 2 50...
https://github.com/cdglabs/ohm/blob/master/src/Grammar.js#L286 ... and they already come with some explanation: `any`: any object `end`: end of input `space`: a space -> Range('\x00', ' ') `spaces`: `space*` `lower`: a lowercase letter ->...
Wow! First report: It completely crashed my (Chrome) browser! All the windows, all tabs (100+). :-/ I guess it doesn’t like grammars that are still in LocalStorage? ... But it...
Oh, btw. I always like a "default grammar" when you came to the visualizer instead of an empty canvas. Would be nice to get some example when I go straight...
Well, and the encoding for the URL is somewhat verbose. One character - in example or grammar - results in ~4 characters in the URL. Not that pleasant for (real)...
+1, I was always a little baffled by this message. Additionally, all is put into one line and the `^~~~~~~` actually does not point at anything anymore.
Since ECMAScript is one of the current major examples for an Ohm grammar and it is a grammar where ES2015 could make use of a lot of rules from ES5...
According to http://unicode.org/reports/tr31/#Specific_Character_Adjustments, `_` and `$` are optional characters for `ID_Start`. ES5/ES2015 adds those two characters to `ID_Start` but Python or Rust might not do so. Since Ohm does not...
One more thing I stumbled upon yesterday, is that `ident` is already heavily used in grammars (Ohm itself uses it, so do some of @alexwarth teaching grammars). It would be...
Well, we could put in an `ident` rule and describe it in the documentation. It should use `identStart` and `identPart` which just references `unicodeIdStart` and `unicodeIdContinue` by default. Any language...