Skip to content

Commit 45adbe6

Browse files
committed
fixed char code extraction
1 parent 0abed88 commit 45adbe6

File tree

2 files changed

+3
-9
lines changed

2 files changed

+3
-9
lines changed

src/main/java/com/igormaznitsa/prologparser/tokenizer/Tokenizer.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -789,12 +789,7 @@ state, getLastTokenLine(),
789789
);
790790
} else {
791791
if (charCodeAsInt) {
792-
return this.tokenizerResultPool.find().setData(
793-
new PrologInt(chr),
794-
state,
795-
getLastTokenLine(),
796-
getLastTokenPos()
797-
);
792+
throw new PrologParserException("Char '\'' must be escaped in such case", this.prevLine, this.prevPos);
798793
} else {
799794
strBuffer.append(chr);
800795
}

src/test/java/com/igormaznitsa/prologparser/IntegrationTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public void testParseZeroSingleQuoteChar() {
131131
assertPrologInteger('\u1234', "0'\\u1234.");
132132
assertPrologInteger('\n', "0'\\n.");
133133
assertPrologInteger('\"', "0'\".");
134-
assertPrologInteger('\'', "0'\'.");
134+
assertPrologInteger('\'', "0'\\\'.");
135135
assertPrologInteger('`', "0'`.");
136136
checkWrongClauseReadingWithPPE("0'ab.", 4);
137137
}
@@ -1107,7 +1107,6 @@ public void testStandardTermOrder() {
11071107
*/
11081108
@Test
11091109
public void testConformity() {
1110-
11111110
assertEquals("writeq(- - 1)", parseEd("writeq(-(-(1))).").next().toString());
11121111
assertEquals("writeq(- - a)", parseEd("writeq(-(-a)).").next().toString());
11131112
assertEquals("writeq(- - - a)", parseEd("writeq(-(-(-a))).").next().toString());
@@ -1170,7 +1169,7 @@ public void testConformity() {
11701169
assertEquals("writeq(10 mod 2)", parseEd("writeq(0xamod 2).").next().toString());
11711170

11721171

1173-
// assertThrows(PrologParserException.class, () -> parseEd("integer(0'').").next());
1172+
assertThrows(PrologParserException.class, () -> parseEd("integer(0'').").next());
11741173
assertThrows(PrologParserException.class, () -> parseEd("writeq('\\^J').").next());
11751174
assertThrows(PrologParserException.class, () -> parseEd("writeq(00'a).").next());
11761175
assertThrows(PrologParserException.class, () -> parseEd("writeq(00'+'1).").next());

0 commit comments

Comments
 (0)