diff options
author | pieter | 1999-10-27 11:57:56 +0000 |
---|---|---|
committer | pieter | 1999-10-27 11:57:56 +0000 |
commit | 4730d6544caf08222b93c492fd92d6f1e4e415c1 (patch) | |
tree | ba7ac7a8025fc4c2d4117aa9268f4e352d7d094c | |
parent | minor 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
-rw-r--r-- | frontend/parse.icl | 6 |
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 |