3
3
4
4
Dispatch function for when the parser has reached a keyword.
5
5
"""
6
- function parse_kw (ps:: ParseState ; allow_const_field = false )
6
+ function parse_kw (ps:: ParseState ; allow_no_assignment = false )
7
7
k = kindof (ps. t)
8
8
if ps. closer. precedence == 20 && ps. lt. kind === Tokens. EX_OR && k != = Tokens. END
9
9
return EXPR (:IDENTIFIER , ps)
@@ -52,7 +52,7 @@ function parse_kw(ps::ParseState; allow_const_field = false)
52
52
elseif k === Tokens. BAREMODULE
53
53
return @default ps @closer ps :block parse_blockexpr (ps, :baremodule )
54
54
elseif k === Tokens. CONST
55
- return @default ps parse_const (ps; allow_const_field = allow_const_field )
55
+ return @default ps parse_const (ps; allow_no_assignment = allow_no_assignment )
56
56
elseif k === Tokens. GLOBAL
57
57
return @default ps parse_local_global (ps, false )
58
58
elseif k === Tokens. LOCAL
@@ -75,7 +75,7 @@ function parse_kw(ps::ParseState; allow_const_field = false)
75
75
elseif k === Tokens. TYPE
76
76
return EXPR (:IDENTIFIER , ps)
77
77
elseif k === Tokens. STRUCT
78
- return @default ps @closer ps :block parse_blockexpr (ps, :struct , allow_const_field = true )
78
+ return @default ps @closer ps :block parse_blockexpr (ps, :struct , allow_no_assignment = true )
79
79
elseif k === Tokens. MUTABLE
80
80
return @default ps @closer ps :block parse_mutable (ps)
81
81
elseif k === Tokens. OUTER
@@ -85,10 +85,10 @@ function parse_kw(ps::ParseState; allow_const_field = false)
85
85
end
86
86
end
87
87
88
- function parse_const (ps:: ParseState ; allow_const_field = false )
88
+ function parse_const (ps:: ParseState ; allow_no_assignment = false )
89
89
kw = EXPR (ps)
90
90
arg = parse_expression (ps)
91
- if ! allow_const_field && ! (isassignment (unwrapbracket (arg)) || (headof (arg) === :global && length (arg. args) > 0 && isassignment (unwrapbracket (arg. args[1 ]))))
91
+ if ! allow_no_assignment && ! (isassignment (unwrapbracket (arg)) || (headof (arg) === :global && length (arg. args) > 0 && isassignment (unwrapbracket (arg. args[1 ]))))
92
92
arg = mErrorToken (ps, arg, ExpectedAssignment)
93
93
end
94
94
ret = EXPR (:const , EXPR[arg], EXPR[kw])
@@ -154,7 +154,7 @@ function parse_mutable(ps::ParseState)
154
154
if kindof (ps. nt) === Tokens. STRUCT
155
155
kw = EXPR (ps)
156
156
next (ps)
157
- ret = parse_blockexpr (ps, :mutable , allow_const_field = true )
157
+ ret = parse_blockexpr (ps, :mutable , allow_no_assignment = true )
158
158
pushfirst! (ret. trivia, setparent! (kw, ret))
159
159
update_span! (ret)
160
160
else
@@ -308,15 +308,15 @@ function parse_do(ps::ParseState, pre::EXPR)
308
308
end
309
309
310
310
"""
311
- parse_blockexpr(ps::ParseState, head; allow_const_field = false)
311
+ parse_blockexpr(ps::ParseState, head; allow_no_assignment = false)
312
312
313
313
General function for parsing block expressions comprised of a series of statements
314
314
terminated by an `end`.
315
315
"""
316
- function parse_blockexpr (ps:: ParseState , head; allow_const_field = false )
316
+ function parse_blockexpr (ps:: ParseState , head; allow_no_assignment = false )
317
317
kw = EXPR (ps)
318
318
sig = parse_blockexpr_sig (ps, head)
319
- blockargs = parse_block (ps, EXPR[], (Tokens. END,), docable (head); allow_const_field = allow_const_field )
319
+ blockargs = parse_block (ps, EXPR[], (Tokens. END,), docable (head); allow_no_assignment = allow_no_assignment )
320
320
if head === :begin
321
321
EXPR (:block , blockargs, EXPR[kw, accept_end (ps)])
322
322
elseif sig === nothing
0 commit comments