[silver:compiler:definition:flow:driver]

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

Defined in this grammar:

data nonterminal ProductionGraph

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

(Undocumented.)


synthesized attribute stitchedGraph :: (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 :: (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::[Pair<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   (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.)


fun computeAllProductionGraphs   ([ProductionGraph] ::= prods::[ValueDclInfo] prodTree::EnvTree<FlowDef> flowEnv::FlowEnv realEnv::Env )

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

(Undocumented.)


function constructProductionGraph   (ProductionGraph ::= dcl::ValueDclInfo defs::[FlowDef] flowEnv::FlowEnv realEnv::Env )

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

(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 214.

(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 253.

(Undocumented.)


function constructDefaultProductionGraph   (ProductionGraph ::= ns::NamedSignature 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 289.

(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 329.

(Undocumented.)


fun getPhantomEdge   (Pair<FlowVertex FlowVertex> ::= at::String )

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

(Undocumented.)


fun addFwdSynEqs   ([Pair<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 362.

(Undocumented.)


fun addFwdInhEqs   ([Pair<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 372.

(Undocumented.)


fun addFwdProdAttrInhEqs   ([Pair<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 380.

(Undocumented.)


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

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

(Undocumented.)


fun addDefEqs   ([Pair<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 394.

(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 411.

(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 423.

(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 435.

(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 444.

(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 452.

(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 460.

(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 475.

(Undocumented.)


function findAdmissibleEdges   ([Pair<FlowVertex FlowVertex>] ::= edge::Pair<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 508.

(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.)


function fullySolveFlowTypes   (([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 46.

(Undocumented.)


function solveFlowTypes   ((Boolean,[ProductionGraph],EnvTree<FlowType>) ::= graphs::[ProductionGraph] prodEnv::EnvTree<ProductionGraph> ntEnv::EnvTree<FlowType> )

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

(Undocumented.)


function findBrandNewEdges   ([Pair<String String>] ::= candidates::[Pair<String [String]>] currentFlowType::FlowType )

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

(Undocumented.)


fun expandVertexFilterTo   (Pair<String [String]> ::= ver::FlowVertex graph::ProductionGraph )

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

(Undocumented.)


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

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

(Undocumented.)


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

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

(Undocumented.)


synthesized attribute flowTypeName :: String

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

(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 :: ([Pair<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   ([Pair<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   ([Pair<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::Pair<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   (Pair<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.)


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::Pair<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.)


function 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 22.

(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 31.

(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 35.

(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 56.

(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 61.

(Undocumented.)


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

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

(Undocumented.)


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

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

(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 72.

(Undocumented.)


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

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

(Undocumented.)