Implementing a Small Parsing Virtual Machine on Embedded Systems

Abstract

PEGs are a formal grammar foundation for describing syntax, and are not hard to generate parsers with a plain recursive decent parsing. However, the large amount of C-stack consumption in the recursive parsing is not acceptable especially in resource-restricted embedded systems. Alternatively, we have attempted the machine virtualization approach to PEG-based parsing. MiniNez, our implemented virtual machine, is presented in this paper with several downsizing techniques, including instruction specialization, inline expansion and static flow analysis. As a result, the MiniNez machine achieves both a very small footprint and competitive performance to generated C parsers. We have demonstrated the experimental results by comparing on two major embedded platforms: Cortex-A7 and Intel Atom processor.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…