ɾ Software Engineer at ANDPAD, Inc. ɾ Member of RuboCop RSpec team ɾ Contributor of Lrama ɾ Implementation of Parameterizing rules ɾ Optimization of Lexer, etc. self.inspect
OCaml also has a parser generator called ocamlyacc, Menhir is 90% compatible with ocamlyacc • Designed and implemented by François Pottier and Yann Régis-Gianas What is Menhir?
as a CRuby parser generator to replace GNU Bison. • The author is Yuichiro Kaneko • Ref: https://yui-knk.hatenablog.com/entry/2023/03/13/101951 • Ref: https://youtu.be/IhfDsLx784g?si=I3DG-ccG2rxbqxHd What is Lrama?
It will can use new features in Bison! (If we implement it) • Parser generator features other than Bison may be used! (if we implement it) The world after replacing Lrama
It will can use new features in Bison! (If we implement it) • Parser generator features other than Bison may be used! (if we implement it) The world after replacing Lrama
number of symbols, called formal parameters • The standard library • A library of standard parameterization de fi nitions • Inlining • The %inline keyword helps avoid or resolve con fl icts without arti fi cially changing the grammar Useful Menhir Features
parameterized with any number of symbols, called formal parameters • The standard library • A library of standard parameterization de fi nitions • Inlining • The %inline keyword helps avoid or resolve con fl icts without arti fi cially changing the grammar
list(X) a possibly empty sequence of X’s X* nonempty_list(X) a nonempty sequence of X’s X+ separated_list(sep, X) a possibly empty sequence of X’s separated with sep’s separated_nonempty_list(sep, X) a nonempty sequence of X’s separated with sep’s