yacc grammar and types

Umm <l41484@alfa.ist.utl.pt>
27 Mar 1997 13:19:43 -0500

          From comp.compilers

Related articles
yacc grammar and types l41484@alfa.ist.utl.pt (Umm) (1997-03-27)
| List of all articles for this month |

From: Umm <l41484@alfa.ist.utl.pt>
Newsgroups: comp.compilers
Date: 27 Mar 1997 13:19:43 -0500
Organization: Compilers Central
Keywords: yacc, parse, question, comment

Who is the responsability of checking semantic value of a program? The
grammar parser or the interpreter/compiler itself. For example


Should i do it this way:


%union
{
int integer;
float real;
}


%token <integer> INT
%token <real> REAL


%%


expr : | INT
              | REAL
              | expr + expr
              | expr - expr
          ;




or should i use something like:


  expr : NUM
              | expr + expr { /* here i would determine the semantics of the
                                            expressions if it was a float or a int */ }
              | expr - expr
            ;




(used a very simple example)


Basically the question is, who has the burden of watching the semantics,
the parser or the "user" code.


--
                                                  Tiago Umm Pascoal
                                              l41484@alfa.ist.utl.pt
[You can do it either way. Which is easier or better depends on the language
you're parsing. -John]
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.