Mon Feb 19 14:45:49 PST 2007 Duncan Coutts
* Ignore all __attribute__ expressions in the lexer
GNU __attribute__ expressions take the form of:
__attribute__ '(' '(' ... ')' ')'
where the stuff in the middle may also have nested '(' ')' brackets.
So upon getting an __attribute__ token, the lexer now skips tokens
counting bracket nesting depth and stops when it's seen the full
attribute args.
So the parser now never sees attributes which is good because they
greatly complicate the grammar of declarations. On the other hand
it's bad because later on we might need the info from some
attributes. So we'll likely have to revisit this issue.
M ./c2hs/c/CLexer.x -2 +14