コード例 #1
0
ファイル: RootAnalyser.cs プロジェクト: parhelia512/nginz
        public override void Accept(FunctionDeclaration funcDecl)
        {
            symbolTable.AddSymbol(funcDecl.Name);
            FunctionAnalyser visitor = new FunctionAnalyser(errorLog, symbolTable);

            symbolTable.BeginScope(true);

            foreach (string param in funcDecl.Parameters)
            {
                symbolTable.AddSymbol(param);
            }

            funcDecl.Children [0].Visit(visitor);
            symbolTable.EndScope(true);
        }
コード例 #2
0
 public override void Accept(ClassDeclaration classDecl)
 {
     symbolTable.AddSymbol(classDecl.Name);
 }
コード例 #3
0
 public override void Accept(NameExpression ident)
 {
     symbolTable.AddSymbol(ident.Value);
 }
コード例 #4
0
 public override void Accept(ClassDeclaration declaration)
 {
     symbolTable.AddSymbol(declaration.Name);
 }
コード例 #5
0
 public override void Accept(InterfaceDeclaration interfaceDecl)
 {
     symbolTable.AddSymbol(interfaceDecl.Name);
 }