aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorpieter1999-10-27 11:57:56 +0000
committerpieter1999-10-27 11:57:56 +0000
commit4730d6544caf08222b93c492fd92d6f1e4e415c1 (patch)
treeba7ac7a8025fc4c2d4117aa9268f4e352d7d094c /frontend
parentminor change: comment removed (diff)
better error message for let!
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@31 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/parse.icl6
1 files changed, 4 insertions, 2 deletions
diff --git a/frontend/parse.icl b/frontend/parse.icl
index 9cc7731..d69bece 100644
--- a/frontend/parse.icl
+++ b/frontend/parse.icl
@@ -1861,6 +1861,7 @@ trySimpleExpressionT token is_pattern pState
= (False, PE_Empty, tokenBack pState)
= trySimpleNonLhsExpressionT token pState
+trySimpleNonLhsExpressionT :: !Token *ParseState -> *(!Bool,!ParsedExpr,!*ParseState)
trySimpleNonLhsExpressionT BackSlashToken pState
# (lam_ident, pState) = internalIdent "\\" pState
(lam_args, pState) = wantList "arguments" trySimpleLhsExpression pState
@@ -1876,8 +1877,9 @@ trySimpleNonLhsExpressionT BackSlashToken pState
EqualToken -> pState
DotToken -> pState
_ -> parseError "lambda expression" (Yes token) "-> or =" (tokenBack pState)
-//trySimpleNonLhsExpressionT (LetToken strict) pState
-trySimpleNonLhsExpressionT (LetToken strict=:False) pState // let! is not supported in Clean 2.0
+trySimpleNonLhsExpressionT (LetToken strict) pState // let! is not supported in Clean 2.0
+ | strict = (False, PE_Empty, parseError "Expression" No "let! (strict let) not supported in this version of Clean, expression" pState)
+ // otherwise
# (let_binds, pState) = wantLocals pState
pState = wantToken FunctionContext "let expression" InToken pState
(let_expr, pState) = wantExpression cIsNotAPattern pState