Interpreting the D grammar
cym13 via Digitalmars-d
digitalmars-d at puremagic.com
Sun Aug 2 10:40:24 PDT 2015
On Sunday, 2 August 2015 at 17:29:57 UTC, Jacob Carlborg wrote:
> On 02/08/15 18:08, cym13 wrote:
>
>> You can't build a regular expression for any grammar. You can
>> for some
>> grammars but those are only a simple subset. For example,
>> checking
>> parens balance is impossible with common (not recursive)
>> regular
>> expressions only, and even with recursion it soon reaches its
>> limitations.
>
> TextMate grammars support recursion, it's possible to define a
> grammar with balanced parentheses [1].
>
> [1] https://manual.macromates.com/en/language_grammars
Yes, that will work for this simple example, but what of
interleaved parentheses ? Say you want (), [] and "" to match,
how can you do ?
[[("]("), "])(", ")"]]
There are constructs that aren't possibly doable using even
extend regular expressions. That's why grammars were invented
after all.
Reading your documentation, it seems that you are not expected to
reduce the grammar to a regular expression, rather it uses many
regular expressions to describes parts of the language grammar,
so that should work.
More information about the Digitalmars-d
mailing list