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  |