[silver:compiler:extension:patternmatching]
Contents of [silver:compiler:extension:patternmatching]
:
Defined in this grammar:
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 8.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 15.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 19.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 23.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 27.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 31.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 35.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 42.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 50.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 54.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 58.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 61.
(Undocumented.)
concrete production prodAppPattern_named
(top::Pattern ::= prod::QName '(' ps::PatternList ',' nps::NamedPatternList ')'
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 71.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 98.
(Undocumented.)
concrete production propAppPattern_onlyNamed
(top::Pattern ::= prod::QName '(' nps::NamedPatternList ')'
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 104.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 113.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 136.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 170.
(Undocumented.)
aspect default production top::Pattern ::=
{#aspect_default_production_silver:compiler:extension:patternmatching:Pattern}
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 187.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 200.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 211.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 225.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 239.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 253.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 267.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 281.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 295.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 313.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 320.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 339.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 341.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 344.
(Undocumented.)
concrete production namedPatternList_more
(top::NamedPatternList ::= p::NamedPattern ',' ps::NamedPatternList
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 354.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 367.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 377.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 380.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/PatternTypes.sv line 399.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 18.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 20.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 21.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 22.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 23.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 24.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 25.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 29.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 33.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 35.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 38.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 39.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 42.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 44.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 46.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 48.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 50.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 53.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 57.
(Undocumented.)
concrete production caseExpr_c
(top::Expr ::= 'case' es::Exprs 'of' Opt_Vbar_t ml::MRuleList 'end'
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 73.
(Undocumented.)
abstract production caseExpr
(top::Expr ::= es::[Expr] ml::[AbstractMatchRule] complete::Boolean failExpr::Expr retType::Type
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 95.
(Undocumented.)
function getFreeVars
(attribute frame occurs on a, attribute freeVars {frame} occurs on a => ts:Set<String> ::= frame::BlockContext x::a
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 174.
(Undocumented.)
fun initialSegmentPatternType
(Pair<[AbstractMatchRule] [AbstractMatchRule]> ::= lst::[AbstractMatchRule]
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 186.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 216.
(Undocumented.)
function compileCaseExpr
(Expr ::= es::[Expr] ml::[AbstractMatchRule] failExpr::Expr retType::Type env::Env
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 283.
(Undocumented.)
function compilePatternGroups
(Expr ::= matchEs::[Expr] ruleGroups::[[AbstractMatchRule]] finalFail::Expr retType::Type env::Env
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 333.
(Undocumented.)
function allConCaseTransform
(PrimPattern ::= currExpr::Expr restExprs::[Expr] failCase::Expr retType::Type mrs::[AbstractMatchRule] env::Env
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 407.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 446.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 506.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 520.
(Undocumented.)
function checkCompleteness
(Maybe<[Pattern]> ::= lst::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 559.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 627.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 635.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 646.
(Undocumented.)
fun groupAllPattsByHeadHelp
(Pair<[[Decorated Pattern]] [[Decorated Pattern]]> ::= item::[Decorated Pattern] rest::[[Decorated Pattern]]
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 653.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 668.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 697.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 701.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 705.
(Undocumented.)
function checkPrimitiveCompleteness
(Maybe<[Pattern]> ::= conPatts::[[Decorated Pattern]] varPatts::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 712.
(Undocumented.)
function checkBooleanCompleteness
(Maybe<[Pattern]> ::= conPatts::[[Decorated Pattern]] varPatts::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 757.
(Undocumented.)
function checkListCompleteness
(Maybe<[Pattern]> ::= conPatts::[[Decorated Pattern]] varPatts::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 806.
(Undocumented.)
function checkNonterminalCompleteness
(Maybe<[Pattern]> ::= conPatts::[[Decorated Pattern]] varPatts::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 869.
(Undocumented.)
function checkAllProdGroupsComplete
(Maybe<[Pattern]> ::= conGrps::[[[Decorated Pattern]]] varPatts::[[Decorated Pattern]] env::Env flowEnv::FlowEnv
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 943.
(Undocumented.)
function checkAllProdsRepresented
(Maybe<Pattern> ::= givenPatts::[Decorated Pattern] requiredProds::[String] env::Env
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 976.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1011.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1019.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1027.
(Undocumented.)
concrete production matchRuleWhen_c
(top::MatchRule ::= pt::PatternList 'when' cond::Expr '->' e::Expr
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1045.
(Undocumented.)
concrete production matchRuleWhenMatches_c
(top::MatchRule ::= pt::PatternList 'when' cond::Expr 'matches' p::Pattern '->' e::Expr
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1063.
(Undocumented.)
abstract production matchRule
(top::AbstractMatchRule ::= pl::[Decorated Pattern] cond::Maybe<Pair<Expr Maybe<Pattern>>> e::Expr
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1082.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1125.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1136.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1143.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1157.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1170.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1183.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1193.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1197.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1199.
(Undocumented.)
function bindHeadPattern
(AbstractMatchRule ::= headExpr::Expr headType::Type absRule::AbstractMatchRule
)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1212.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1238.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1248.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1254.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1255.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1258.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1259.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1268.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1275.
(Undocumented.)
Contained in grammar [silver:compiler:extension:patternmatching]
. Defined at silver/compiler/extension/patternmatching/Case.sv line 1304.
(Undocumented.)