21 |
char *sval; |
char *sval; |
22 |
} |
} |
23 |
|
|
|
* Language independent actions |
|
|
|
|
|
Currently bison, the generator, transforms $1, $$ and so forth into |
|
|
direct C code, manipulating the stacks. This is problematic, because |
|
|
(i) it means that if we want more languages, we need to update the |
|
|
generator, and (ii), it forces names everywhere (e.g., the C++ |
|
|
skeleton would be happy to use other naming schemes, and actually, |
|
|
even other accessing schemes). |
|
|
|
|
|
Therefore we want |
|
|
|
|
|
1. the generator to replace $1, etc. by M4 macro invocations |
|
|
(b4_dollar(1), b4_at(3), b4_dollar_dollar) etc. |
|
|
|
|
|
2. the skeletons to define these macros. |
|
|
|
|
|
But currently the actions are double-quoted, to protect them from M4 |
|
|
evaluation. So we need to: |
|
|
|
|
|
3. stop quoting them |
|
|
|
|
|
4. change the [ and ] in the actions into @<:@ and @:>@ |
|
|
|
|
|
5. extend the postprocessor to maps these back onto [ and ]. |
|
|
|
|
24 |
* Coding system independence |
* Coding system independence |
25 |
Paul notes: |
Paul notes: |
26 |
|
|