module epsilon.settings; struct Settings { /// DISABLE collapsing constant trees bool c; /// generate only, do not compile bool generate; /// DISABLE optimizing of variable storage in compiled compiler bool o; /// parser IGNORES regular token marks at hyper-nonterminals bool p; /// DISABLE reference counting in compiled compiler bool r; /// use space instead of newline as separator bool space; /// print debug output bool verbose; /// write compilation output as default bool write; /// generate SLAG evaluator bool slag; /// generate single-sweep evaluator bool sweep; /// generate SOAG evaluator bool soag; /// show error positions language-server friendly as offsets bool offset; string outputDirectory; string path(string fileName) nothrow pure @safe { import std.path : buildPath; import std.range : empty; if (outputDirectory.empty) return fileName; return buildPath(outputDirectory, fileName); } }