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:

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
[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.