diff options
author | Camil Staps | 2023-06-20 22:17:17 +0200 |
---|---|---|
committer | Camil Staps | 2023-06-20 22:17:17 +0200 |
commit | a1e0ba56b9eed9d23c835bb66278e1a6019f6075 (patch) | |
tree | 07bb213e60c5dbfcd5821c150a37beacf4a06499 /snug-clean/src | |
parent | Use StateT for CompileM; incorporate Globals and add label generator (diff) |
Simplify case syntax (at least for now): do not allow nested patterns
Diffstat (limited to 'snug-clean/src')
-rw-r--r-- | snug-clean/src/Snug/Parse.icl | 2 | ||||
-rw-r--r-- | snug-clean/src/Snug/Syntax.dcl | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/snug-clean/src/Snug/Parse.icl b/snug-clean/src/Snug/Parse.icl index 4347c34..783fc1a 100644 --- a/snug-clean/src/Snug/Parse.icl +++ b/snug-clean/src/Snug/Parse.icl @@ -80,7 +80,7 @@ where caseAlternative = liftM2 CaseAlternative pattern (pToken TArrow *> expression) complexPattern - = liftM2 ConstructorPattern constructorIdent (many simpleOrParenthesizedPattern) + = liftM2 ConstructorPattern constructorIdent (many symbolIdent) simplePattern = pToken TUnderscore $> Wildcard <<|> BasicValuePattern <$> basicValue diff --git a/snug-clean/src/Snug/Syntax.dcl b/snug-clean/src/Snug/Syntax.dcl index 865d5f7..5246dcd 100644 --- a/snug-clean/src/Snug/Syntax.dcl +++ b/snug-clean/src/Snug/Syntax.dcl @@ -21,7 +21,7 @@ definition module Snug.Syntax = Wildcard | BasicValuePattern !BasicValue | IdentPattern !SymbolIdent - | ConstructorPattern !ConstructorIdent ![Pattern] + | ConstructorPattern !ConstructorIdent ![SymbolIdent] :: CaseAlternative = CaseAlternative !Pattern !Expression |