diff options
Diffstat (limited to 'lib/irb/slex.rb')
-rw-r--r-- | lib/irb/slex.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/irb/slex.rb b/lib/irb/slex.rb index 5dc496d893..ceee90b3d9 100644 --- a/lib/irb/slex.rb +++ b/lib/irb/slex.rb @@ -31,22 +31,22 @@ class SLex @head = Node.new("") end - def def_rule(token, preproc = nil, postproc = nil) + def def_rule(token, preproc = nil, postproc = nil, &block) # print node.inspect, "\n" if SLex.debug? - postproc = Block.new if iterator? + postproc = block if block_given? node = create(token, preproc, postproc) end - def def_rules(*tokens) - if iterator? - p = Block.new + def def_rules(*tokens, &block) + if block_given? + p = block end for token in tokens def_rule(token, nil, p) end end - def preporc(token, proc) + def preproc(token, proc) node = search(token) node.preproc=proc end |