aboutsummaryrefslogtreecommitdiff
path: root/frontend/syntax.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r--frontend/syntax.dcl12
1 files changed, 8 insertions, 4 deletions
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index a689b8c..6bf9923 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -295,7 +295,7 @@ cNameLocationDependent :== True
}
:: ParsedInstance member =
- { pi_class :: !Ident
+ { pi_class :: !IdentOrQualifiedIdent
, pi_ident :: !Ident
, pi_types :: ![Type]
, pi_context :: ![TypeContext]
@@ -304,6 +304,10 @@ cNameLocationDependent :== True
, pi_specials :: !Specials
}
+:: IdentOrQualifiedIdent
+ = Ident !Ident
+ | QualifiedIdent /*module*/!Ident !String
+
/*
Objects of type Specials are used to specify specialized instances of overloaded functions.
These can only occur in definition modules. After parsing the SP_ParsedSubstitutions alternative
@@ -449,7 +453,7 @@ cNameLocationDependent :== True
}
:: ClassIdent =
- { ci_ident :: !Ident
+ { ci_ident :: !IdentOrQualifiedIdent
, ci_arity :: !Int
}
@@ -666,7 +670,7 @@ cIsALocalVar :== False
, cc_linear_bits ::![Bool]
, cc_producer ::!ProdClass
}
-
+
:: ConsClass :== Int
:: ProdClass :== Bool
@@ -1436,7 +1440,7 @@ instance <<< (Module a) | <<< a, ParsedDefinition, InstanceType, AttributeVar, T
IndexRange,
FunType,
GenericClassInfo,
- TCClass
+ TCClass, IdentOrQualifiedIdent
instance <<< FunctionBody