Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #723
| From | Hans-Peter Diettrich <DrDiettrich1@aol.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support |
| Date | 2012-08-18 10:13 +0100 |
| Organization | Compilers Central |
| Message-ID | <12-08-006@comp.compilers> (permalink) |
| References | <12-08-005@comp.compilers> |
hsad005@gmail.com schrieb: > I need to write a parser for a programming langauge which is as > complex as C++/Java, and to even complicate the matter, there are > constructs in this langauge that doesn't allow me to use > type/identifier dis-ambiguating lexer hack. Why don't you fix your language, and remove such ambiguities? Look at Pascal or other Wirthian languages... > In other words, I will > have to return just one lexical token (say IDENTIFIER) from the lexer > for both type references as well as non-type variable references. This shouldn't be a big problem, as long as the parser does not rely on such a distinction. Once a symbol has been defined, it can contain some indication about its nature. > Given these restrictions, I was wondering if it would be a good idea > to pick yacc/bison for my parser...? Or, should I consider a hand > written recursive descent parser. I don't see how this decision is related to above problem. > Regards. > [Get it working in bison, then in the unlikely event that's not fast > enough, profile your compiler to see where it's spending its time and > fix what needs to be fixed. Although in theory GLR can be very slow, > in practice the ambiguities are generally resolved within a few tokens > and the performance is fine. compilers always spend way more time in > the lexer than the parser anyway. Writing RD parsers by hand can be > fun, but you never know what language it actually parses. -John] There exist parser generators for several models. I also doubt that - except in misdesigned C-ish languages - a compiler spends significant time in the lexer. This may be true for dummy parsers, which do nothing but syntax checks, but not for compilers with code generation, optimization and more. DoDi [Compilers spend a lot of time in the lexer, because that's the only phase that has to look at the input one character at a time. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support hsad005@gmail.com - 2012-08-17 11:22 -0700
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2012-08-18 10:13 +0100
Re: lexer speed, was Bison Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2012-08-20 01:01 +0100
Re: lexer speed, was Bison Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2012-08-20 16:14 +0100
Re: lexer speed, was Bison BGB <cr88192@hotmail.com> - 2012-08-20 14:14 -0500
Re: lexer speed, was Bison Hans-Peter Diettrich <DrDiettrich1@aol.com> - 2012-08-21 07:40 +0100
Re: lexer speed, was Bison "BartC" <bc@freeuk.com> - 2012-08-21 17:39 +0100
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-08-20 13:35 +0000
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support BGB <cr88192@hotmail.com> - 2012-08-21 14:45 -0500
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support "BartC" <bc@freeuk.com> - 2012-08-22 14:04 +0100
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support BGB <cr88192@hotmail.com> - 2012-08-26 19:37 -0500
Bison deterministic LALR parser for Java/C++ "BartC" <bc@freeuk.com> - 2012-08-29 22:03 +0100
speeding up C recompilation, was Re: Bison deterministic LALR BGB <cr88192@hotmail.com> - 2012-09-04 13:45 -0500
Re: C include handling, was Bison deterministic LALR Marco van de Voort <marcov@toad.stack.nl> - 2012-09-05 08:40 +0000
Re: Bison deterministic LALR(1) parser for Java/C++ (kind of complex langauge) without 'lexar hack' support hsad005@gmail.com - 2012-08-18 02:09 -0700
csiph-web