Header Ads Widget

Declarations

Declarations

When we encounter declarations, we need to lay out storage for the declared variables.

For every local name in a procedure, we create a ST(Symbol Table) entry containing:

  1. The type of the name
  2. How much storage the name requires

The production:

  1. D →    integer, id  
  2.    D  →   real, id  
  3.    D  →   D1, id  

A suitable transition scheme for declarations would be:

Production ruleSemantic action
D → integer, idENTER (id.PLACE, integer)
  D.ATTR = integer
D → real, idENTER (id.PLACE, real)
  D.ATTR = real
D → D1, idENTER (id.PLACE, D1.ATTR)
  D.ATTR = D1.ATTR

ENTER is used to make the entry into symbol table and ATTR is used to trace the data type.

Post a Comment

0 Comments