コード例 #1
0
ファイル: StatementGen.cs プロジェクト: Etny/RedmondCompiler
        public void CompileVarDec(TypeName type, SyntaxTreeNode node)
        {
            string name = node[0].ValueString;

            if (CurrentTable.Contains(name))
            {
                ErrorManager.ExitWithError(new Exception("Duplicate ID: " + name));
            }

            CodeSymbol symbol = builder.AddLocal(name, type);//CurrentTable.AddSymbol(new CodeSymbol(name, node[2].ValueString));

            if (node.Children.Length > 1)
            {
                builder.AddInstruction(new InterCopy(symbol, ToIntermediateExpression(node[1])));
            }
        }