Seniz is a framework for Formalism-Driven Development (FDD). This repository holds a sample implementation.
usage: java -jar Seniz.jar [options] <source>
-h,--help print help.
-n,--name <namespace> Java root namespace.
-o,--output <path> output directory path.
-v,--version print current version.
Generate from a single source file
java -jar Seniz.jar -n org.veritasopher.seniz.generation example/Simple0.sz
Generate from a source directory
java -jar Seniz.jar -n org.veritasopher.seniz.generation example/Semaphore
- Include
Seniz.jar
into a project - Initialize a set of source file paths
String path="path_to_source";
Set<String> sourceFilePaths=new HashSet<>();
// Parse Seniz source file paths into sourceFilePaths
- Build global environment
MasterController masterController=new MasterController();
GlobalEnvironment env=masterController.compile(sourceFilePaths);
- Generate Java programs
JavaGenerator javaGenerator=new JavaGenerator(env);
javaGenerator.generateToDir("namespace","output_path");
- Java 17
mvn clean compile assembly:single
Ding, Y., & Sato, H. (2022). Formalism-Driven Development: Concepts, Taxonomy, and Practice. Applied Sciences, 12(7), 3415. MDPI
This open-source project under MIT License is only for educational purposes.