17
17
(* Tricks used to handle the ambiguity in the grammar with the typedef
18
18
* which impose a cooperation between the lexer and the parser.
20
20
* An example by hughes casse: "in the symbol table, local
21
21
* definition must replace type definition in order to correctly parse
22
22
* local variable in functions body. This is the only way to correctly
23
23
* handle this kind of exception, that is,
25
25
* typedef ... ID; int f(int *p) {int ID; return (ID) * *p;} If ID
26
26
* isn't overload, last expression is parsed as a type cast, if it
27
27
* isn't, this a multiplication."
29
29
* Why parse_typedef_fix2 ? Cos when introduce new variable, for
30
30
* instance when declare parameters for a function such as int var_t,
31
31
* then the var_t must not be lexed as a typedef, so we must disable