jackwadden / VASim

VASim is a virtual homogeneous non-deterministic finite automata automata simulator and transformation tool. VASim can parse, transform, simulate, and profile homogeneous NFAs, and is meant to be an open tool for automata processing research. VASim can also be extended to support hypothetical automata processing elements.
BSD 3-Clause "New" or "Revised" License
35 stars 20 forks source link

Added MNRL functionality #12

Closed kevinaangstadt closed 7 years ago

kevinaangstadt commented 7 years ago

This pull request provides support for parsing MNRL files as well as exporting to MNRL files. In particular, take a look at MNRLAdapter. This class performs the same parsing step as ANMLParser (expect that it adapts the MNRL API Objects to VASim objects). I took some liberties to improve code reuse as compared with ANMLParser, so I may have overlooked some data structure updates by accident.

However, I tested against all of ANMLZoo (testing scripts included) and found no differences between running with ANML and running with MNRL.

MNRL parsing is supported automatically when the suffix of a file is ".mnrl". Otherwise, VASim still defaults to ANML parsing.