diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2017-11-07 22:14:55 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-11-07 22:14:55 +0100 |
commit | d4cdd92bc90c20250b312fb11b8cb014a6204ce5 (patch) | |
tree | a5d3a160467052d800dc43bee9806a6807bc0d7d /compiler | |
parent | 157d48bc3208720af98ac5ed60a08494ddc5e328 (diff) | |
parent | f221c192b3779a50b51d7ba22431e0d06ab0edc1 (diff) | |
download | Nim-d4cdd92bc90c20250b312fb11b8cb014a6204ce5.tar.gz |
Merge branch 'devel' of github.com:nim-lang/Nim into devel
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/parser.nim | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim index e3bb68da4..41303ead9 100644 --- a/compiler/parser.nim +++ b/compiler/parser.nim @@ -72,6 +72,7 @@ proc parseStmtPragma(p: var TParser): PNode proc parsePragma(p: var TParser): PNode proc postExprBlocks(p: var TParser, x: PNode): PNode proc parseExprStmt(p: var TParser): PNode +proc parseBlock(p: var TParser): PNode # implementation proc getTok(p: var TParser) = @@ -1078,12 +1079,14 @@ proc parseTypeDescKAux(p: var TParser, kind: TNodeKind, parseSymbolList(p, list) proc parseExpr(p: var TParser): PNode = - #| expr = (ifExpr + #| expr = (blockExpr + #| | ifExpr #| | whenExpr #| | caseExpr #| | tryExpr) #| / simpleExpr case p.tok.tokType: + of tkBlock: result = parseBlock(p) of tkIf: result = parseIfExpr(p, nkIfExpr) of tkWhen: result = parseIfExpr(p, nkWhenExpr) of tkCase: result = parseCase(p) @@ -1517,6 +1520,7 @@ proc parseFor(p: var TParser): PNode = proc parseBlock(p: var TParser): PNode = #| blockStmt = 'block' symbol? colcom stmt + #| blockExpr = 'block' symbol? colcom stmt result = newNodeP(nkBlockStmt, p) getTokNoInd(p) if p.tok.tokType == tkColon: addSon(result, ast.emptyNode) |