diff options
author | johnvg | 2011-04-18 10:30:38 +0000 |
---|---|---|
committer | johnvg | 2011-04-18 10:30:38 +0000 |
commit | 28b01cc12855d78f452ca6cf192deca956c4a0bd (patch) | |
tree | e43d2437a1188ae5948eeac6fdc5a9117e305eb8 /frontend/syntax.dcl | |
parent | git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1926 1f8540f1-abd... (diff) |
add instance declarations with a qualified class name
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1928 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/syntax.dcl')
-rw-r--r-- | frontend/syntax.dcl | 12 |
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 |