diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..532f8df --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,21 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Tokenizer", + "request": "launch", + "mainClass": "token.Tokenizer", + "projectName": "" + }, + { + "type": "java", + "name": "Current File", + "request": "launch", + "mainClass": "${file}" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..25749dd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "cmake.configureOnOpen": true, + "java.debug.settings.onBuildFailureProceed": true +} \ No newline at end of file diff --git a/Input.txt b/Input.txt index d97993f..da7a041 100644 --- a/Input.txt +++ b/Input.txt @@ -1 +1 @@ -integer x equals 5 \ No newline at end of file +If x Or GGOInteger X equals 5GO \ No newline at end of file diff --git a/TokenType.java b/TokenType.java index 7a9d1a3..57121f0 100644 --- a/TokenType.java +++ b/TokenType.java @@ -17,6 +17,10 @@ public enum TokenType LONG, STRING, INVALID, - IF, PRINT, + IF, + CONDITION, + AND, + OR, + EQUALS, } diff --git a/Tokenizer.java b/Tokenizer.java index 06bb796..d7fd04c 100644 --- a/Tokenizer.java +++ b/Tokenizer.java @@ -17,13 +17,6 @@ public static void main(String[]args) }catch(IOException e){ e.printStackTrace(); } - //Integer x equals 6 - //Character b equals 5 - //String[] tokens=testt.split(" "); - //for (String token : tokens) - //{System.out.print(token + ", ");} - //System.out.print("\n\n\n"); - Tokenizer tokenizer=new Tokenizer(); try{ ArrayList listoftoken=tokenizer.tokenize(testt); @@ -34,114 +27,130 @@ public static void main(String[]args) { System.out.println("ERROR"); } - //ExpressionTree tree=tokenizer.buildExpressionTree(listoftoken); - //Calculator calculator=new Calculator(); - //double result=calculator.evaluate(tree.root); - - //tree.traverseInOrder(tree.root); - //System.out.println("\nresult="+result); - //Integer Integer x equals 5 - } + } public static boolean isNumeric(String str) { for (char c : str.toCharArray()) { if (!Character.isDigit(c)) {return false;} } return true; -} + } + boolean mathematicalexpression(String[] exp) + { + for(int i=3;i