[silver:compiler:definition:flow:driver]

Contents of [silver:compiler:definition:flow:driver]:

Defined in this grammar:

synthesized attribute dumpFlowGraph :: Boolean

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 9.

(Undocumented.)


abstract production dumpFlowGraphFlag   (top::CmdArgs ::= rest::CmdArgs )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 16.

(Undocumented.)


function unList   ([Pair<String [b]>] ::= l::[Pair<String b>] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 47.

(Undocumented.)


abstract production dumpFlowGraphAction   (top::DriverAction ::= prodGraph::[ProductionGraph] finalGraph::[ProductionGraph] flowTypes::[Pair<String [FlowType]>] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 62.

(Undocumented.)


function generateFlowDotGraph   (String ::= flowTypes::[Pair<String [FlowType]>] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 77.

(Undocumented.)


fun expandLabels   ([String] ::= l::[Pair<String String>] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 91.

(Undocumented.)


function makeLabelDcls   (String ::= nt::String attr::String )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 93.

(Undocumented.)


fun makeNtFlow   (String ::= nt::String e::Pair<String String> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 99.

(Undocumented.)


fun generateDotGraph   (String ::= specs::[ProductionGraph] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 102.

(Undocumented.)


fun makeDotArrow   (String ::= p::String e::(FlowVertex,FlowVertex) style::String )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 114.

(Undocumented.)


synthesized attribute dotName :: String

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/DumpGraph.sv line 122.

(Undocumented.)


type FlowType

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 3.

(Undocumented.)


function findFlowType   (FlowType ::= prod::String e::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 5.

(Undocumented.)


fun findProductionGraph   (ProductionGraph ::= n::String l::EnvTree<ProductionGraph> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 12.

(Undocumented.)


function expandGraph   ([FlowVertex] ::= v::[FlowVertex] e::ProductionGraph )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 19.

(Undocumented.)


fun onlyLhsInh   (set:Set<String> ::= s::[FlowVertex] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 28.

(Undocumented.)


function expandSuspectEdges   (set:Set<FlowVertex> ::= todolist::[FlowVertex] current::set:Set<FlowVertex> p::ProductionGraph )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 32.

(Undocumented.)


fun inhDepsForSyn   (set:Set<String> ::= syn::String nt::String flow::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 53.

(Undocumented.)


fun isLhsInhSet   (Boolean ::= v::FlowVertex inhSet::set:Set<String> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 58.

(Undocumented.)


fun createFlowGraph   (g:Graph<FlowVertex> ::= l::[(FlowVertex,FlowVertex)] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 64.

(Undocumented.)


fun extendFlowGraph   (g:Graph<FlowVertex> ::= l::[(FlowVertex,FlowVertex)] g::g:Graph<FlowVertex> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 66.

(Undocumented.)


fun transitiveClose   (g:Graph<FlowVertex> ::= graph::g:Graph<FlowVertex> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 69.

(Undocumented.)


fun repairClosure   (g:Graph<FlowVertex> ::= newEdges::[(FlowVertex,FlowVertex)] graph::g:Graph<FlowVertex> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowGraph.sv line 73.

(Undocumented.)


type ProdName

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 15.

(Undocumented.)


type NtName

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 16.

(Undocumented.)


function computeInitialFlowTypes   (EnvTree<FlowType> ::= specDefs::[(String,String,[String],[String])] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 19.

(Undocumented.)


fun initialFlowType   (Pair<NtName FlowType> ::= x::(NtName,[(String,[String])]) )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 31.

(Undocumented.)


fun ntListLte   (Boolean ::= a::Pair<NtName a> b::Pair<NtName b> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 33.

(Undocumented.)


fun ntListEq   (Boolean ::= a::Pair<NtName a> b::Pair<NtName b> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 34.

(Undocumented.)


fun ntListCoalesce   ([(NtName,[(String,[String])])] ::= l::[[(NtName,String,[String])]] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 35.

(Undocumented.)


fun toFlatEdges   ([Pair<String String>] ::= x::Pair<String [String]> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 38.

(Undocumented.)


fun runFlowTypeInference   ((EnvTree<ProductionGraph>,EnvTree<FlowType>) ::= graphs::[ProductionGraph] ntEnv::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 41.

(Undocumented.)


type InferState

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 48.

(Undocumented.)


fun fullySolveFlowTypes   (InferState<()> ::= prods::[ProdName] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 54.

(Undocumented.)


abstract production updateProdGraph   (top::InferState<Boolean> ::= prod::ProdName )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 75.

(Undocumented.)


abstract production updateFlowType   (top::InferState<()> ::= prod::ProdName )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 92.

(Undocumented.)


fun expandVertexFilterTo   ([(String,String)] ::= ver::FlowVertex graph::ProductionGraph )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 105.

(Undocumented.)


global filterLhsInh

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 112.

(Undocumented.)


fun collectInhs   ([String] ::= f::FlowVertex )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 120.

(Undocumented.)


synthesized attribute flowTypeName :: String

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/FlowTypes.sv line 130.

(Undocumented.)


data nonterminal ProductionGraph

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 5.

(Undocumented.)


synthesized attribute stitchedGraph :: (Maybe<ProductionGraph> ::= EnvTree<FlowType> EnvTree<ProductionGraph>)

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 13.

(Undocumented.)


synthesized attribute transitiveClosure :: ProductionGraph

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 17.

(Undocumented.)


synthesized attribute edgeMap :: (set:Set<FlowVertex> ::= FlowVertex)

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 21.

(Undocumented.)


synthesized attribute suspectEdgeMap :: ([FlowVertex] ::= FlowVertex)

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 22.

(Undocumented.)


synthesized attribute cullSuspect :: (Maybe<ProductionGraph> ::= EnvTree<FlowType>)

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 24.

(Undocumented.)


synthesized attribute prod :: String

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 27.

(Undocumented.)


synthesized attribute lhsNt :: String

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 29.

(Undocumented.)


synthesized attribute flowTypeVertexes :: [FlowVertex]

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 31.

(Undocumented.)


abstract production productionGraph   (top::ProductionGraph ::= prod::String lhsNt::String flowTypeVertexes::[FlowVertex] graph::g:Graph<FlowVertex> suspectEdges::[(FlowVertex,FlowVertex)] stitchPoints::[StitchPoint] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 48.

(Undocumented.)


fun updateGraph   (Maybe<ProductionGraph> ::= graph::ProductionGraph prodEnv::EnvTree<ProductionGraph> ntEnv::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 91.

(Undocumented.)


function constructProductionGraph   (ProductionGraph ::= dcl::ValueDclInfo flowEnv::FlowEnv realEnv::Env )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 141.

(Undocumented.)


function constructFunctionGraph   (ProductionGraph ::= ns::NamedSignature flowEnv::FlowEnv realEnv::Env prodEnv::EnvTree<ProductionGraph> ntEnv::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 229.

(Undocumented.)


function constructAnonymousGraph   (ProductionGraph ::= defs::[FlowDef] realEnv::Env prodEnv::EnvTree<ProductionGraph> ntEnv::EnvTree<FlowType> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 272.

(Undocumented.)


function constructDefaultProductionGraph   ([ProductionGraph] ::= nt::NtName flowEnv::FlowEnv realEnv::Env )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 307.

(Undocumented.)


function constructPhantomProductionGraph   ([ProductionGraph] ::= nt::String flowEnv::FlowEnv realEnv::Env )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 354.

(Undocumented.)


function constructDispatchGraph   (ProductionGraph ::= ns::NamedSignature flowEnv::FlowEnv realEnv::Env )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 390.

(Undocumented.)


fun getPhantomEdge   ((FlowVertex,FlowVertex) ::= at::String )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 411.

(Undocumented.)


fun addFwdSynEqs   ([(FlowVertex,FlowVertex)] ::= prod::ProdName syns::[String] flowEnv::FlowEnv )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 420.

(Undocumented.)


fun addFwdInhEqs   ([(FlowVertex,FlowVertex)] ::= prod::ProdName inhs::[String] flowEnv::FlowEnv )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 430.

(Undocumented.)


fun addFwdProdAttrInhEqs   ([(FlowVertex,FlowVertex)] ::= prod::ProdName fName::String inhs::[String] flowEnv::FlowEnv )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 438.

(Undocumented.)


fun allFwdProdAttrs   ([String] ::= d::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 443.

(Undocumented.)


fun addDefEqs   ([(FlowVertex,FlowVertex)] ::= prod::ProdName nt::NtName syns::[String] flowEnv::FlowEnv )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 452.

(Undocumented.)


fun addSharingEqs   ([(FlowVertex,FlowVertex)] ::= flowEnv::FlowEnv realEnv::Env d::FlowDef )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 464.

(Undocumented.)


fun nonterminalStitchPoints   ([StitchPoint] ::= realEnv::Env nt::NtName vertexType::VertexType )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 488.

(Undocumented.)


fun localStitchPoints   ([StitchPoint] ::= realEnv::Env nt::NtName ds::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 500.

(Undocumented.)


function rhsStitchPoints   ([StitchPoint] ::= realEnv::Env rhs::NamedSignatureElement )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 512.

(Undocumented.)


fun patternStitchPoints   ([StitchPoint] ::= realEnv::Env defs::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 521.

(Undocumented.)


fun patVarStitchPoints   ([StitchPoint] ::= matchProd::String scrutinee::VertexType realEnv::Env var::PatternVarProjection )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 529.

(Undocumented.)


fun subtermDecSiteStitchPoints   ([StitchPoint] ::= flowEnv::FlowEnv realEnv::Env defs::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 538.

(Undocumented.)


fun sigSharingStitchPoints   ([StitchPoint] ::= flowEnv::FlowEnv realEnv::Env defs::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 549.

(Undocumented.)


fun implementedSigStitchPoints   ([StitchPoint] ::= realEnv::Env ie::NamedSignatureElement prod::String se::NamedSignatureElement )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 560.

(Undocumented.)


fun dispatchStitchPoints   ([StitchPoint] ::= flowEnv::FlowEnv realEnv::Env dispatch::NamedSignature defs::[FlowDef] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 568.

(Undocumented.)


fun prodGraphToEnv   (Pair<String ProductionGraph> ::= p::ProductionGraph )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 589.

(Undocumented.)


function findAdmissibleEdges   ([(FlowVertex,FlowVertex)] ::= edge::(FlowVertex,FlowVertex) graph::g:Graph<FlowVertex> ft::FlowType )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/ProductionGraph.sv line 622.

(Undocumented.)


data nonterminal StitchPoint

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 3.

(Undocumented.)


synthesized attribute stitchEdges :: ([(FlowVertex,FlowVertex)] ::= EnvTree<FlowType> EnvTree<ProductionGraph>)

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 5.

(Undocumented.)


abstract production nonterminalStitchPoint   (top::StitchPoint ::= nt::String vertexType::VertexType )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 11.

(Undocumented.)


abstract production projectionStitchPoint   (top::StitchPoint ::= prod::String sourceType::VertexType targetType::VertexType prodType::VertexType attrs::[String] )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 40.

(Undocumented.)


fun projectAttribute   ([(FlowVertex,FlowVertex)] ::= attr::String sourceType::VertexType targetType::VertexType prodType::VertexType prod::ProductionGraph )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 63.

(Undocumented.)


fun stitchEdgesFor   ([(FlowVertex,FlowVertex)] ::= sp::StitchPoint ntEnv::EnvTree<FlowType> prodEnv::EnvTree<ProductionGraph> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 80.

(Undocumented.)


fun edgeIsNew   (Boolean ::= edge::(FlowVertex,FlowVertex) e::g:Graph<FlowVertex> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 84.

(Undocumented.)


fun flowTypeEdge   ((FlowVertex,FlowVertex) ::= vt::VertexType edge::Pair<String String> )

Contained in grammar [silver:compiler:definition:flow:driver]. Defined at silver/compiler/definition/flow/driver/StitchPoint.sv line 94.

(Undocumented.)