From 90bb7e959496c3a12bebe055f6344b9f06f22809 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Thu, 3 Aug 2017 15:28:17 +0200 Subject: Improving clarity through better Makefiles. --- ast-to-instr/src/Main.java | 11 ++++++----- ast-to-instr/src/OutputFile.java | 8 +++++++- ast-to-instr/src/Parameters.java | 18 +++++++++++------- 3 files changed, 24 insertions(+), 13 deletions(-) (limited to 'ast-to-instr/src') diff --git a/ast-to-instr/src/Main.java b/ast-to-instr/src/Main.java index 0e24f57..4f33ae1 100644 --- a/ast-to-instr/src/Main.java +++ b/ast-to-instr/src/Main.java @@ -55,11 +55,7 @@ public class Main return; } - MAIN_OUTPUT = - OutputFile.new_output_file - ( - PARAMETERS.get_main_output_filename() - ); + MAIN_OUTPUT = OutputFile.new_output_file("structural.mod"); try { @@ -176,4 +172,9 @@ public class Main { return MAIN_OUTPUT; } + + public static Parameters get_parameters () + { + return PARAMETERS; + } } diff --git a/ast-to-instr/src/OutputFile.java b/ast-to-instr/src/OutputFile.java index 42a6ad5..201ca2b 100644 --- a/ast-to-instr/src/OutputFile.java +++ b/ast-to-instr/src/OutputFile.java @@ -26,7 +26,13 @@ public class OutputFile { final OutputFile result; - result = new OutputFile(filename); + result = + new OutputFile + ( + Main.get_parameters().get_output_directory() + + "/" + + filename + ); ALL_OUTPUT_FILES.add(result); diff --git a/ast-to-instr/src/Parameters.java b/ast-to-instr/src/Parameters.java index 0407bb4..a7552d8 100644 --- a/ast-to-instr/src/Parameters.java +++ b/ast-to-instr/src/Parameters.java @@ -4,6 +4,7 @@ import java.util.ArrayList; public class Parameters { private final String xml_file; + private final String output_dir; private final boolean are_valid; @@ -13,27 +14,30 @@ public class Parameters ( "AST-to-Instr\n" + "USAGE:\n" - + "\tjava Main \n" + + "\tjava Main \n" + "PARAMETERS:\n" - + "\t- \tThe AST (XML format)." + + "\t- \tThe AST (XML format).\n" + + "\t- \tThe output directory (must already exist)." ); } public Parameters (String... args) { - if (args.length != 1) + if (args.length != 2) { print_usage(); xml_file = new String(); + output_dir = new String(); are_valid = false; return; } - are_valid = true; - xml_file = args[0]; + output_dir = args[1]; + + are_valid = true; } public String get_xml_file () @@ -41,9 +45,9 @@ public class Parameters return xml_file; } - public String get_main_output_filename() + public String get_output_directory () { - return "structural.mod"; + return output_dir; } public boolean are_valid () -- cgit v1.2.3-70-g09d2