コード例 #1
0
        public object VisitGlobalVarDefNode(GlobalVarDefNode n)
        {
            WriteLine(n.kind + " - " + n.name + ":" + n.Type.Name);
            Indent();
            Visit(n.rhs);
            Dedent();

            return(null);
        }
コード例 #2
0
ファイル: TypeMaker.cs プロジェクト: humax1992/LLang
        public override object VisitGlobalVarDefNode(GlobalVarDefNode n)
        {
            TypeSymbol ts = MakeTypeSymbolForString(n.Type.Name);

            if (ts == null)
            {
                Visit(n.rhs); ts = n.rhs.Type;
            }

            n.Type = ts;

            varTypes.PutInScope(n.name, ts);
            return(null);
        }
コード例 #3
0
ファイル: MIPSCodeGenerator.cs プロジェクト: humax1992/LLang
 public override MIPSRegister VisitGlobalVarDefNode(GlobalVarDefNode n)
 {
     return(base.VisitGlobalVarDefNode(n));
 }
コード例 #4
0
ファイル: LLVMCodeGenerator.cs プロジェクト: humax1992/LLang
 public override LLVMRegister VisitGlobalVarDefNode(GlobalVarDefNode n)
 {
     throw new NotImplementedException();
 }
コード例 #5
0
 public override object VisitGlobalVarDefNode(GlobalVarDefNode n)
 {
     Visit(n.rhs);
     semanticChecker.CheckAndReport(varTypes.PutInScope(n.name, n.Type), n.sourceLoc, $"Global Variable {n.name} already declared");
     return(null);
 }
コード例 #6
0
ファイル: Interpreter.cs プロジェクト: humax1992/LLang
 public override object VisitGlobalVarDefNode(GlobalVarDefNode n)
 {
     interp.globals.PutInScope(n.name, interp.Eval(n.rhs));
     return(null);
 }
コード例 #7
0
        public virtual T VisitGlobalVarDefNode(GlobalVarDefNode n)
        {
            T b = n.rhs.Accept(this);

            return(default(T));
        }