From f8b888716211b78900db62ede497fa4ac2100c00 Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Sun, 7 Nov 2021 01:23:19 +0000 Subject: Basic floating point support and small improvements to error handing --- src/Compiler/Language.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/Compiler/Language.java') diff --git a/src/Compiler/Language.java b/src/Compiler/Language.java index 9151bd5..44168db 100644 --- a/src/Compiler/Language.java +++ b/src/Compiler/Language.java @@ -39,25 +39,34 @@ public class Language { } } - //Extract and print each token + //Function to take source code and output the result private static void runInterpreter(String sourceCode){ + + //Extract tokens from the source code TokenScanner scanner = new TokenScanner(); List tokens = scanner.extractTokens(sourceCode); //for (Token token : tokens) { // System.out.println(token); //} if (hadError) return; + //Parse into AST Parser parser = new Parser(tokens); List ast = parser.parse(); if (hadError) return; + + //Translate AST into equivalent C code Translator translator = new Translator(); List code = translator.compileToC(ast); if (hadError) return; + + //Execute created C code ExecuteC cExecutor = new ExecuteC(); cExecutor.compileAndExecuteC(code); } + + //Basic error reporting static void displayError(String message){ hadError=true; System.out.println("An error was encountered"); -- cgit v1.2.3