Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #148111
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: How to parse attributes? |
| Date | 2019-11-22 02:21 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87blt47is6.fsf@bsb.me.uk> (permalink) |
| References | <qr2u7d$lo5$1@solani.org> <cded955b-2b9f-456b-84bc-4f2fb97aad9f@googlegroups.com> <qr5m0u$f6g$1@solani.org> |
Philipp Klaus Krause <pkk@spth.de> writes: > I guess the main problem is that I am not really familiar with lex / > yacc. The situation with the attribute is a bit different from string > literals though: > > 1) Inside a string literal, everything is just text. The inside of the > attribute still should be tokenized. ... and parsed. > 2) [ is atoken that has many uses in C. We don't really know we're in an > attribute while in lex, that knowledge is only there yacc. It would have been simpler to handle if [[ had been made a new punctuator. That would not be odd; both + and ++ are distinct tokens. However, it seems an attribute specification starts with two separate [ tokens, so if you need to use lex start conditions to alter the lexing inside [[ and ]], you will need to use a yacc action to trigger that. Ask in a yacc/bison group to get the details. But I am not 100% sure you have to do this. What is your source for keywords being regarded as identifiers? In the usual C grammar, the rule for "identifier" is very general (the usual letters and digits definitions), but keywords are considered to be a separate category. Thus the grammar item "identifier" really means "things that have the right form but which aren't keywords". -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
How to parse attributes? Philipp Klaus Krause <pkk@spth.de> - 2019-11-20 09:41 +0100
Re: How to parse attributes? David Brown <david.brown@hesbynett.no> - 2019-11-20 10:05 +0100
Re: How to parse attributes? Philipp Klaus Krause <pkk@spth.de> - 2019-11-20 11:05 +0100
Re: How to parse attributes? David Brown <david.brown@hesbynett.no> - 2019-11-20 12:35 +0100
Re: How to parse attributes? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-20 11:06 +0000
Re: How to parse attributes? Öö Tiib <ootiib@hot.ee> - 2019-11-20 23:16 -0800
Re: How to parse attributes? Philipp Klaus Krause <pkk@spth.de> - 2019-11-21 10:39 +0100
Re: How to parse attributes? Öö Tiib <ootiib@hot.ee> - 2019-11-21 02:51 -0800
Re: How to parse attributes? James Kuyper <jameskuyper@alumni.caltech.edu> - 2019-11-21 05:00 -0800
Re: How to parse attributes? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-22 02:21 +0000
Re: How to parse attributes? Keith Thompson <kst-u@mib.org> - 2019-11-21 20:41 -0800
Re: How to parse attributes? Philipp Klaus Krause <pkk@spth.de> - 2019-11-22 09:15 +0100
Re: How to parse attributes? David Brown <david.brown@hesbynett.no> - 2019-11-22 09:48 +0100
Re: How to parse attributes? "A. K." <minforth@arcor.de> - 2019-11-22 02:00 -0800
Re: How to parse attributes? David Brown <david.brown@hesbynett.no> - 2019-11-22 11:41 +0100
Re: How to parse attributes? Jorgen Grahn <grahn+nntp@snipabacken.se> - 2019-11-24 14:02 +0000
Re: How to parse attributes? raltbos@xs4all.nl (Richard Bos) - 2019-11-25 16:21 +0000
Re: How to parse attributes? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-22 17:46 +0000
Re: How to parse attributes? Keith Thompson <kst-u@mib.org> - 2019-11-22 10:53 -0800
Re: How to parse attributes? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2019-11-23 00:08 +0000
Re: How to parse attributes? scott@slp53.sl.home (Scott Lurndal) - 2019-11-21 15:57 +0000
Re: How to parse attributes? Bonita Montero <Bonita.Montero@gmail.com> - 2019-11-22 08:21 +0100
Re: How to parse attributes? Bart <bc@freeuk.com> - 2019-11-22 12:11 +0000
csiph-web