class Gherkin::RbLexer::Fr
def scan(data)
def scan(data) data = (data + "\n%_FEATURE_END_%").unpack("c*") # Explicit EOF simplifies things considerably eof = pe = data.length @line_number = 1 @last_newline = 0 715 "lib/gherkin/rb_lexer/fr.rb" 0 = data.length lexer_start 140 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 724 "lib/gherkin/rb_lexer/fr.rb" , _trans, _keys, _acts, _nacts = nil _level = 0 me = 10 trans = 15 n = 20 _eof = 30 = 40 true ger_goto = false oto_level <= 0 == pe o_level = _test_eof == 0 o_level = _out oto_level <= _resume = _lexer_key_offsets[cs] s = _lexer_index_offsets[cs] = _lexer_single_lengths[cs] k_match = false _klen > 0 _lower = _keys _upper = _keys + _klen - 1 loop do break if _upper < _lower _mid = _lower + ( (_upper - _lower) >> 1 ) if data[p] < _lexer_trans_keys[_mid] _upper = _mid - 1 elsif data[p] > _lexer_trans_keys[_mid] _lower = _mid + 1 else _trans += (_mid - _keys) _break_match = true break end end # loop break if _break_match _keys += _klen _trans += _klen en = _lexer_range_lengths[cs] _klen > 0 _lower = _keys _upper = _keys + (_klen << 1) - 2 loop do break if _upper < _lower _mid = _lower + (((_upper-_lower) >> 1) & ~1) if data[p] < _lexer_trans_keys[_mid] _upper = _mid - 2 elsif data[p] > _lexer_trans_keys[_mid+1] _lower = _mid + 2 else _trans += ((_mid - _keys) >> 1) _break_match = true break end end # loop break if _break_match _trans += _klen hile false _lexer_trans_targs[_trans] exer_trans_actions[_trans] != 0 s = _lexer_trans_actions[_trans] ts = _lexer_actions[_acts] s += 1 e _nacts > 0 cts -= 1 ts += 1 e _lexer_actions[_acts - 1] then 9 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @content_start = p @current_line = @line_number end 9 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 14 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @current_line = @line_number @start_col = p - @last_newline end 14 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 19 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @content_start = p end 19 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 23 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n con = unindent(@start_col, data[@content_start...@next_keyword_start-1].utf8_pack("c*").sub(/(\r?\n)?( )*\Z/, '').gsub(/\\"\\"\\"/, '"""')) @listener.py_string(con, @current_line) end 23 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 28 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n store_keyword_content(:feature, data, p, eof) { |con| multiline_strip(con) } p = @next_keyword_start - 1 if @next_keyword_start @next_keyword_start = nil end 28 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 34 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n store_keyword_content(:background, data, p, eof) { |con| multiline_strip(con) } p = @next_keyword_start - 1 if @next_keyword_start @next_keyword_start = nil end 34 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 40 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n store_keyword_content(:scenario, data, p, eof) { |con| multiline_strip(con) } p = @next_keyword_start - 1 if @next_keyword_start @next_keyword_start = nil end 40 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 46 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n store_keyword_content(:scenario_outline, data, p, eof) { |con| multiline_strip(con) } p = @next_keyword_start - 1 if @next_keyword_start @next_keyword_start = nil end 46 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 52 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n store_keyword_content(:examples, data, p, eof) { |con| multiline_strip(con) } p = @next_keyword_start - 1 if @next_keyword_start @next_keyword_start = nil end 52 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" then 58 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n con = data[@content_start...p].utf8_pack("c*").strip @listener.step(@keyword, con, @current_line) end 58 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 0 then 63 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n con = data[@content_start...p].utf8_pack("c*").strip @listener.comment(con, @line_number) @keyword_start = nil end 63 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 1 then 69 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n con = data[@content_start...p].utf8_pack("c*").strip @listener.tag(con, @current_line) @keyword_start = nil end 69 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 2 then 75 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @line_number += 1 end 75 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 3 then 79 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @last_newline = p + 1 end 79 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 4 then 83 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @keyword_start ||= p end 83 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 5 then 87 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @keyword = data[@keyword_start...p].utf8_pack("c*").sub(/:$/,'') @keyword_start = nil end 87 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 6 then 92 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @next_keyword_start = p end 92 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 7 then 96 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n p = p - 1 current_row = [] @current_line = @line_number end 96 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 8 then 102 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @content_start = p end 102 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 9 then 106 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n con = data[@content_start...p].utf8_pack("c*").strip current_row << con end 106 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 0 then 111 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n @listener.row(current_row, @current_line) end 111 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 1 then 115 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n if cs < lexer_first_final content = current_line_content(data, p) raise LexingError.new("Lexing error on line %d: '%s'." % [@line_number, content]) else @listener.eof end end 115 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 985 "lib/gherkin/rb_lexer/fr.rb" # action switch rigger_goto oto_level <= _again == 0 o_level = _out 1 != pe o_level = _resume oto_level <= _test_eof == eof s = _lexer_eof_actions[cs] ts = _lexer_actions[__acts] s += 1 __nacts > 0 cts -= 1 ts += 1 _lexer_actions[__acts - 1] 1 then 115 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" n if cs < lexer_first_final content = current_line_content(data, p) raise LexingError.new("Lexing error on line %d: '%s'." % [@line_number, content]) else @listener.eof end end 115 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" 1025 "lib/gherkin/rb_lexer/fr.rb" # eof action switch rigger_goto oto_level <= _out k 141 "/Users/aslakhellesoy/scm/gherkin/tasks/../ragel/i18n/fr.rb.rl" end