Hi,
I'm new to Bison. I'm writing an interpreter for a lightweight C-like
language using flex and bison. My language has to support the *two*
types *int* and *float* used by the identifiers.
My question is, do I have to write separate rules for both types in my
.y file, where each set of rules is dedicated for a given type, or do
I have to handle the differentiation between those types in the
grammatical actions associated with a unified set of rules for these
two types?
Here is an example of the grammar, I coded for bison:
expr: CONSTINT { $<ival>$ = $<ival>1; }
| CONSTFLOAT { $<fval>$ = $<fval>1; }
| IDENTIFIER { $<ival>$ = getvalue($<id>1); }
| expr ADD expr { $<ival>$ = $<ival>1 + $<ival>3; }
| expr SUB expr { $<ival>$ = $<ival>1 - $<ival>3; }
;
If I opt for the second case, I would, for example, modify the
function getvalue to distinguish between the two types given the
identifier's name, stored in id.
Any ideas guys?
BR,
Ilyes Gouta.
_______________________________________________
[email protected] http://lists.gnu.org/mailman/listinfo/help-bison