package Interpreter; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.Scanner; //Base class for the interpreter public class Interpreter { public static void main(String[] args){ //Allow users to input a single line of code //Still needs some work to re-ask for input after each line if (args.length < 1){ Scanner input = new Scanner(System.in); System.out.print("Code: "); String sourceCode = input.nextLine(); runInterpreter(sourceCode); input.close(); //Allow users to provide a path to a file as an argument } else if (args.length==1){ try { String sourcecode = Files.readString(Paths.get(args[0])); //Maybe should set charset here runInterpreter(sourcecode); } catch (IOException exception){ System.out.println("File not found"); } } else { System.out.println("Error, argument should be file path"); System.exit(64); } } private static void runInterpreter(String sourceCode){ TokenScanner scanner = new TokenScanner(); List tokens = scanner.extractTokens(sourceCode); for (Token token : tokens) { System.out.println(token); } } }