SoulCM project contains a lexical analyzer generator tool scmlg and a parser generator tool scmpg. They are Cmajor versions of the corresponding C++ programs slg and spg that are contained in the SoulNG project. The scmlg program takes a .lexer file that contains a description of a lexical analyzer as input and produces corresponding Cmajor source files containing a lexer. The syntax of the .lexer file is defined in this grammar. The scmpg program takes a .spg project file containing references to .parser files as input and produces corresponding Cmajor source files containing parsers. The syntax of the .parser file is defined in this grammar.
Here's reference documentation for the SoulCM programs.