Template for an implementation of Stella in Java.
The template contains:
Stella.cf
— LBNF for Stella (can be used by BNF Converter tool);stellaLexer.g4
andstellaParser.g4
— grammar files for ANTLRv4 tool (generated by BNF Converter);org.syntax.stella.Absyn.*
— classes for the abstract syntax of Stella (generated by BNF Converter);org.syntax.stella.VisitSkel
— skeleton for a Visitor walking through an abstract syntax tree;org.stella.eval.Eval
— placeholder for the evaluator for Stella;org.stella.typecheck.TypeCheck
— the typechecker for Stella;org.stella.typecheck.VisitTypeCheck
— the typechecking visitor for Stella's AST;org.stella.Main
— entry point for the Stella typechecker/interpreter;org.stella.MainTest
— some tests for the typechecker.
When implementing a typechecker, you should write your code primarily in org.stella.typecheck.VisitTypeCheck
.