Class: Treetop::Runtime::SyntaxNode
- Inherits:
-
Object
- Object
- Treetop::Runtime::SyntaxNode
- Defined in:
- lib/parser/edn-util.rb
Instance Method Summary collapse
- #app_parser_level1_diagnostics(e, node) ⇒ Object
- #ast ⇒ Object
-
#ast1 ⇒ Object
devhack.
- #hex_value ⇒ Object
Instance Method Details
#app_parser_level1_diagnostics(e, node) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/parser/edn-util.rb', line 42 def app_parser_level1_diagnostics(e, node) outbytes = 0 intv = node.interval.end...(node.interval.end+1) # default: closing ' node.elements.each_with_index do |el, i| outbytes += el.ast.size if outbytes > e.position intv = el.interval break end end failure_index = intv.begin failure_line = node.input.line_of(failure_index) failure_column = node.input.column_of(failure_index) if line = node.input.lines.to_a[failure_line - 1] reason = "** Line #{failure_line}, column #{failure_column}:\n" reason << line reason << "\n#{'~' * (failure_column - 1)}#{'^' * intv.size}" end warn reason end |
#ast ⇒ Object
33 34 35 |
# File 'lib/parser/edn-util.rb', line 33 def ast fail "undefined_ast #{inspect}" end |
#ast1 ⇒ Object
devhack
36 37 38 |
# File 'lib/parser/edn-util.rb', line 36 def ast1 # devhack "#{inspect[10..20]}--#{text_value[0..15]}" end |
#hex_value ⇒ Object
39 40 41 |
# File 'lib/parser/edn-util.rb', line 39 def hex_value text_value.to_i(16) end |