From: Minero Aoki Date: 2004-02-28T22:23:25+09:00 Subject: Re: [RACC] Multiple entry points? Hi, In mail "[RACC] Multiple entry points?" Carlos wrote: > imagine I have a parser like this: > > program: PROGRAM name '{' statements '}' { ... } > ; > > statements: statement { ... } > | statements statement { ... } > ; > > statement: ... > > and I want to parse a single statement. How I can tell the parser to > start at 'statement' and return? Use dummy token. targets: PARSE_PROGRAM program /* PARSE_PROGRAM is a dummy token */ | PARSE_STATEMENT statement /* PARSE_STATEMENT is a dummy token */ ; program: .... statement: .... When you want to parse "program", a lexer returns PARSE_PROGRAM at first. When you want to parse "statement", a lexer returns PARSE_STATEMENT at first. Regards, Minero Aoki