protected override bool Visit(ASTDeclaration node) { // This should be safe, if we did typechecking correct var type = (TypeType)node.DeclaredType.TypeInfo; _lastNode = new CDeclaration { Name = GetVariableName(node.Name), Type = GetCType(type.Type) }; return(true); }
public ASTIterationDeclaredStatement(ASTDeclaration init, List <ASTNode> cond, List <ASTNode> step, ASTStatement stat) : base("IterationDeclaredStatement") { Initilize = init; Condition = cond; Step = step; Stat = stat; }
protected override bool Visit(ASTDeclaration node) { if (!Visit(node.DeclaredType)) { return(false); } node.TypeInfo = node.DeclaredType.TypeInfo; if (_scope.TryAddSymbol(node.Name, node.TypeInfo)) { return(true); } Error(node.Position, ""); return(false); }
public bool Visit(ASTDeclaration node) { throw new NotImplementedException(); }
protected abstract bool Visit(ASTDeclaration node);