How Are State Machines Used In Parsing? (16-Bit VM in JavaScript 008) @LowByteProductions
How Are State Machines Used In Parsing? (16-Bit VM in JavaScript 008)  @LowByteProductions
Uploaded April 2020 | Updated September 2026, 2 weeks ago
In this episode we begin building the parser for this VMs assembly language. During the process we'll encounter a tricky problem with parser combinators, and how we can solve it using state machines.

=[ ℹ About ℹ ]=

This series is all about building a powerful virtual machine in JavaScript with the following features:

- A flexible, extensible, register-based virtual machine
- Support for signed, unsigned and floating point operations
- A call stack
- Interrupt capabilities
- Ability to do memory mapping for IO
- An assembly language with macro and module support
- A higher level, C like language. We'll use and expand the library from the parser combinators from scratch series
- And finally, to be able to take the whole thing into the browser and extend it to create a sort of fantasy console - an emulator for a machine that never existed

- ⭐️ Patreon: patreon.com/lowleveljavascript
- 💌 Updates to your inbox: tinyletter.com/lowleveljavascript

- Series Playlist: youtube.com/playlist?list=PLP29wDx6QmW5DdwpdwHCRJsEubS5NrQ9b&playnext=1&index=1
- Github Repo: github.com/LowLevelJavaScript/16-Bit-Virtual-Machine


- arcsecond: github.com/francisrstokes/arcsecond

- Parser Combinators From Scratch: youtube.com/watch?v=6oQLRhw5Ah0&list=PLP29wDx6QmW5yfO1LAgO8kU3aQEj8SIrU
- "Building A Language Parser and Interpreter": youtu.be/PzodUuERBZc
- "Contextual" Parsers: youtu.be/yPEwjpIWOGg
- State Machines: en.wikipedia.org/wiki/Finite-state_machine
- The "Left Recursion" Problem: en.wikipedia.org/wiki/Left_recursion
How Are State Machines Used In Parsing? (16-Bit VM in JavaScript 008)Digital Circuit Simulator In JavaScript: 7400 Subscriber Special!Expanding Beyond 64kb of Memory with Bank Switching (16-Bit VM in JavaScript 012)Worlds Simplest Bootloader :: Bare Metal Programming Series 4The End Of Low Level JavaScript[stream] Driver For SPI Flash + Bus Pirate in TypeScript16-Bit Virtual Machine in JavaScript 001First Successful Firmware Update! :: Bare Metal Programming Series 11Building A Fantasy Game Console Emulator: System Overview and Graphics PipelineSimple Timer API :: Bare Metal Programming Series 9[stream] File System Hacking: FAT32 Deep DiveWhat is Memory Mapped I/O? (16-Bit VM in JavaScript 005)
Low Byte Productions |

How Are State Machines Used In Parsing? (16-Bit VM in JavaScript 008)

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER