diff options
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | src/Compiler/Language.java | 23 | ||||
| -rw-r--r-- | src/Compiler/Utils.java | 39 | 
3 files changed, 60 insertions, 7 deletions
| @@ -102,3 +102,8 @@ report/*  !report/*.pdf  !report/*images  src/.vscode/launch.json + + + +# Temp src project exclusion +src/.idea/* 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); + +    } + + +} | 
