 
 class Scope {
     var storeTable: [String:Store]
+    var recordTable:[String:Record] = [:]
     
     init(storeTable:[String:Store]) {
         self.storeTable = storeTable

                    throw ContextError.TypeErrorInOperator
                }
            case .DotOperator:
                if(typeL == ValueType.RECORD){
                    let lhs = expression as! StoreExpr
                    let rhs = term as! StoreExpr
                    

                    
                    let check = AST.scope!.storeTable[store.ident]
                    if(check != nil) {
                        AST.scope!.storeTable[store.ident] = store
                        record.recordFields[store.ident] = store
                    } else {
                        throw ContextError.IdentifierAlreadyDeclared
                    }
                    
                    decl = decl!.typedIdent.optionalRecordDecl
                }
                
                AST.scope = oldScope
            } else {
                let store:Store = Store(ident: typedIdent.ident, type: type, isConst: isConst)
                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
                    }
                }
            }
            try! nextDecl?.checkDeclaration()
        }
