Primitive Pattern
nonterminal PrimPatterns
In file: PrimitiveMatch.sv
nonterminal PrimPattern
In file: PrimitiveMatch.sv
concrete production matchPrimitiveConcrete
top::Expr ::= 'match' e::Expr 'return' t::TypeExpr 'with' pr::PrimPatterns 'else' '->' f::Expr 'end'
In file: PrimitiveMatch.sv
abstract production matchPrimitive
top::Expr ::= e::Expr t::TypeExpr pr::PrimPatterns f::Expr
In file: PrimitiveMatch.sv
abstract production matchPrimitiveReal
top::Expr ::= e::Expr t::TypeExpr pr::PrimPatterns f::Expr
In file: PrimitiveMatch.sv
concrete production onePattern
top::PrimPatterns ::= p::PrimPattern
In file: PrimitiveMatch.sv
concrete production consPattern
top::PrimPatterns ::= p::PrimPattern '|' ps::PrimPatterns
In file: PrimitiveMatch.sv
concrete production prodPattern
top::PrimPattern ::= qn::QName '(' ns::VarBinders ')' '->' e::Expr
In file: PrimitiveMatch.sv
abstract production prodPatternNormal
top::PrimPattern ::= qn::Decorated QName ns::VarBinders e::Expr
In file: PrimitiveMatch.sv
abstract production prodPatternGadt
top::PrimPattern ::= qn::Decorated QName ns::VarBinders e::Expr
In file: PrimitiveMatch.sv
abstract production integerPattern
top::PrimPattern ::= i::Int_t '->' e::Expr
In file: PrimitiveMatch.sv
abstract production stringPattern
top::PrimPattern ::= i::String_t '->' e::Expr
In file: PrimitiveMatch.sv
abstract production booleanPattern
top::PrimPattern ::= i::String '->' e::Expr
In file: PrimitiveMatch.sv
abstract production nilPattern
top::PrimPattern ::= e::Expr
In file: PrimitiveMatch.sv
abstract production conslstPattern
top::PrimPattern ::= h::Name t::Name e::Expr
In file: PrimitiveMatch.sv
function skolemizeProductionType
Type ::= te::Type
In file: Types.sv
function fullySkolemizeProductionType
Type ::= te::Type
In file: Types.sv
attribute refineWith
In file: Types.sv
attribute refine
In file: Types.sv
aspect production varType
top ::= tv::TyVar
In file: Types.sv
aspect production skolemType
top ::= tv::TyVar
In file: Types.sv
aspect production errorType
top ::=
In file: Types.sv
aspect production intType
top ::=
In file: Types.sv
aspect production boolType
top ::=
In file: Types.sv
aspect production floatType
top ::=
In file: Types.sv
aspect production stringType
top ::=
In file: Types.sv
aspect production terminalIdType
top ::=
In file: Types.sv
aspect production nonterminalType
top ::= fn::String params::[Type]
In file: Types.sv
aspect production terminalType
top ::= fn::String
In file: Types.sv
aspect production decoratedType
top ::= te::Type
In file: Types.sv
aspect production functionType
top ::= out::Type params::[Type] namedParams::[NamedArgType]
In file: Types.sv
aspect production foreignType
top ::= fn::String params::[Type]
In file: Types.sv
function produceRefinement
Substitution ::= scrutineeType::Type constructorType::Type
In file: Types.sv
function refine
Substitution ::= te1::Type te2::Type
In file: Types.sv
function refineAll
Substitution ::= te1::[Type] te2::[Type]
In file: Types.sv
function isOnlyTyVars
Boolean ::= ls::[Type]
In file: Types.sv
nonterminal VarBinders
In file: VarBinders.sv
nonterminal VarBinder
In file: VarBinders.sv
concrete production oneVarBinder
top::VarBinders ::= v::VarBinder
In file: VarBinders.sv
concrete production consVarBinder
top::VarBinders ::= v::VarBinder ',' vs::VarBinders
In file: VarBinders.sv
concrete production nilVarBinder
top::VarBinders ::=
In file: VarBinders.sv
concrete production varVarBinder
top::VarBinder ::= n::Name
In file: VarBinders.sv
concrete production ignoreVarBinder
top::VarBinder ::= '_'
In file: VarBinders.sv