Line reader Finite State Machine implementation exercise from book "The Pragmatic Programmer" by Andy Hunt and Dave Thomas (isbn: 9780135957059) page 146 pnpm install pnpm run build node build/string_reader_fsm.js input.txt