Related articles |
---|
Re: Parsing Expression Grammar cfc@world.std.com (Chris F Clark) (2005-09-25) |
Predicates (was: Parsing Expression Grammar) quinn-j@shaw.ca (Quinn Tyler Jackson) (2005-10-02) |
Re: Predicates schmitz@i3s.unice.fr (Sylvain Schmitz) (2005-10-04) |
Re: Predicates cfc@shell01.TheWorld.com (Chris F Clark) (2005-10-05) |
Re: Predicates schmitz@i3s.unice.fr (Sylvain Schmitz) (2005-10-06) |
From: | Sylvain Schmitz <schmitz@i3s.unice.fr> |
Newsgroups: | comp.compilers |
Date: | 6 Oct 2005 15:02:20 -0400 |
Organization: | Compilers Central |
References: | 05-09-124 05-10-019 05-10-036 05-10-039 |
Keywords: | parse |
Posted-Date: | 06 Oct 2005 15:02:20 EDT |
Chris F Clark wrote:
> Sylvain Schmitz wrote:
>>they are highly convenient and utterly dangerous, allowing more or
>>less arbitrary code to be run during the parsing phase, possibly
> ^^^^^^^^^
>>unrelated to the language at hand and possibly introducing an
>>exponential overhead.
>
> I'm not sure what you mean by the underlined word.
The choice of word was poor indeed. I meant "arbitrary recognition
code", such as regular expressions, and thus syntactic predicates by this.
We seem to agree; I'll just throw a few more lines in favor of boolean
grammars instead of syntactic predicates. I feel the difference is
indeed in the formal way boolean grammars are treated, which means that
the boolean operations have very clear consequences on the generated
language. We can thus expect them to be used by the language designer,
for instance to express a non CF but still syntactic requirement, like
naming scopes.
Syntactic predicates on the other hand are tools of the language
implementor, not of the language designer. They are used to solve an
implementation problem. The language implementor might then recognize a
slightly different language than the intended one when he interferes
with the parser by adding syntactic predicates.
--
Regards,
Sylvain
Return to the
comp.compilers page.
Search the
comp.compilers archives again.