diff options
author | Araq <rumpf_a@web.de> | 2012-11-22 08:31:40 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-11-22 08:31:40 +0100 |
commit | f610d2d2217b757901929ed92725a1b682e1165c (patch) | |
tree | c3f684991eda6ba26613c44e190be3b0e20d382a /compiler | |
parent | 476f6fc8ee6b7a26c2ac04cb356837d35a6cb929 (diff) | |
download | Nim-f610d2d2217b757901929ed92725a1b682e1165c.tar.gz |
'iterator' as type description
Diffstat (limited to 'compiler')
-rwxr-xr-x | compiler/parser.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim index 680279bcf..59f7934e0 100755 --- a/compiler/parser.nim +++ b/compiler/parser.nim @@ -731,7 +731,8 @@ proc parseProcExpr(p: var TParser, isExpr: bool): PNode = proc isExprStart(p: TParser): bool = case p.tok.tokType - of tkSymbol, tkAccent, tkOpr, tkNot, tkNil, tkCast, tkIf, tkProc, tkBind, + of tkSymbol, tkAccent, tkOpr, tkNot, tkNil, tkCast, tkIf, + tkProc, tkIterator, tkBind, tkParLe, tkBracketLe, tkCurlyLe, tkIntLit..tkCharLit, tkVar, tkRef, tkPtr, tkTuple, tkType, tkWhen, tkCase: result = true @@ -811,6 +812,9 @@ proc primary(p: var TParser, skipSuffix = false): PNode = proc parseTypeDesc(p: var TParser): PNode = if p.tok.toktype == tkProc: result = parseProcExpr(p, false) + elif p.tok.toktype == tkIterator: + result = parseProcExpr(p, false) + result.kind = nkIteratorTy else: result = parseExpr(p) proc parseExprStmt(p: var TParser): PNode = |