aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/backend/parsers/ParameterParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/backend/parsers/ParameterParser.java')
-rw-r--r--src/jcgp/backend/parsers/ParameterParser.java77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/jcgp/backend/parsers/ParameterParser.java b/src/jcgp/backend/parsers/ParameterParser.java
new file mode 100644
index 0000000..ae72126
--- /dev/null
+++ b/src/jcgp/backend/parsers/ParameterParser.java
@@ -0,0 +1,77 @@
+package jcgp.backend.parsers;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.util.Scanner;
+
+import jcgp.backend.resources.ModifiableResources;
+
+public abstract class ParameterParser {
+
+ public static void parseParameters(File file, ModifiableResources resources) {
+
+ FileReader fr;
+ try {
+ fr = new FileReader(file);
+ } catch (FileNotFoundException e) {
+ resources.println("[Parser] Error: could not find " + file.getAbsolutePath() + ".");
+ return;
+ }
+
+ Scanner in = new Scanner(fr);
+ resources.println("[Parser] Parsing file: " + file.getAbsolutePath() + "...");
+
+ while (in.hasNextLine()) {
+ String[] splitString = in.nextLine().split("( |\t)+");
+
+ switch (splitString[1]) {
+ case "population_size":
+ resources.setPopulationSize(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Population size is now " + resources.populationSize() + ".");
+ break;
+
+ case "num_generations":
+ resources.setGenerations(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Total generations is now " + resources.generations() + ".");
+ break;
+
+ case "num_runs_total":
+ resources.setRuns(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Total runs is now " + resources.runs() + ".");
+ break;
+
+ case "num_rows":
+ resources.setRows(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Row number is now " + resources.rows() + ".");
+ break;
+
+ case "num_cols":
+ resources.setColumns(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Column number is now " + resources.columns() + ".");
+ break;
+
+ case "levels_back":
+ resources.setLevelsBack(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Levels back is now " + resources.levelsBack() + ".");
+ break;
+
+ case "report_interval":
+ resources.setReportInterval(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Report interval is now " + resources.levelsBack() + ".");
+ break;
+
+ case "global_seed":
+ resources.setSeed(Integer.parseInt(splitString[0]));
+ resources.println("[Parser] Seed is now " + resources.seed() + ".");
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ in.close();
+ resources.println("[Parser] Finished parsing parameters.");
+ }
+}