# File rparsec/operators.rb, line 16 def initialize(ops, &block) @lexers = {} @parsers = {} sorted = Operators.sort(ops) lexers = sorted.map do |op| symbol = op.to_sym result = nil if op.length == 1 result = Parsers.char(op) else result = Parsers.str(op) end result = result.token(symbol) @lexers[symbol] = result @parsers[symbol] = Parsers.token(symbol, &block) result end @lexer = Parsers.sum(*lexers) end