SymbolTableΒΆ

forttyp.spad line 250 [edit on github]

Create and manipulate a symbol table for generated FORTRAN code

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: % -> Table(Symbol, FortranType)

coerce(x) returns a table view of x

declare!: (List Symbol, FortranType, %) -> FortranType

declare!(l, t, tab) creates new entries in tab, declaring each of l to be of type t

declare!: (Symbol, FortranType, %) -> FortranType

declare!(u, t, tab) creates a new entry in tab, declaring u to be of type t

empty: () -> %

empty() returns a new, empty symbol table

externalList: % -> List Symbol

externalList(tab) returns a list of all the external symbols in tab

fortranTypeOf: (Symbol, %) -> FortranType

fortranTypeOf(u, tab) returns the type of u in tab

newTypeLists: % -> SExpression

newTypeLists(x) undocumented

parametersOf: % -> List Symbol

parametersOf(tab) returns a list of all the symbols declared in tab

printTypes: % -> Void

printTypes(tab) produces FORTRAN type declarations from tab, on the current FORTRAN output stream

symbolTable: List Record(key: Symbol, entry: FortranType) -> %

symbolTable(l) creates a symbol table from the elements of l.

typeList: (FortranScalarType, %) -> List Union(name: Symbol, bounds: List Union(S: Symbol, P: Polynomial Integer))

typeList(t, tab) returns a list of all the objects of type t in tab

typeLists: % -> List List Union(name: Symbol, bounds: List Union(S: Symbol, P: Polynomial Integer))

typeLists(tab) returns a list of lists of types of objects in tab

CoercibleTo OutputForm