Ejemplo n.º 1
0
 // Expr
 public void Visit(Ast.Expr.VarRef vr)
 {
     if (vr.Item.Decl != null)
     {
         vr.ActualType = ((Ast.Stmt.Vardef)vr.Item.Decl.Value).Item.Formal.Type;
     }
 }
Ejemplo n.º 2
0
        // Expr
        public void Visit(Ast.Expr.VarRef vr)
        {
            // Find the corresponding vardef in symbol table
            Option <Ast.Stmt> vd = this.m_symbolTable.Find(vr.Item.Name);

            vd.Match(v => vr.Item.Decl = v,
                     () => this.m_errorList.Add("Symbol Error: No matching symbol table entry for variable " +
                                                vr.Item.Name));
            //System.Console.WriteLine("Reference to " + vr.Item.Name + " " + vr.Item.Decl);
        }