Interpreting the D grammar
Jacob Carlborg via Digitalmars-d
digitalmars-d at puremagic.com
Sun Aug 2 11:22:00 PDT 2015
On 02/08/15 19:15, Xinok wrote:
> I guess you're not familiar with the theoretical aspect of "formal
> languages". The D grammar is a context-free grammar which cannot be
> reduced to a regular expression. As cym13 stated, there are some simple
> context-free grammars which can be rewritten as regular expressions, but
> the D grammar cannot be. Take a look at the Chomsky Hierarchy [1] for a
> better understanding.
>
> The classic example of a context-free language is the set of balanced
> parenthesis, i.e. (()) is balanced and ())))) is not. This language is
> not regular meaning you cannot write a regular expression for it, but
> you can write a context-free grammar for it.
TextMate grammars are not _just_ regular expressions. They can define
balanced parentheses [1].
The point of a language grammar in a text editor is not to have a 100%
correct implementation of the grammar. Rather it should syntax highlight
the code in a way that is useful for the user.
[1] https://manual.macromates.com/en/language_grammars
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list