make pragma expression parsing use the same parser mechanism as elsewhere
This commit is contained in:
parent
98c6af780e
commit
d7eb146d28
1 changed files with 2 additions and 3 deletions
|
|
@ -287,7 +287,7 @@ proc checkBinary(p: TParser) {.inline.} =
|
||||||
#| optInd = COMMENT?
|
#| optInd = COMMENT?
|
||||||
#| optPar = (IND{>} | IND{=})?
|
#| optPar = (IND{>} | IND{=})?
|
||||||
#|
|
#|
|
||||||
#| simpleExpr = arrowExpr (OP0 optInd arrowExpr)*
|
#| simpleExpr = arrowExpr (OP0 optInd arrowExpr)* pragma?
|
||||||
#| arrowExpr = assignExpr (OP1 optInd assignExpr)*
|
#| arrowExpr = assignExpr (OP1 optInd assignExpr)*
|
||||||
#| assignExpr = orExpr (OP2 optInd orExpr)*
|
#| assignExpr = orExpr (OP2 optInd orExpr)*
|
||||||
#| orExpr = andExpr (OP3 optInd andExpr)*
|
#| orExpr = andExpr (OP3 optInd andExpr)*
|
||||||
|
|
@ -771,8 +771,7 @@ proc parseOperators(p: var TParser, headNode: PNode,
|
||||||
|
|
||||||
proc simpleExprAux(p: var TParser, limit: int, mode: TPrimaryMode): PNode =
|
proc simpleExprAux(p: var TParser, limit: int, mode: TPrimaryMode): PNode =
|
||||||
result = primary(p, mode)
|
result = primary(p, mode)
|
||||||
if p.tok.tokType == tkCurlyDotLe and
|
if p.tok.tokType == tkCurlyDotLe and (p.tok.indent < 0 or realInd(p)) and
|
||||||
p.lex.lineNumber == result.info.line and
|
|
||||||
mode == pmNormal:
|
mode == pmNormal:
|
||||||
var pragmaExp = newNodeP(nkPragmaExpr, p)
|
var pragmaExp = newNodeP(nkPragmaExpr, p)
|
||||||
pragmaExp.addSon result
|
pragmaExp.addSon result
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue