nonterminal Pattern

In file: PatternTypes.sv

concrete production prodAppPattern_named

top::Pattern ::= prod::QName '(' ps::PatternList ',' nps::NamedPatternList ')'

In file: PatternTypes.sv

concrete production prodAppPattern

top::Pattern ::= prod::QName '(' ps::PatternList ')'

In file: PatternTypes.sv

concrete production propAppPattern_onlyNamed

top::Pattern ::= prod::QName '(' nps::NamedPatternList ')'

In file: PatternTypes.sv

concrete production wildcPattern

top::Pattern ::= '_'

In file: PatternTypes.sv

concrete production varPattern

top::Pattern ::= v::Name

In file: PatternTypes.sv

abstract production errorPattern

top::Pattern ::= msg::[Message]

In file: PatternTypes.sv

concrete production intPattern

top::Pattern ::= num::Int_t

In file: PatternTypes.sv

concrete production fltPattern

top::Pattern ::= num::Float_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

nonterminal NamedPatternList

In file: PatternTypes.sv

concrete production namedPatternList_one

top::NamedPatternList ::= p::NamedPattern

In file: PatternTypes.sv

concrete production namedPatternList_more

top::NamedPatternList ::= p::NamedPattern ',' ps::NamedPatternList

In file: PatternTypes.sv

abstract production namedPatternList_nil

top::NamedPatternList ::=

In file: PatternTypes.sv

nonterminal NamedPattern

In file: PatternTypes.sv

concrete production namedPattern

top::NamedPattern ::= qn::QName '=' p::Pattern

In file: PatternTypes.sv

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::Type

In file: Case.sv

function initialSegmentPatternType

Pair<[AbstractMatchRule] [AbstractMatchRule]> ::= lst::[AbstractMatchRule]

In file: Case.sv

function buildMixedCaseMatches

Expr ::= es::[Expr] ml::[AbstractMatchRule] failExpr::Expr retType::Type loc::Location

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

concrete production matchRuleWhen_c

top::MatchRule ::= pt::PatternList 'when' cond::Expr '->' e::Expr

In file: Case.sv

concrete production matchRuleWhenMatches_c

top::MatchRule ::= pt::PatternList 'when' cond::Expr 'matches' p::Pattern '->' e::Expr

In file: Case.sv

abstract production matchRule

top::AbstractMatchRule ::= pl::[Decorated Pattern] cond::Maybe<Pair<Expr Maybe<Pattern>>> e::Expr

In file: Case.sv

concrete production patternList_one

top::PatternList ::= p::Pattern

In file: Case.sv

concrete production patternList_snoc

top::PatternList ::= ps::PatternList ',' p::Pattern

In file: Case.sv

abstract production patternList_more

top::PatternList ::= p::Pattern ',' ps1::PatternList

In file: Case.sv

concrete production patternList_nil

top::PatternList ::=

In file: Case.sv

function appendPatternList

PatternList ::= p1::PatternList p2::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 exprFromName

Expr ::= n::Name

In file: Case.sv

function allConCaseTransform

PrimPattern ::= currExpr::Expr restExprs::[Expr] failCase::Expr retType::Type mrs::[AbstractMatchRule]

In file: Case.sv

function foldPrimPatterns

PrimPatterns ::= l::[PrimPattern]

In file: Case.sv

function bindHeadPattern

AbstractMatchRule ::= headExpr::Expr headType::Type absRule::AbstractMatchRule

In file: Case.sv

function makeLet

Expr ::= l::Location s::String t::Type 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

function buildMatchWhenConditionals

Expr ::= ml::[AbstractMatchRule] failExpr::Expr

In file: Case.sv

function areUselessPatterns

Boolean ::= ml::[AbstractMatchRule]

In file: Case.sv