next up previous contents
Next: Example run of lex Up: CS2111: Design and Implementation Previous: Phases of Compilation   Contents

A small example - Parse Tree after Semantic Annotation


 float f (int i)
 {
   int j; float r;
   j= i*i; r= j;
   return r;
 }

             v
        ANALYSE INPUT
             v

 a function with 1 parameter and 2 variables

                       = (int)
                     /         \
         var 1 (int)            * (int)
                               /       \
                  param 1 (int)         param 1 (int)

                        = (float)
                      /          \
         var 2 (float)            convert int to float
                                   \
                                    var 1 (int)

         return (float)
                       \
                        var 2 (float)



Pete Jinks
1999-09-30