summaryrefslogtreecommitdiff
path: root/dice-lang/src/bjc/dicelang/CLIArgsParser.java
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-07-23 22:58:58 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-07-23 22:58:58 -0300
commitc74cb8eaf454d9243b75e3770001d8d128356b28 (patch)
tree899197afc0b7c382aa37c778053357e0e9b56c26 /dice-lang/src/bjc/dicelang/CLIArgsParser.java
parent57f9a3bfdad20bead5b35ee540e8790e80a6b9a4 (diff)
Format
Diffstat (limited to 'dice-lang/src/bjc/dicelang/CLIArgsParser.java')
-rw-r--r--dice-lang/src/bjc/dicelang/CLIArgsParser.java42
1 files changed, 35 insertions, 7 deletions
diff --git a/dice-lang/src/bjc/dicelang/CLIArgsParser.java b/dice-lang/src/bjc/dicelang/CLIArgsParser.java
index e324e67..7f21b63 100644
--- a/dice-lang/src/bjc/dicelang/CLIArgsParser.java
+++ b/dice-lang/src/bjc/dicelang/CLIArgsParser.java
@@ -51,64 +51,87 @@ public class CLIArgsParser {
if (!eng.toggleDebug()) {
eng.toggleDebug();
}
+
break;
+
case "-nd":
case "--no-debug":
if (eng.toggleDebug()) {
eng.toggleDebug();
}
+
break;
+
case "-po":
case "--postfix":
if (!eng.togglePostfix()) {
eng.togglePostfix();
}
+
break;
+
case "-npo":
case "--no-postfix":
if (eng.togglePostfix()) {
eng.togglePostfix();
}
+
break;
+
case "-pr":
case "--prefix":
if (!eng.togglePrefix()) {
eng.togglePrefix();
}
+
break;
+
case "-npr":
case "--no-prefix":
if (eng.togglePrefix()) {
eng.togglePrefix();
}
+
break;
+
case "-se":
case "--stepeval":
if (!eng.toggleStepEval()) {
eng.toggleStepEval();
}
+
break;
+
case "-nse":
case "--no-stepeval":
if (eng.toggleStepEval()) {
eng.toggleStepEval();
}
+
break;
+
case "-D":
case "--define":
i = simpleDefine(i, args, eng);
+
if (i == -1) return false;
+
break;
+
case "-df":
case "--define-file":
i = defineFile(i, args, eng);
+
if (i == -1) return false;
+
break;
+
case "-ctf":
case "--compiler-tweak-file":
- /*
- * @TODO not yet implemented
- */
+
+ /*
+ * @TODO not yet implemented
+ */
default:
Errors.inst.printError(EK_CLI_UNARG, arg);
return false;
@@ -118,14 +141,16 @@ public class CLIArgsParser {
return true;
}
- private static int simpleDefine(final int i, final String[] args, final DiceLangEngine eng) {
+ 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) {
- final Define dfn = new Define(5, false, false, false, null, args[i + 1], Arrays.asList(""));
+ final Define dfn = new Define(5, false, false, false, null, args[i + 1],
+ Arrays.asList(""));
if (dfn.inError) return -1;
@@ -133,7 +158,8 @@ public class CLIArgsParser {
return i + 1;
}
- final 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;
@@ -141,7 +167,8 @@ public class CLIArgsParser {
return i + 2;
}
- private static int defineFile(final int i, final String[] args, final DiceLangEngine eng) {
+ 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;
@@ -155,6 +182,7 @@ public class CLIArgsParser {
final String ln = scan.nextLine();
final Define dfn = parseDefine(ln.substring(ln.indexOf(' ')));
+
if (dfn == null || dfn.inError) return -1;
if (ln.startsWith("line")) {