Да, в 2018 году естественно использовать всякие там bison/yacc/flex/antlr/javacc и прочие LLVM, но их недостаток - высокий порог вхождения. Тогда как написать свой простой парсер реально за пару-тройку вечеров. Если изначально не ставить цель написания с нуля собственного ЯВУ, а сделать некоторую надстройку над ассемблером, которая улучшит структуру и читаемость кода, и постепенно её развивать, то можно получить ощутимый практический результат сравнительно небольшими усилиями.