nonterminal PrimPatterns

In file: PrimitiveMatch.sv

nonterminal PrimPattern

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:consPattern

top::silver:modification:primitivepattern:PrimPatterns ::= p::silver:modification:primitivepattern:PrimPattern _G_1::silver:extension:patternmatching:Vbar_kwd ps::silver:modification:primitivepattern:PrimPatterns

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:onePattern

top::silver:modification:primitivepattern:PrimPatterns ::= p::silver:modification:primitivepattern:PrimPattern

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:conslstPattern

top::silver:modification:primitivepattern:PrimPattern ::= h::silver:definition:core:Name t::silver:definition:core:Name e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:nilPattern

top::silver:modification:primitivepattern:PrimPattern ::= e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:booleanPattern

top::silver:modification:primitivepattern:PrimPattern ::= i::String _G_1::silver:extension:patternmatching:Arrow_kwd e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:stringPattern

top::silver:modification:primitivepattern:PrimPattern ::= i::silver:definition:core:String_t _G_1::silver:extension:patternmatching:Arrow_kwd e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:floatPattern

top::silver:modification:primitivepattern:PrimPattern ::= f::silver:definition:core:Float_t _G_1::silver:extension:patternmatching:Arrow_kwd e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:integerPattern

top::silver:modification:primitivepattern:PrimPattern ::= i::silver:definition:core:Int_t _G_1::silver:extension:patternmatching:Arrow_kwd e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:prodPatternGadt

top::silver:modification:primitivepattern:PrimPattern ::= qn::Decorated silver:definition:core:QName ns::silver:modification:primitivepattern:VarBinders e::silver:definition:core:Expr

In file: PrimitiveMatch.sv

aspect production silver:modification:primitivepattern:prodPatternNormal

top::silver:modification:primitivepattern:PrimPattern ::= qn::Decorated silver:definition:core:QName ns::silver:modification:primitivepattern:VarBinders e::silver:definition:core:Expr

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 floatPattern

top::PrimPattern ::= f::Float_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 transType::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

aspect production silver:modification:primitivepattern:nilVarBinder

top::silver:modification:primitivepattern:VarBinders ::=

In file: VarBinders.sv

aspect production silver:modification:primitivepattern:consVarBinder

top::silver:modification:primitivepattern:VarBinders ::= v::silver:modification:primitivepattern:VarBinder _G_1::silver:definition:core:Comma_t vs::silver:modification:primitivepattern:VarBinders

In file: VarBinders.sv

aspect production silver:modification:primitivepattern:oneVarBinder

top::silver:modification:primitivepattern:VarBinders ::= v::silver:modification:primitivepattern:VarBinder

In file: VarBinders.sv

aspect production silver:modification:primitivepattern:ignoreVarBinder

top::silver:modification:primitivepattern:VarBinder ::= _G_0::silver:definition:core:UnderScore_t

In file: VarBinders.sv

aspect production silver:modification:primitivepattern:varVarBinder

top::silver:modification:primitivepattern:VarBinder ::= n::silver:definition:core:Name

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