Skip to content

Commit 3daec49

Browse files
committed
Expression Arithmetic first steps
1 parent eeeae4e commit 3daec49

File tree

5 files changed

+11
-75
lines changed

5 files changed

+11
-75
lines changed

sintaxExp.png

165 KB
Loading
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package ParserOperations;
2+
3+
public class ArithmeticParser {
4+
5+
public boolean isArithmeticOperation() {
6+
return false;
7+
}
8+
}

src/main/java/ParserOperations/Assignments.java

Lines changed: 3 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -4,93 +4,21 @@
44

55
public class Assignments {
66
private Utilities tool;
7+
private ArithmeticParser ap;
78

89
public Assignments() {
910
tool = new Utilities();
11+
ap = new ArithmeticParser();
1012
}
1113

1214
public boolean isAssignment() {
13-
if (/* isArithmeticOperation() || */isValueAssign() /*|| isDataCollection()*/) {
15+
if (ap.isArithmeticOperation() || isValueAssign() /* || isDataCollection() */) {
1416
return true;
1517
} else {
1618
return false;
1719
}
1820
}
1921

20-
public boolean isArithmeticOperation() {
21-
if (isExpression() || isTerm()) {
22-
return true;
23-
} else {
24-
return false;
25-
}
26-
}
27-
28-
private boolean isExpression() {
29-
boolean flag = false;
30-
if (isTerm()) {
31-
tool.incrementIndex();
32-
if (tool.verifyToken(TokenType.SUMA) || tool.verifyToken(TokenType.RESTA)) {
33-
tool.incrementIndex();
34-
if (isExpression()) {
35-
flag = true;
36-
} else if (tool.getIndex() < tool.getTokenList().size() - 1
37-
&& tool.getTokenList().get(tool.getIndex() + 1).getRow() != tool.getCurrentToken().getRow()) {
38-
flag = true;
39-
} else {
40-
tool.showError("Se esperaba una expresión");
41-
}
42-
} else {
43-
tool.showError("Se esperaba operador (+, -)");
44-
}
45-
} else {
46-
tool.showError("Se esperaba termino");
47-
}
48-
return flag;
49-
}
50-
51-
private boolean isTerm() {
52-
boolean flag = false;
53-
if (isFactor()) {
54-
tool.incrementIndex();
55-
if (tool.verifyToken(TokenType.MULTIPLICACION) || tool.verifyToken(TokenType.DIVISION)) {
56-
tool.incrementIndex();
57-
if (isTerm()) {
58-
flag = true;
59-
} else if (tool.getIndex() < tool.getTokenList().size() - 1
60-
&& tool.getTokenList().get(tool.getIndex() + 1).getRow() != tool.getCurrentToken().getRow()) {
61-
flag = true;
62-
} else {
63-
tool.showError("Se esperaba un termino");
64-
}
65-
} else {
66-
tool.showError("Se esperaba operador (*, /)");
67-
}
68-
}
69-
return flag;
70-
}
71-
72-
private boolean isFactor() {
73-
boolean flag = false;
74-
if (tool.verifyToken(TokenType.ENTERO) || tool.verifyToken(TokenType.DECIMAL)) {
75-
flag = true;
76-
} else if (tool.verifyToken(TokenType.IDENTIFICADOR)) {
77-
flag = true;
78-
} else if (tool.verifyToken(TokenType.PARENTESIS_APERTURA)) {
79-
tool.incrementIndex();
80-
if (isExpression()) {
81-
if (tool.verifyToken(TokenType.PARENTESIS_CIERRE)) {
82-
tool.incrementIndex();
83-
flag = true;
84-
} else {
85-
tool.showError("Se esperaba ')");
86-
}
87-
}
88-
} else {
89-
tool.showError("Se esperaba un factor");
90-
}
91-
return flag;
92-
}
93-
9422
public boolean isValueAssign() {
9523
boolean flag = false;
9624
if (tool.verifyToken(TokenType.IDENTIFICADOR)) {
395 Bytes
Binary file not shown.
-1.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)