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.
- Publication:
-
arXiv e-prints
- Pub Date:
- November 2015
- DOI:
- 10.48550/arXiv.1511.03406
- arXiv:
- arXiv:1511.03406
- Bibcode:
- 2015arXiv151103406H
- Keywords:
-
- Computer Science - Programming Languages
- E-Print:
- An earlier draft for future submission