Re: Bison Parser negate production rules

Detlef Meyer-Eltz <Meyer-Eltz@t-online.de>
29 Mar 2007 00:58:24 -0400

          From comp.compilers

Related articles
Bison Parser negate production rules royzlife@gmail.com (2007-03-23)
Re: Bison Parser negate production rules gneuner2@comcast.net (George Neuner) (2007-03-26)
Re: Bison Parser negate production rules cfc@shell01.TheWorld.com (Chris F Clark) (2007-03-26)
Re: Bison Parser negate production rules mco333@sympatico.ca (mco333) (2007-03-27)
Re: Bison Parser negate production rules gneuner2@comcast.net (George Neuner) (2007-03-27)
Re: Bison Parser negate production rules cfc@shell01.TheWorld.com (Chris F Clark) (2007-03-29)
Re: Bison Parser negate production rules Meyer-Eltz@t-online.de (Detlef Meyer-Eltz) (2007-03-29)
Re: Bison Parser negate production rules gneuner2@comcast.net (George Neuner) (2007-03-29)
Re: Bison Parser negate production rules cfc@shell01.TheWorld.com (Chris F Clark) (2007-04-02)
| List of all articles for this month |

From: Detlef Meyer-Eltz <Meyer-Eltz@t-online.de>
Newsgroups: comp.compilers
Date: 29 Mar 2007 00:58:24 -0400
Organization: Compilers Central
References: 07-03-084 07-03-090 07-03-094 07-03-097
Keywords: parse, theory
Posted-Date: 29 Mar 2007 00:58:24 EDT

>> (here i want to write a block of statements or rules which will be
>>executed if B doesnt match to C/D/E.)


>>Now, the "modern" parsing methodologies like GLR, PEGs, and
>>predicated
>>grammars are closed under complement, so if you use a technique like
>>that, you can add a NOT rule and still create a parser.


> I'd appreciate some references.




With TextTransformer


http://www.texttransformer.com


you can write a look-ahead production


B ::= C|D|E


and then call it in another production like


IF(!B())
block of statements or rules
ELSE
produce an error or do something else
END


You can immediately try it in the TextTransformer interpreter.




Detlef



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.