summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorchris.sutcliffe <ctd.sutcliffe@gmail.com>2021-11-28 23:21:57 +0000
committerchris.sutcliffe <ctd.sutcliffe@gmail.com>2021-11-28 23:21:57 +0000
commitc78d48e6bf79a01bfe1d43ebafbfedd1a64129cd (patch)
tree5257ade82cd23791f53cfc1511aa574006a6431f /src
parent8badb0fab61a23dd81466c3f5f8aadd77bf952e3 (diff)
downloadesotericFORTRAN-c78d48e6bf79a01bfe1d43ebafbfedd1a64129cd.tar.gz
esotericFORTRAN-c78d48e6bf79a01bfe1d43ebafbfedd1a64129cd.zip
add util class for reading files and change filereading method
Diffstat (limited to 'src')
-rw-r--r--src/Compiler/Language.java23
-rw-r--r--src/Compiler/Utils.java39
2 files changed, 55 insertions, 7 deletions
diff --git a/src/Compiler/Language.java b/src/Compiler/Language.java
index 1d95555..486e47e 100644
--- a/src/Compiler/Language.java
+++ b/src/Compiler/Language.java
@@ -125,15 +125,24 @@ public class Language {
System.out.println("ERROR: "+token.text);
System.out.println(message);
}
-
- static String getHelpText() {
+
+ private static String getHelpText(){
+ String helpText = "";
try {
- byte[] bytes = Base64.getDecoder().decode(helpb64);
- return new String(bytes);
- } catch (Exception e) {
- e.printStackTrace();
- return "fjakdfjsd";
+ helpText = Utils.readFile("Compiler/helpfile.txt");
+ }
+ // Catch any IO exceptions
+ catch (IOException e) {
+ System.out.println(e);
}
+
+ // Catch anything else
+ catch (Exception e) {
+ System.out.println(e);
+ }
+
+ return helpText;
+
}
static String helpb64 = "dXNhZ2U6IExhbmd1YWdlIFstaF0gW3NvdXJjZWZpbGVdIFstbyBvdXRwdXQgcGF0aF0gWy1jXSBbLXBjXSBbLWVdCgpwb3NpdGlvbmFsIGFyZ3VtZW50czoKICAgIGZpbGUgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHRvIGEgRk9SVFJBTi1saWtlIGZpbGUgdG8gY29tcGlsZS4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgb21taXR0ZWQsIGdvIHRvIGludGVyYWN0aXZlIG1vZGUuCgpuYW1lZCBhcmd1bWVudHM6CiAgICAtbyAtLW91dCBQQVRIICAgICAgICAgICAgICAgcGF0aCBhbmQgbmFtZSB0byBwcm9kdWNlIHRoZSBvdXRwdXQuIGRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBpbmNsdWRlIGEgZmlsZSBleHRlbnNpb24uIGlmIHByZWNlZWRpbmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZG8gbm90IGV4aXN0LCB0aGV5IHdpbGwgYmUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQuCgpmbGFnczoKICAgIC1oIC0taGVscCAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIG1lc3NhZ2UgYW5kIGV4aXQuCiAgICAtYyAtLWtlZXAtYy1maWxlICAgICAgICAgICAgdGhlIGMgcHJvZ3JhbSBwcm9kdWNlZCBpbiB0aGUgY29tcGlsYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2VzcyB3aWxsIG5vdCBiZSBkZWxldGVkLgogICAgLXBjIC0tcHJpbnQtYyAgICAgICAgICAgICAgIHRoZSBjIHByb2dyYW0gd2lsbCBiZSBwcmludGVkIHRvIHN0ZG91dAogICAgLWUgLS1leGVjdXRlICAgICAgICAgICAgICAgIHRoZSBwcm9kdWNlZCBiaW5hcnkgd2lsbCBiZSBleGVjdXRlZCBhcyBzb29uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIGNvbXBpbGF0aW9uIGlzIGZpbmlzaGVkLgo=";
diff --git a/src/Compiler/Utils.java b/src/Compiler/Utils.java
new file mode 100644
index 0000000..f9bd41c
--- /dev/null
+++ b/src/Compiler/Utils.java
@@ -0,0 +1,39 @@
+/**
+ * Simple util class to contain methods commonly used accross Java files
+ */
+package Compiler;
+
+import java.io.*;
+import java.nio.file.Files;
+
+public class Utils {
+ // Adapted from here for now
+ // https://www.geeksforgeeks.org/different-ways-reading-text-file-java/
+
+ public static String readFile(String path) throws Exception{
+
+ File file = new File(path);
+ BufferedReader br = new BufferedReader(new FileReader(file));
+
+ // Stringbuilder is mutable
+ StringBuilder readFile = new StringBuilder();
+
+ String line;
+ while ((line = br.readLine()) != null)
+ //System.out.println(line);
+ readFile = readFile.append(line + "\n");
+
+ return readFile.toString();
+ }
+
+ public static void main(String[] args) throws Exception {
+ String currentPath = new java.io.File(".").getCanonicalPath();
+ System.out.println("Current dir:" + currentPath);
+
+ String helpfile = readFile("Compiler/helpfile.txt");
+ System.out.println(helpfile);
+
+ }
+
+
+}