Module: Ripper::RubyBuilder::Lexer
- Included in:
- Ripper::RubyBuilder
- Defined in:
- lib/ripper/ruby_builder/events/lexer.rb
Instance Method Summary collapse
- #on___end__(*args) ⇒ Object
- #on_backtick(*args) ⇒ Object
- #on_comma(*args) ⇒ Object
- #on_comment(*args) ⇒ Object
- #on_embdoc(doc) ⇒ Object
- #on_embdoc_beg(doc) ⇒ Object
- #on_embdoc_end(doc) ⇒ Object
- #on_embexpr_beg(*args) ⇒ Object
- #on_embexpr_end(*args) ⇒ Object
- #on_embvar(*args) ⇒ Object
- #on_ignored_nl(*args) ⇒ Object
- #on_lbrace(*args) ⇒ Object
- #on_lbracket(*args) ⇒ Object
- #on_lparen(*args) ⇒ Object
- #on_nl(*args) ⇒ Object
- #on_op(*args) ⇒ Object
- #on_param_error(param) ⇒ Object
-
#on_parse_error(msg) ⇒ Object
unimplemented = :tlambda, :tlambeg.
- #on_period(*args) ⇒ Object
- #on_qwords_beg(*args) ⇒ Object
- #on_rbrace(*args) ⇒ Object
- #on_rbracket(*args) ⇒ Object
- #on_regexp_beg(*args) ⇒ Object
- #on_regexp_end(*args) ⇒ Object
- #on_rparen(*args) ⇒ Object
- #on_semicolon(*args) ⇒ Object
- #on_sp(*args) ⇒ Object
- #on_symbeg(*args) ⇒ Object
- #on_tstring_beg(*args) ⇒ Object
- #on_tstring_content(token) ⇒ Object
- #on_tstring_end(token) ⇒ Object
- #on_words_beg(*args) ⇒ Object
- #on_words_sep(token) ⇒ Object
Instance Method Details
#on___end__(*args) ⇒ Object
154 155 156 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 154 def on___end__(*args) push(super) end |
#on_backtick(*args) ⇒ Object
50 51 52 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 50 def on_backtick(*args) push(super) end |
#on_comma(*args) ⇒ Object
46 47 48 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 46 def on_comma(*args) push(super) end |
#on_comment(*args) ⇒ Object
26 27 28 29 30 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 26 def on_comment(*args) token = push(super) on_heredoc_literal if end_heredoc?(token) token end |
#on_embdoc(doc) ⇒ Object
138 139 140 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 138 def on_embdoc(doc) push([:@comment, doc, position]) end |
#on_embdoc_beg(doc) ⇒ Object
142 143 144 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 142 def on_embdoc_beg(doc) push([:@comment, doc, position]) end |
#on_embdoc_end(doc) ⇒ Object
146 147 148 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 146 def on_embdoc_end(doc) push([:@comment, doc, position]) end |
#on_embexpr_beg(*args) ⇒ Object
94 95 96 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 94 def on_embexpr_beg(*args) push(super) end |
#on_embexpr_end(*args) ⇒ Object
98 99 100 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 98 def on_embexpr_end(*args) push(super) end |
#on_embvar(*args) ⇒ Object
150 151 152 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 150 def on_embvar(*args) push(super) end |
#on_ignored_nl(*args) ⇒ Object
14 15 16 17 18 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 14 def on_ignored_nl(*args) token = push(super) on_heredoc_literal if end_heredoc?(token) token end |
#on_lbrace(*args) ⇒ Object
126 127 128 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 126 def on_lbrace(*args) push(super) end |
#on_lbracket(*args) ⇒ Object
118 119 120 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 118 def on_lbracket(*args) push(super) end |
#on_lparen(*args) ⇒ Object
110 111 112 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 110 def on_lparen(*args) push(super) end |
#on_nl(*args) ⇒ Object
20 21 22 23 24 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 20 def on_nl(*args) token = push(super) on_heredoc_literal if end_heredoc?(token) token end |
#on_op(*args) ⇒ Object
134 135 136 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 134 def on_op(*args) push(super) end |
#on_param_error(param) ⇒ Object
10 11 12 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 10 def on_param_error(param) raise ParseError.new("#{filename}:#{position.row + 1}: syntax error, invalid parameter type: #{param.to_ruby}") end |
#on_parse_error(msg) ⇒ Object
unimplemented = :tlambda, :tlambeg
6 7 8 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 6 def on_parse_error(msg) raise ParseError.new("#{filename}:#{position.row + 1}: #{msg}") end |
#on_period(*args) ⇒ Object
42 43 44 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 42 def on_period(*args) push(super) end |
#on_qwords_beg(*args) ⇒ Object
72 73 74 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 72 def on_qwords_beg(*args) push(super) end |
#on_rbrace(*args) ⇒ Object
130 131 132 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 130 def on_rbrace(*args) push(super) end |
#on_rbracket(*args) ⇒ Object
122 123 124 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 122 def on_rbracket(*args) push(super) end |
#on_regexp_beg(*args) ⇒ Object
102 103 104 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 102 def on_regexp_beg(*args) push(super) end |
#on_regexp_end(*args) ⇒ Object
106 107 108 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 106 def on_regexp_end(*args) push(super) end |
#on_rparen(*args) ⇒ Object
114 115 116 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 114 def on_rparen(*args) push(super) end |
#on_semicolon(*args) ⇒ Object
38 39 40 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 38 def on_semicolon(*args) push(super) end |
#on_sp(*args) ⇒ Object
32 33 34 35 36 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 32 def on_sp(*args) token = push(super) on_heredoc_literal if end_heredoc?(token) # ripper counts \ + nl ("\\\n") as whitespace token end |
#on_symbeg(*args) ⇒ Object
54 55 56 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 54 def on_symbeg(*args) push(super) end |
#on_tstring_beg(*args) ⇒ Object
58 59 60 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 58 def on_tstring_beg(*args) push(super) end |
#on_tstring_content(token) ⇒ Object
62 63 64 65 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 62 def on_tstring_content(token) push(super) nil end |
#on_tstring_end(token) ⇒ Object
67 68 69 70 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 67 def on_tstring_end(token) push(super) on_words_end(token) if closes_words?(token) # simulating on_words_end event end |
#on_words_beg(*args) ⇒ Object
76 77 78 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 76 def on_words_beg(*args) push(super) end |
#on_words_sep(token) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/ripper/ruby_builder/events/lexer.rb', line 80 def on_words_sep(token) token.each_char do |token| case token when "\n" push([:@nl, token, position]) when /\s+/ push([:@sp, token, position]) else push([:@words_end, token, position]) on_words_end(token) if closes_words?(token) # simulating on_words_end event end end end |