nonterminal MRuleList

In file: Case.sv

nonterminal MatchRule

In file: Case.sv

nonterminal AbstractMatchRule

In file: Case.sv

nonterminal PatternList

In file: Case.sv

concrete production caseExpr_c

###### top::Expr ::= 'case' es::Exprs 'of' Opt_Vbar_t ml::MRuleList 'end' In file: Case.sv

abstract production caseExpr

###### top::Expr ::= es::[Expr] ml::[AbstractMatchRule] failExpr::Expr retType::TypeExp In file: Case.sv

concrete production mRuleList_one

###### top::MRuleList ::= m::MatchRule In file: Case.sv

concrete production mRuleList_cons

###### top::MRuleList ::= h::MatchRule '|' t::MRuleList In file: Case.sv

concrete production matchRule_c

###### top::MatchRule ::= pt::PatternList '->' e::Expr In file: Case.sv

abstract production matchRule

###### top::AbstractMatchRule ::= pl::[Decorated Pattern] e::Expr In file: Case.sv

concrete production patternList_one

###### top::PatternList ::= p::Pattern In file: Case.sv

concrete production patternList_more

###### top::PatternList ::= p::Pattern ',' ps1::PatternList In file: Case.sv

concrete production patternList_nil

###### top::PatternList ::= In file: Case.sv

function patternListVars

###### Name ::= p::Decorated Pattern In file: Case.sv

function convStringsToVarBinders

###### VarBinders ::= s::[Name] l::Location In file: Case.sv

function convStringsToExprs

###### [Expr] ::= s::[Name] tl::[Expr] In file: Case.sv

function allConCaseTransform

###### PrimPatterns ::= restExprs::[Expr] failCase::Expr retType::TypeExp mrs::[[AbstractMatchRule]] In file: Case.sv

function bindHeadPattern

###### AbstractMatchRule ::= headExpr::Expr headType::TypeExp rule::AbstractMatchRule In file: Case.sv

function makeLet

###### Expr ::= l::Location s::String t::TypeExp e::Expr o::Expr In file: Case.sv

function ensureDecoratedExpr

###### Expr ::= e::Decorated Expr In file: Case.sv

function mruleEqForGrouping

###### Boolean ::= a::AbstractMatchRule b::AbstractMatchRule In file: Case.sv

function mruleLTEForSorting

###### Boolean ::= a::AbstractMatchRule b::AbstractMatchRule In file: Case.sv

function groupMRules

###### [[AbstractMatchRule]] ::= l::[AbstractMatchRule] In file: Case.sv

nonterminal Pattern

In file: PatternTypes.sv

concrete production prodAppPattern

###### top::Pattern ::= prod::QName '(' ps::PatternList ')' In file: PatternTypes.sv

concrete production wildcPattern

###### top::Pattern ::= '_' In file: PatternTypes.sv

concrete production varPattern

###### top::Pattern ::= v::Name In file: PatternTypes.sv

concrete production intPattern

###### top::Pattern ::= num::Int_t In file: PatternTypes.sv

concrete production strPattern

###### top::Pattern ::= str::String_t In file: PatternTypes.sv

concrete production truePattern

###### top::Pattern ::= 'true' In file: PatternTypes.sv

concrete production falsePattern

###### top::Pattern ::= 'false' In file: PatternTypes.sv

abstract production nilListPattern

###### top::Pattern ::= '[' ']' In file: PatternTypes.sv

concrete production consListPattern

###### top::Pattern ::= hp::Pattern '::' tp::Pattern In file: PatternTypes.sv

concrete production listPattern

###### top::Pattern ::= '[' ps::PatternList ']' In file: PatternTypes.sv

attribute asListPattern

In file: PatternTypes.sv

aspect production patternList_one

###### top ::= p::Pattern In file: PatternTypes.sv

aspect production patternList_more

###### top ::= p::Pattern ',' ps1::PatternList In file: PatternTypes.sv

aspect production patternList_nil

###### top ::= In file: PatternTypes.sv