| Related articles |
|---|
| How do I implement check_type() ? seescreen@gmail.com (2009-05-22) |
| Re: How do I implement check_type() ? DrDiettrich1@aol.com (Hans-Peter Diettrich) (2009-05-25) |
| Re: How do I implement check_type() ? m.helvensteijn@gmail.com (Michiel Helvensteijn) (2009-05-25) |
| From: | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
| Newsgroups: | comp.compilers |
| Date: | Mon, 25 May 2009 09:39:37 +0200 |
| Organization: | Compilers Central |
| References: | 09-05-108 |
| Keywords: | C++, parse |
| Posted-Date: | 25 May 2009 05:08:00 EDT |
seescreen@gmail.com schrieb:
> In the case of this project I need to return TYPE_NAME from the lexer
> whenever I encounter a Class name. The problem seems to be that only
> the parser knows whether or not the IDENTIFIER is a class name or not,
> and yet the lexer sees the name before it goes to the parser.
>
> What is the simplest way to get around this problem?
I'd create a list of type names, maintained by the parser, then the
lexer can lookup all identifiers in that list.
When you include the preprocessor (what's unlikely when using lex/yacc
;-) then the name mapping has to occur somewhere betweeen the lexer and
the parser, after macro expansion.
DoDi
Return to the
comp.compilers page.
Search the
comp.compilers archives again.