|
|
|
| Description |
| Internal state of the compiler.
Used from the renaming pass until code generation.
Needs IdSupply.
|
|
| Synopsis |
|
| data IntState = IntState Id (Id, PackedString) (Map Id Info) [String] Flags | | | dummyIntState :: IntState | | | getModuleId :: IntState -> String | | | getInfo :: Id -> a -> IntState -> (Info, IntState) | | | getIntState :: a -> IntState -> (IntState, IntState) | | | addDefaultMethod :: a -> (Id, Id) -> IntState -> IntState | | | defaultMethodsIS :: IntState -> Id -> [Id] | | | getUnique :: a -> IntState -> (Id, IntState) | | | addInstMethod :: TokenId -> TokenId -> TokenId -> NewType -> Id -> a -> IntState -> (Id, IntState) | | | updInstMethodNT :: TokenId -> TokenId -> Id -> NewType -> Id -> a -> IntState -> IntState | | | addInstance :: Id -> Id -> PackedString -> [Id] -> [(Id, Id)] -> a -> IntState -> IntState | | | addNewLetBound :: Id -> TokenId -> a -> IntState -> IntState | | | updVarNT :: Pos -> Id -> NewType -> Reduce IntState IntState | | | updVarArity :: Pos -> Id -> Int -> Reduce IntState IntState | | | addIS :: Id -> Info -> IntState -> IntState | | | lookupIS :: IntState -> Id -> Maybe Info | | | updateIS :: IntState -> Id -> (Info -> Info) -> IntState | | | uniqueIS :: IntState -> (Id, IntState) | | | uniqueISs :: IntState -> [a] -> ([(a, Id)], IntState) | | | strIS :: IntState -> Id -> String | | | tidIS :: IntState -> Id -> TokenId | | | getErrors :: IntState -> (IntState, [String]) | | | getErrorsIS :: IntState -> Either [String] IntState | | | addError :: IntState -> [Char] -> IntState | | | getSymbolTable :: IntState -> Map Id Info | | | mrpsIS :: IntState -> PackedString | | | miIS :: IntState -> Id | | | getFlags :: IntState -> Flags | | | getIndDataIS :: IntState -> Info -> Id | | | globalIS :: IntState -> Id -> Bool | | | arityIS :: IntState -> Id -> Int | | | checkNT :: Pos -> (Id -> String) -> NewType -> Maybe String | | | module Info |
|
|
| Documentation |
|
| data IntState |
| Shouldn't this be a record? [SamB]
| | Constructors | | Instances | |
|
|
| dummyIntState :: IntState |
|
| getModuleId :: IntState -> String |
|
| getInfo :: Id -> a -> IntState -> (Info, IntState) |
|
| getIntState :: a -> IntState -> (IntState, IntState) |
|
| addDefaultMethod :: a -> (Id, Id) -> IntState -> IntState |
|
| defaultMethodsIS :: IntState -> Id -> [Id] |
| Return all the default methods of an id, including super class methods
|
|
| getUnique :: a -> IntState -> (Id, IntState) |
| Do we really need both getUnique and uniqueIS? I vote for taking out uniqueIS. [SamB]
|
|
| addInstMethod :: TokenId -> TokenId -> TokenId -> NewType -> Id -> a -> IntState -> (Id, IntState) |
|
| updInstMethodNT :: TokenId -> TokenId -> Id -> NewType -> Id -> a -> IntState -> IntState |
|
| addInstance :: Id -> Id -> PackedString -> [Id] -> [(Id, Id)] -> a -> IntState -> IntState |
|
| addNewLetBound :: Id -> TokenId -> a -> IntState -> IntState |
|
| updVarNT :: Pos -> Id -> NewType -> Reduce IntState IntState |
| Adds type of variable to symbol table of internal state.
Assumes that variable is already in symbol table.
Adds error message, if there exists already a type for the variable
in the symbol table or type is badly formed (duplicate predicates in context).
|
|
| updVarArity :: Pos -> Id -> Int -> Reduce IntState IntState |
| Adds arity of variable to symbol table of internal state
(any old arity is overwritten).
Assumes that variable is already in symbol table.
|
|
| addIS :: Id -> Info -> IntState -> IntState |
| Add new info for identifier to the symbol table
|
|
| lookupIS :: IntState -> Id -> Maybe Info |
| Lookup identifier in symbol table
|
|
| updateIS :: IntState -> Id -> (Info -> Info) -> IntState |
| Update info for identifier in symbol table
|
|
| uniqueIS :: IntState -> (Id, IntState) |
| Obtain a new unique and hence also a new internal state
|
|
| uniqueISs :: IntState -> [a] -> ([(a, Id)], IntState) |
| Associate new uniques with given list of entities; hence also new internal
state
|
|
| strIS :: IntState -> Id -> String |
| Give printable string for identifier
|
|
| tidIS :: IntState -> Id -> TokenId |
| Give token of identifier
|
|
| getErrors :: IntState -> (IntState, [String]) |
|
| getErrorsIS :: IntState -> Either [String] IntState |
|
| addError :: IntState -> [Char] -> IntState |
|
| getSymbolTable :: IntState -> Map Id Info |
|
| mrpsIS :: IntState -> PackedString |
|
| miIS :: IntState -> Id |
|
| getFlags :: IntState -> Flags |
|
| getIndDataIS :: IntState -> Info -> Id |
|
| globalIS :: IntState -> Id -> Bool |
|
| arityIS :: IntState -> Id -> Int |
|
| checkNT :: Pos -> (Id -> String) -> NewType -> Maybe String |
| Tests if context of type has duplicate predicates.
Second argument converts class identifier to string.
*** This module not a good place for this function.
|
|
| module Info |
|
| Produced by Haddock version 0.8 |