LanguageFlags.AutoDetectTransient

Developer
Dec 25, 2009 at 9:59 PM

Hello!

I updated Irony sources from SVN and realized that this flag is gone. Why it's not supported anymore?

Coordinator
Dec 26, 2009 at 3:05 AM
Edited Dec 26, 2009 at 3:08 AM

I think this flag and associated operation of automatically finding transient non-terminals is not as useful as it seemed at the beginning. I think it is better if grammar writer specifies transient non-terminals explicitly, and I hope it's not a bit deal for you - just add MarkTransient statement.

Roman

Developer
Dec 26, 2009 at 10:43 AM
Edited Dec 26, 2009 at 10:45 AM

Of course, it's no big deal :)

But I think autodetection feature is pretty handy at early development stages, when grammar is changed very often. It's an easy way to automatically simplify the parse-tree having no need to maintain list of transient non-terminals by hand.

The only drawback is the case when your code expects some exact structure of the parse-tree (i.e. when you transform parse-tree into an AST). So I'd check autodetection off once the grammar is finished.