Class: PointBlank::Parsing::StackScanner
- Inherits:
-
Object
- Object
- PointBlank::Parsing::StackScanner
- Defined in:
- lib/mmmd/blankshell.rb
Overview
Inline scanner
Instance Method Summary collapse
-
#initialize(doc, init_tokens: nil) ⇒ StackScanner
constructor
A new instance of StackScanner.
-
#scan ⇒ Object
Scan document.
Constructor Details
#initialize(doc, init_tokens: nil) ⇒ StackScanner
Returns a new instance of StackScanner.
901 902 903 904 |
# File 'lib/mmmd/blankshell.rb', line 901 def initialize(doc, init_tokens: nil) @doc = doc @init_tokens = init_tokens end |
Instance Method Details
#scan ⇒ Object
Scan document
907 908 909 910 911 912 913 914 915 916 917 918 |
# File 'lib/mmmd/blankshell.rb', line 907 def scan rounds = quantize(@doc.class.unsorted_children) tokens = @init_tokens || [@doc.content] rounds.each do |valid_parsers| @valid_parsers = valid_parsers tokens = tokenize(tokens) tokens = forward_walk(tokens) tokens = reverse_walk(tokens) end structure = finalize(tokens) structure.each { |child| @doc.append_child(child) } end |