Skip to content

Commit 657e7d9

Browse files
change the displays from ; to && for the AND operator #50
1 parent 3abb727 commit 657e7d9

File tree

3 files changed

+50
-50
lines changed

3 files changed

+50
-50
lines changed

src/main/antlr4/Cryptator.g4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ program : equations EOF{}; //additional token to simplify the passage in paramet
2626

2727
equations returns [ICryptaNode node] //create a node of conjuncts
2828
: equation (AND*) {$node=$equation.node;}
29-
| e1=equation (AND+) e2=equations (AND*) {$node=new CryptaNode(";", $e1.node, $e2.node);};
29+
| e1=equation (AND+) e2=equations (AND*) {$node=new CryptaNode("&&", $e1.node, $e2.node);};
3030

3131
equation returns [ICryptaNode node] //create a node of the tree corresponding to an equation and return this node
3232
: '(' equation ')' {$node=$equation.node;}

src/main/java/cryptator/CryptaOperator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public enum CryptaOperator {
3535
LE("<=", (a, b) -> toBigInt(a.compareTo(b) <= 0), (a, b) -> a.le(b)),
3636
GE(">=", (a, b) -> toBigInt(a.compareTo(b) >= 0), (a, b) -> a.ge(b)),
3737

38-
AND(";", (a, b) -> toBigInt(!a.equals(BigInteger.ZERO) && !b.equals(BigInteger.ZERO)), (a, b) -> ((ReExpression) a).and((ReExpression) b));
38+
AND("&&", (a, b) -> toBigInt(!a.equals(BigInteger.ZERO) && !b.equals(BigInteger.ZERO)), (a, b) -> ((ReExpression) a).and((ReExpression) b));
3939
public final String token;
4040

4141
public final BinaryOperator<BigInteger> function;

src/test/java/cryptator/ParserTest.java

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -126,18 +126,18 @@ public void testParserError7() throws CryptaParserException {
126126
public void testParserAND() throws CryptaParserException {
127127
final ICryptaNode node = parser.parse("send+more=money; d+e>=y");
128128

129-
testPreorder("; = + send more money >= + d e y ", node);
130-
testPostorder("send more + money = d e + y >= ; ", node);
131-
testInorder("send + more = money ; d + e >= y ", node);
129+
testPreorder("&& = + send more money >= + d e y ", node);
130+
testPostorder("send more + money = d e + y >= && ", node);
131+
testInorder("send + more = money && d + e >= y ", node);
132132
}
133133

134134
@Test
135135
public void testParserAND2() throws CryptaParserException {
136136
final ICryptaNode node = parser.parse("send+more= money; -send -more= \n -money");
137137

138-
testPreorder("; = + send more money = - - " + ParserTest.ZERO + " send more - " + ParserTest.ZERO + " money ", node);
139-
testPostorder("send more + money = " + ParserTest.ZERO + " send - more - " + ParserTest.ZERO + " money - = ; ", node);
140-
testInorder("send + more = money ; " + ParserTest.ZERO + " - send - more = " + ParserTest.ZERO + " - money ", node);
138+
testPreorder("&& = + send more money = - - " + ParserTest.ZERO + " send more - " + ParserTest.ZERO + " money ", node);
139+
testPostorder("send more + money = " + ParserTest.ZERO + " send - more - " + ParserTest.ZERO + " money - = && ", node);
140+
testInorder("send + more = money && " + ParserTest.ZERO + " - send - more = " + ParserTest.ZERO + " - money ", node);
141141

142142
}
143143

@@ -146,35 +146,35 @@ public void testParserAND3() throws CryptaParserException {
146146
var str = "send + more ^ more = money ";
147147
final ICryptaNode node = parser.parse(str + ";" + str);
148148
var preord = "= + send ^ more more money ";
149-
testPreorder("; " + preord + preord, node);
149+
testPreorder("&& " + preord + preord, node);
150150
var postord = "send more more ^ + money =";
151-
testPostorder(postord + " " + postord + " ; ", node);
152-
testInorder(str + "; " + str, node);
151+
testPostorder(postord + " " + postord + " && ", node);
152+
testInorder(str + "&& " + str, node);
153153
}
154154

155155
@Test
156156
public void testParserAND4() throws CryptaParserException {
157157
final ICryptaNode node = parser.parse("send+more=money;; d+e>=y");
158158

159-
testPreorder("; = + send more money >= + d e y ", node);
160-
testPostorder("send more + money = d e + y >= ; ", node);
161-
testInorder("send + more = money ; d + e >= y ", node);
159+
testPreorder("&& = + send more money >= + d e y ", node);
160+
testPostorder("send more + money = d e + y >= && ", node);
161+
testInorder("send + more = money && d + e >= y ", node);
162162
}
163163

164164
@Test
165165
public void testParserAND5() throws CryptaParserException {
166166
final ICryptaNode node = parser.parse("A = B;; A = B");
167-
testPreorder("; = A B = A B ", node);
168-
testPostorder("A B = A B = ; ", node);
169-
testInorder("A = B ; A = B ", node);
167+
testPreorder("&& = A B = A B ", node);
168+
testPostorder("A B = A B = && ", node);
169+
testInorder("A = B && A = B ", node);
170170
}
171171

172172
@Test
173173
public void testParserAND6() throws CryptaParserException {
174174
final ICryptaNode node = parser.parse("A = B;; A = B;;;;;");
175-
testPreorder("; = A B = A B ", node);
176-
testPostorder("A B = A B = ; ", node);
177-
testInorder("A = B ; A = B ", node);
175+
testPreorder("&& = A B = A B ", node);
176+
testPostorder("A B = A B = && ", node);
177+
testInorder("A = B && A = B ", node);
178178
}
179179

180180
@Test
@@ -225,9 +225,9 @@ public void testParserErrorAND7() throws CryptaParserException {
225225
public void testParserInteger1() throws CryptaParserException {
226226
final ICryptaNode node = parser.parse("send+more='1234';; d+e>=y");
227227

228-
testPreorder("; = + send more '1234' >= + d e y ", node);
229-
testPostorder("send more + '1234' = d e + y >= ; ", node);
230-
testInorder("send + more = '1234' ; d + e >= y ", node);
228+
testPreorder("&& = + send more '1234' >= + d e y ", node);
229+
testPostorder("send more + '1234' = d e + y >= && ", node);
230+
testInorder("send + more = '1234' && d + e >= y ", node);
231231
}
232232

233233
@Test(expected = CryptaParserException.class)
@@ -244,18 +244,18 @@ public void testParserIntegerError2() throws CryptaParserException {
244244
public void testParserANDsymbol() throws CryptaParserException {
245245
final ICryptaNode node = parser.parse("send+more=money && d+e>=y");
246246

247-
testPreorder("; = + send more money >= + d e y ", node);
248-
testPostorder("send more + money = d e + y >= ; ", node);
249-
testInorder("send + more = money ; d + e >= y ", node);
247+
testPreorder("&& = + send more money >= + d e y ", node);
248+
testPostorder("send more + money = d e + y >= && ", node);
249+
testInorder("send + more = money && d + e >= y ", node);
250250
}
251251

252252
@Test
253253
public void testParserAND2symbol() throws CryptaParserException {
254254
final ICryptaNode node = parser.parse("send+more= money&& -send -more= \n -money");
255255

256-
testPreorder("; = + send more money = - - " + ParserTest.ZERO + " send more - " + ParserTest.ZERO + " money ", node);
257-
testPostorder("send more + money = " + ParserTest.ZERO + " send - more - " + ParserTest.ZERO + " money - = ; ", node);
258-
testInorder("send + more = money ; " + ParserTest.ZERO + " - send - more = " + ParserTest.ZERO + " - money ", node);
256+
testPreorder("&& = + send more money = - - " + ParserTest.ZERO + " send more - " + ParserTest.ZERO + " money ", node);
257+
testPostorder("send more + money = " + ParserTest.ZERO + " send - more - " + ParserTest.ZERO + " money - = && ", node);
258+
testInorder("send + more = money && " + ParserTest.ZERO + " - send - more = " + ParserTest.ZERO + " - money ", node);
259259

260260
}
261261

@@ -264,35 +264,35 @@ public void testParserAND3symbol() throws CryptaParserException {
264264
var str = "send + more ^ more = money ";
265265
final ICryptaNode node = parser.parse(str + "&&" + str);
266266
var preord = "= + send ^ more more money ";
267-
testPreorder("; " + preord + preord, node);
267+
testPreorder("&& " + preord + preord, node);
268268
var postord = "send more more ^ + money =";
269-
testPostorder(postord + " " + postord + " ; ", node);
270-
testInorder(str + "; " + str, node);
269+
testPostorder(postord + " " + postord + " && ", node);
270+
testInorder(str + "&& " + str, node);
271271
}
272272

273273
@Test
274274
public void testParserAND4symbol() throws CryptaParserException {
275275
final ICryptaNode node = parser.parse("send+more=money&&&& d+e>=y");
276276

277-
testPreorder("; = + send more money >= + d e y ", node);
278-
testPostorder("send more + money = d e + y >= ; ", node);
279-
testInorder("send + more = money ; d + e >= y ", node);
277+
testPreorder("&& = + send more money >= + d e y ", node);
278+
testPostorder("send more + money = d e + y >= && ", node);
279+
testInorder("send + more = money && d + e >= y ", node);
280280
}
281281

282282
@Test
283283
public void testParserAND5symbol() throws CryptaParserException {
284284
final ICryptaNode node = parser.parse("A = B&&&& A = B");
285-
testPreorder("; = A B = A B ", node);
286-
testPostorder("A B = A B = ; ", node);
287-
testInorder("A = B ; A = B ", node);
285+
testPreorder("&& = A B = A B ", node);
286+
testPostorder("A B = A B = && ", node);
287+
testInorder("A = B && A = B ", node);
288288
}
289289

290290
@Test
291291
public void testParserAND6symbol() throws CryptaParserException {
292292
final ICryptaNode node = parser.parse("A = B&&&& A = B&&&&&&&&&&");
293-
testPreorder("; = A B = A B ", node);
294-
testPostorder("A B = A B = ; ", node);
295-
testInorder("A = B ; A = B ", node);
293+
testPreorder("&& = A B = A B ", node);
294+
testPostorder("A B = A B = && ", node);
295+
testInorder("A = B && A = B ", node);
296296
}
297297

298298
@Test
@@ -306,9 +306,9 @@ public void testParserAND7symbol() throws CryptaParserException {
306306
@Test
307307
public void testParserAND8symbol() throws CryptaParserException {
308308
final ICryptaNode node = parser.parse("a=b&& b=c ; c=d");
309-
testPreorder("; = a b ; = b c = c d ", node);
310-
testPostorder("a b = b c = c d = ; ; ", node);
311-
testInorder("a = b ; b = c ; c = d ", node);
309+
testPreorder("&& = a b && = b c = c d ", node);
310+
testPostorder("a b = b c = c d = && && ", node);
311+
testInorder("a = b && b = c && c = d ", node);
312312
}
313313

314314
@Test(expected = CryptaParserException.class)
@@ -356,9 +356,9 @@ public void testParserErrorAND9symbol() throws CryptaParserException {
356356
public void testParserInteger1symbol() throws CryptaParserException {
357357
final ICryptaNode node = parser.parse("send+more='1234' && && d+e>=y");
358358

359-
testPreorder("; = + send more '1234' >= + d e y ", node);
360-
testPostorder("send more + '1234' = d e + y >= ; ", node);
361-
testInorder("send + more = '1234' ; d + e >= y ", node);
359+
testPreorder("&& = + send more '1234' >= + d e y ", node);
360+
testPostorder("send more + '1234' = d e + y >= && ", node);
361+
testInorder("send + more = '1234' && d + e >= y ", node);
362362
}
363363

364364
@Test(expected = CryptaParserException.class)
@@ -395,9 +395,9 @@ public void testParserIntegerError6symbol() throws CryptaParserException {
395395
public void testParserInteger1symboldoubleticks() throws CryptaParserException {
396396
final ICryptaNode node = parser.parse("send+more=\"1234\" && && d+e>=y");
397397

398-
testPreorder("; = + send more '1234' >= + d e y ", node);
399-
testPostorder("send more + '1234' = d e + y >= ; ", node);
400-
testInorder("send + more = '1234' ; d + e >= y ", node);
398+
testPreorder("&& = + send more '1234' >= + d e y ", node);
399+
testPostorder("send more + '1234' = d e + y >= && ", node);
400+
testInorder("send + more = '1234' && d + e >= y ", node);
401401
}
402402

403403
@Test(expected = CryptaParserException.class)

0 commit comments

Comments
 (0)