summaryrefslogtreecommitdiff
path: root/Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java
diff options
context:
space:
mode:
authorGeonoTRON2000 <geono@thegt.org>2014-04-29 07:13:20 -0700
committerGeonoTRON2000 <geono@thegt.org>2014-04-29 07:13:20 -0700
commiteb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33 (patch)
treeb3c7315063dae47af9ccf0efb40c4c2b1376e499 /Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java
parentb115ae93a10962dd61c18d563be17ad9ef56d47a (diff)
downloadshenanigans-eb05c2dd956b7e991f52eb5c7f03a0f11b7f1f33.tar.gz
Pushed existing work
Diffstat (limited to 'Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java')
-rw-r--r--Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java b/Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java
new file mode 100644
index 0000000..c516de0
--- /dev/null
+++ b/Shenanigans/src/org/archphantom/shenanigans/Shenanigans.java
@@ -0,0 +1,55 @@
+package org.archphantom.shenanigans;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+public class Shenanigans {
+ private static final String HELP_STRING = "############################### Shenanigans Help ###############################\r\n"
+ + "# #"
+ + "# <no arguments>: parse from standard input as Shenanigans code #"
+ + "# -h or --HELP: display this help message #"
+ + "# -f or --FILE <filename>: parse this file as Shenanigans code #"
+ + "# #"
+ + "################################################################################";
+
+ public static void main (String[] args) {
+ try {
+ boolean usefiles = false;
+ ArrayList<InputStream> streams = new ArrayList<InputStream>();
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].equals("-h") || args[i].equalsIgnoreCase("--help")) {
+ System.out.println(HELP_STRING);
+ return;
+ }
+ if ((args[i].equals("-f") || args[i].equalsIgnoreCase("--file")) && (i+1) < args.length) {
+ streams.add(new FileInputStream(args[i+1]));
+ usefiles = true;
+ }
+ }
+ if (usefiles) {
+ parse(streams.toArray(new InputStream[] {}));
+ } else {
+ parse(System.in);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public static void parse (InputStream[] streams) throws IOException {
+ for (InputStream stream : streams) {
+ parse(stream);
+ }
+ }
+
+ public static void parse (InputStream stream) throws IOException {
+ String data = "";
+ int b;
+ while ((b = stream.read()) != -1) {
+ data += (char) b;
+ }
+ //ShenaniganParser.parse(data);
+ }
+
+}