summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/CLIArgsParser.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-04-11 21:48:50 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-04-11 21:48:50 -0400
commit57f9a3bfdad20bead5b35ee540e8790e80a6b9a4 (patch)
tree1e7184825eaa8d22077b505513df3e0d8502fb39 /dice-lang/src/bjc/dicelang/CLIArgsParser.java
parent675ae734dd7b7a47d93ee3527dd1eb7195be047b (diff)
Cleanup
Diffstat (limited to 'dice-lang/src/bjc/dicelang/CLIArgsParser.java')
-rw-r--r--dice-lang/src/bjc/dicelang/CLIArgsParser.java89
1 files changed, 46 insertions, 43 deletions
diff --git a/dice-lang/src/bjc/dicelang/CLIArgsParser.java b/dice-lang/src/bjc/dicelang/CLIArgsParser.java
index 91917a0..e324e67 100644
--- a/dice-lang/src/bjc/dicelang/CLIArgsParser.java
+++ b/dice-lang/src/bjc/dicelang/CLIArgsParser.java
@@ -1,6 +1,10 @@
package bjc.dicelang;
-import bjc.dicelang.util.ResourceLoader;
+import static bjc.dicelang.Errors.ErrorKey.EK_CLI_INVDFNTYPE;
+import static bjc.dicelang.Errors.ErrorKey.EK_CLI_MISARG;
+import static bjc.dicelang.Errors.ErrorKey.EK_CLI_UNARG;
+import static bjc.dicelang.Errors.ErrorKey.EK_MISC_IOEX;
+import static bjc.dicelang.Errors.ErrorKey.EK_MISC_NOFILE;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -8,7 +12,7 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
-import static bjc.dicelang.Errors.ErrorKey.*;
+import bjc.dicelang.util.ResourceLoader;
/**
* Parse CLI arguments.
@@ -27,78 +31,78 @@ public class CLIArgsParser {
*
* @return Whether or not to continue to the DiceLang repl.
*/
- public static boolean parseArgs(String[] args, DiceLangEngine eng) {
- if(args.length < 0) return true;
+ public static boolean parseArgs(final String[] args, final DiceLangEngine eng) {
+ if (args.length < 0) return true;
- if(args.length == 1 && (args[0].equals("--help") || args[0].equals("-h"))) {
- for(String lne : ResourceLoader.loadHelpFile("cli")) {
+ if (args.length == 1 && (args[0].equals("--help") || args[0].equals("-h"))) {
+ for (final String lne : ResourceLoader.loadHelpFile("cli")) {
System.out.println(lne);
}
System.exit(0);
}
- for(int i = 0; i < args.length; i++) {
- String arg = args[i];
+ for (int i = 0; i < args.length; i++) {
+ final String arg = args[i];
- switch(arg) {
+ switch (arg) {
case "-d":
case "--debug":
- if(!eng.toggleDebug()) {
+ if (!eng.toggleDebug()) {
eng.toggleDebug();
}
break;
case "-nd":
case "--no-debug":
- if(eng.toggleDebug()) {
+ if (eng.toggleDebug()) {
eng.toggleDebug();
}
break;
case "-po":
case "--postfix":
- if(!eng.togglePostfix()) {
+ if (!eng.togglePostfix()) {
eng.togglePostfix();
}
break;
case "-npo":
case "--no-postfix":
- if(eng.togglePostfix()) {
+ if (eng.togglePostfix()) {
eng.togglePostfix();
}
break;
case "-pr":
case "--prefix":
- if(!eng.togglePrefix()) {
+ if (!eng.togglePrefix()) {
eng.togglePrefix();
}
break;
case "-npr":
case "--no-prefix":
- if(eng.togglePrefix()) {
+ if (eng.togglePrefix()) {
eng.togglePrefix();
}
break;
case "-se":
case "--stepeval":
- if(!eng.toggleStepEval()) {
+ if (!eng.toggleStepEval()) {
eng.toggleStepEval();
}
break;
case "-nse":
case "--no-stepeval":
- if(eng.toggleStepEval()) {
+ if (eng.toggleStepEval()) {
eng.toggleStepEval();
}
break;
case "-D":
case "--define":
i = simpleDefine(i, args, eng);
- if(i == -1) return false;
+ if (i == -1) return false;
break;
case "-df":
case "--define-file":
i = defineFile(i, args, eng);
- if(i == -1) return false;
+ if (i == -1) return false;
break;
case "-ctf":
case "--compiler-tweak-file":
@@ -114,62 +118,61 @@ public class CLIArgsParser {
return true;
}
- private static int simpleDefine(int i, String[] args, DiceLangEngine eng) {
- if(i >= args.length - 1) {
+ private static int simpleDefine(final int i, final String[] args, final DiceLangEngine eng) {
+ if (i >= args.length - 1) {
Errors.inst.printError(EK_CLI_MISARG, "define");
return -1;
}
- if(i >= args.length - 2) {
- Define dfn = new Define(5, false, false, false, null, args[i + 1], Arrays.asList(""));
+ if (i >= args.length - 2) {
+ final Define dfn = new Define(5, false, false, false, null, args[i + 1], Arrays.asList(""));
- if(dfn.inError) return -1;
+ if (dfn.inError) return -1;
eng.addLineDefine(dfn);
return i + 1;
}
- Define dfn = new Define(5, false, false, false, null, args[i + 1], Arrays.asList(args[i + 2]));
+ final Define dfn = new Define(5, false, false, false, null, args[i + 1], Arrays.asList(args[i + 2]));
- if(dfn.inError) return -1;
+ if (dfn.inError) return -1;
eng.addLineDefine(dfn);
return i + 2;
}
- @SuppressWarnings("unused")
- private static int defineFile(int i, String[] args, DiceLangEngine eng) {
- if(i >= args.length - 1) {
+ private static int defineFile(final int i, final String[] args, final DiceLangEngine eng) {
+ if (i >= args.length - 1) {
Errors.inst.printError(EK_CLI_MISARG, "define-file");
return -1;
}
- String fName = args[i + 1];
+ final String fName = args[i + 1];
- try(FileInputStream fis = new FileInputStream(fName)) {
- try(Scanner scan = new Scanner(fis)) {
- while(scan.hasNextLine()) {
- String ln = scan.nextLine();
+ try (FileInputStream fis = new FileInputStream(fName)) {
+ try (Scanner scan = new Scanner(fis)) {
+ while (scan.hasNextLine()) {
+ final String ln = scan.nextLine();
- Define dfn = parseDefine(ln.substring(ln.indexOf(' ')));
- if(dfn == null || dfn.inError) return -1;
+ final Define dfn = parseDefine(ln.substring(ln.indexOf(' ')));
+ if (dfn == null || dfn.inError) return -1;
- if(ln.startsWith("line")) {
+ if (ln.startsWith("line")) {
eng.addLineDefine(dfn);
- } else if(ln.startsWith("token")) {
+ } else if (ln.startsWith("token")) {
eng.addTokenDefine(dfn);
} else {
- String defnType = ln.substring(0, ln.indexOf(' '));
+ final String defnType = ln.substring(0, ln.indexOf(' '));
Errors.inst.printError(EK_CLI_INVDFNTYPE, defnType);
return -1;
}
}
}
- } catch(FileNotFoundException fnfex) {
+ } catch (final FileNotFoundException fnfex) {
Errors.inst.printError(EK_MISC_NOFILE, fName);
return -1;
- } catch(IOException ioex) {
+ } catch (final IOException ioex) {
Errors.inst.printError(EK_MISC_IOEX, fName);
return -1;
}
@@ -177,8 +180,8 @@ public class CLIArgsParser {
return i + 1;
}
- private static Define parseDefine(@SuppressWarnings("unused") String ln) {
- Define res = null;
+ private static Define parseDefine(final String ln) {
+ final Define res = null;
// @TODO move this functionality from DiceLangConsole to some
// common ground where it can be used by both functions