         
         func check() {
             try! declaration?.checkDeclaration()
+            let test1 = AST.globalStoreTable
+            let test2 = AST.globalRoutineTable
+            let test3 = AST.globalRecordTable
             try! declaration?.check()
             try! cmd.check()
         }

    
    static var globalStoreTable:[String:Store] = [:]
    static var globalRoutineTable:[String:Routine] = [:]
    static var scope:Scope?
    
	class Program: AST {

            }
            
            if(AST.scope != nil){
                let check = AST.scope!.storeTable[store.ident]
                if(check != nil) {
                    throw ContextError.IdentifierAlreadyDeclared
                } else {
                    AST.scope!.storeTable[store.ident] = store
                }
            } else {
                let check = AST.globalStoreTable[store.ident]
                if(check != nil) {
                    throw ContextError.IdentifierAlreadyDeclared
                } else {
                    AST.globalStoreTable[store.ident] = store
                }
            }
        
            return store
        }
        
        override func check() throws {
            throw ImplementationError.ToBeImplement
        }
        
        override func checkDeclaration() throws {
