Have Alloy developers used any parser generator tool (like ANTLR) for parsing alloy specifications, or is its parser built-in and specifically written for the alloy language purpose?
If they used external tool for Alloy parser implementation, how can I access further information regarding this (for example the grammar which is fed into the external parser generator).
Alloy uses a modified version of CUP (which is shipped with the Alloy distribution). You can find the grammar specification files (Alloy.lex
and Alloy.cup
) inside the edu.mit.csail.sdg.alloy4compiler.parser
package. In the same package there are some bash scripts used to generate corresponding lexer/parser classes.