1818 --org ADDR - Sets ORG value for compiler backend's assembly, ADDR is hex
1919 -i PATH - Adds PATH to the list of include directories
2020 -O - Enables optimisation (only works properly with programs without errors)
21+ -v VER - Enables VER as a version
2122" ;
2223
2324int main (string [] args) {
@@ -36,6 +37,7 @@ int main(string[] args) {
3637 bool orgSet;
3738 string [] includeDirs;
3839 bool optimise;
40+ string [] versions;
3941
4042 for (size_t i = 1 ; i < args.length; ++ i) {
4143 if (args[i][0 ] == ' -' ) {
@@ -88,6 +90,16 @@ int main(string[] args) {
8890 optimise = true ;
8991 break ;
9092 }
93+ case " -v" : {
94+ ++ i;
95+ if (i >= args.length) {
96+ stderr.writeln(" -v requires VER parameter" );
97+ return 1 ;
98+ }
99+
100+ version s ~= args[i];
101+ break ;
102+ }
91103 default : {
92104 stderr.writefln(" Unknown flag '%s'" , args[i]);
93105 return 1 ;
@@ -116,11 +128,12 @@ int main(string[] args) {
116128 compiler.backend = new BackendRM86();
117129 compiler.backend.org = org;
118130 compiler.backend.orgSet = orgSet;
119- compiler.includeDirs = includeDirs;
131+
132+ version s ~= compiler.backend.GetVersions();
120133
121134 auto preproc = new Preprocessor();
122135 preproc.includeDirs = includeDirs;
123- preproc.versions = compiler.backend.GetVersions() ;
136+ preproc.versions = versions ;
124137 nodes = preproc.Run(nodes);
125138
126139 if (optimise) {
0 commit comments