Class: Ibex::Verify::LanguageWitness::Machine
- Inherits:
-
Object
- Object
- Ibex::Verify::LanguageWitness::Machine
- Defined in:
- lib/ibex/verify/language_witness.rb
Overview
A stack machine shared by the canonical reference and submitted IR.
Instance Method Summary collapse
-
#initialize(states, grammar) ⇒ Machine
constructor
A new instance of Machine.
- #simulate(initial, tokens) ⇒ Object
Constructor Details
Instance Method Details
#simulate(initial, tokens) ⇒ Object
250 251 252 253 254 255 256 257 258 259 260 261 |
# File 'lib/ibex/verify/language_witness.rb', line 250 def simulate(initial, tokens) stack = [initial] tokens.each do |token_id| status = consume(stack, token_id) return status unless status == :shifted end loop do status = consume(stack, @eof.id) return :accepted if status == :accepted return :error unless status == :shifted end end |