Averest


Compiler Module

Module Compiler implements the functions needed for compiling Quartz modules to AIF modules, as well as functions for linking AIF modules to AIF systems.

Functions and values

Function or value Description

Compile toSystem QM

Full Usage: Compile toSystem QM

Parameters:
Returns: AIFModule

Function compile translates a given Quartz module to a corresponding AIF module.

toSystem : bool
QM : QModule
Returns: AIFModule

CompileQuartzFile toSystem modName filename

Full Usage: CompileQuartzFile toSystem modName filename

Parameters:
    toSystem : bool
    modName : string
    filename : string

Returns: AIFModule

This function is used to parse a Quartz module to an AIF module.

toSystem : bool
modName : string
filename : string
Returns: AIFModule

CompileQuartzFile2AifFile toSystem filename

Full Usage: CompileQuartzFile2AifFile toSystem filename

Parameters:
    toSystem : bool
    filename : string

CompileQuartzFile2AifFile toSystem dirname modname parses, type-checks and compiles a qrz file with name dirname+modname+.qrz and depending on toSystem links the compiled aif module to an aif system. In contrast to function QuartzFile2AifFile, it is not checked whether already an aifm or aifs file that is up-to-date exists.

toSystem : bool
filename : string

Link aifm

Full Usage: Link aifm

Parameters:
Returns: AIFSystem

Function Link propagates the initial compile context through a given AIF module and includes all module calls with their computed compile contexts. The initial compile context assigns strt:=true, prmt:=false, susp:=false, abrt:=false, and strg:=false. Note that the abbreviation table is thereby replaced with a new one.

aifm : AIFModule
Returns: AIFSystem

ParseDeclStr stream

Full Usage: ParseDeclStr stream

Parameters:
Returns: Interface

stream : TextReader
Returns: Interface

ParseExprStr decls stream

Full Usage: ParseExprStr decls stream

Parameters:
Returns: QType * Expr * BoolExpr list * Interface

decls : Map<QName, Decl>
stream : TextReader
Returns: QType * Expr * BoolExpr list * Interface

ParseQTypeStr stream

Full Usage: ParseQTypeStr stream

Parameters:
Returns: QType

stream : TextReader
Returns: QType

ParseQuartzModuleFromFile filename

Full Usage: ParseQuartzModuleFromFile filename

Parameters:
    filename : string

Returns: QModule

filename : string
Returns: QModule

ParseQuartzModuleFromStream inStream

Full Usage: ParseQuartzModuleFromStream inStream

Parameters:
Returns: QModule

inStream : TextReader
Returns: QModule

ParseQuartzModuleFromString str

Full Usage: ParseQuartzModuleFromString str

Parameters:
    str : string

Returns: QModule

str : string
Returns: QModule

ParseUtyExprStr stream

Full Usage: ParseUtyExprStr stream

Parameters:
Returns: UtyExpr

stream : TextReader
Returns: UtyExpr

ParseUtyQuartzModuleFromFile filename

Full Usage: ParseUtyQuartzModuleFromFile filename

Parameters:
    filename : string

Returns: UtyQModule

filename : string
Returns: UtyQModule

ParseUtyQuartzModuleFromStream inStream

Full Usage: ParseUtyQuartzModuleFromStream inStream

Parameters:
Returns: UtyQModule

This function is used to parse a Quartz module from a file whose name is given as argument of the function.

inStream : TextReader
Returns: UtyQModule

ParseUtyQuartzModuleFromString str

Full Usage: ParseUtyQuartzModuleFromString str

Parameters:
    str : string

Returns: UtyQModule

str : string
Returns: UtyQModule

QuartzFile2AifFile toSystem filename

Full Usage: QuartzFile2AifFile toSystem filename

Parameters:
    toSystem : bool
    filename : string

QuartzFile2AifFile toSystem qrzfile first checks whether a corresponding aifs or aifm file exists in the directory where qrzfile is in. If one exists that is newer than qrzfile, then nothing is done. Otherwise, the qrzfile is parsed, type-checked and compiled to either an aifm or aifs file (depending on the value of argument variable toSystem). Modules that are called in qrzfile that are not up to date are recursively compiled and updated if necessary.

toSystem : bool
filename : string