Commit dcfaaaeb authored by Kateřina Sloupová's avatar Kateřina Sloupová
Browse files

strange emptyset bug

parent e71ba9bd
Pipeline #57391 failed with stage
in 19 seconds
......@@ -9,26 +9,27 @@ import sys
def serializedATN():
with StringIO() as buf:
buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\f")
buf.write("\67\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t")
buf.write("\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\3\2\3\2\3\3\3\3\3")
buf.write("\4\3\4\3\4\5\4\37\n\4\3\5\3\5\3\5\3\6\3\6\3\7\3\7\3\b")
buf.write("\3\b\3\t\3\t\3\t\5\t-\n\t\3\n\3\n\3\13\6\13\62\n\13\r")
buf.write("\13\16\13\63\3\13\3\13\2\2\f\3\3\5\4\7\5\t\6\13\7\r\b")
buf.write("\17\t\21\n\23\13\25\f\3\2\4\5\2\62;C\\c|\5\2\13\f\17\17")
buf.write("\"\"\29\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t\3\2\2")
buf.write("\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2")
buf.write("\2\23\3\2\2\2\2\25\3\2\2\2\3\27\3\2\2\2\5\31\3\2\2\2\7")
buf.write("\36\3\2\2\2\t \3\2\2\2\13#\3\2\2\2\r%\3\2\2\2\17\'\3\2")
buf.write("\2\2\21,\3\2\2\2\23.\3\2\2\2\25\61\3\2\2\2\27\30\7*\2")
buf.write("\2\30\4\3\2\2\2\31\32\7+\2\2\32\6\3\2\2\2\33\37\7,\2\2")
buf.write("\34\35\7`\2\2\35\37\7,\2\2\36\33\3\2\2\2\36\34\3\2\2\2")
buf.write("\37\b\3\2\2\2 !\7`\2\2!\"\7-\2\2\"\n\3\2\2\2#$\7\60\2")
buf.write("\2$\f\3\2\2\2%&\7-\2\2&\16\3\2\2\2\'(\t\2\2\2(\20\3\2")
buf.write("\2\2)-\7\u03b7\2\2*+\7^\2\2+-\7g\2\2,)\3\2\2\2,*\3\2\2")
buf.write("\2-\22\3\2\2\2./\7\u2207\2\2/\24\3\2\2\2\60\62\t\3\2\2")
buf.write("\61\60\3\2\2\2\62\63\3\2\2\2\63\61\3\2\2\2\63\64\3\2\2")
buf.write("\2\64\65\3\2\2\2\65\66\b\13\2\2\66\26\3\2\2\2\6\2\36,")
buf.write("\63\3\b\2\2")
buf.write(":\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")
buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\3\2\3\2\3\3\3\3\3\4")
buf.write("\3\4\3\4\5\4\37\n\4\3\5\3\5\3\5\3\6\3\6\3\7\3\7\3\b\3")
buf.write("\b\3\t\3\t\3\t\5\t-\n\t\3\n\3\n\3\n\5\n\62\n\n\3\13\6")
buf.write("\13\65\n\13\r\13\16\13\66\3\13\3\13\2\2\f\3\3\5\4\7\5")
buf.write("\t\6\13\7\r\b\17\t\21\n\23\13\25\f\3\2\4\5\2\62;C\\c|")
buf.write("\5\2\13\f\17\17\"\"\2=\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2")
buf.write("\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2")
buf.write("\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\3\27\3\2\2\2\5")
buf.write("\31\3\2\2\2\7\36\3\2\2\2\t \3\2\2\2\13#\3\2\2\2\r%\3\2")
buf.write("\2\2\17\'\3\2\2\2\21,\3\2\2\2\23\61\3\2\2\2\25\64\3\2")
buf.write("\2\2\27\30\7*\2\2\30\4\3\2\2\2\31\32\7+\2\2\32\6\3\2\2")
buf.write("\2\33\37\7,\2\2\34\35\7`\2\2\35\37\7,\2\2\36\33\3\2\2")
buf.write("\2\36\34\3\2\2\2\37\b\3\2\2\2 !\7`\2\2!\"\7-\2\2\"\n\3")
buf.write("\2\2\2#$\7\60\2\2$\f\3\2\2\2%&\7-\2\2&\16\3\2\2\2\'(\t")
buf.write("\2\2\2(\20\3\2\2\2)-\7\u03b7\2\2*+\7^\2\2+-\7g\2\2,)\3")
buf.write("\2\2\2,*\3\2\2\2-\22\3\2\2\2.\62\7\u2207\2\2/\60\7^\2")
buf.write("\2\60\62\7\62\2\2\61.\3\2\2\2\61/\3\2\2\2\62\24\3\2\2")
buf.write("\2\63\65\t\3\2\2\64\63\3\2\2\2\65\66\3\2\2\2\66\64\3\2")
buf.write("\2\2\66\67\3\2\2\2\678\3\2\2\289\b\13\2\29\26\3\2\2\2")
buf.write("\7\2\36,\61\66\3\b\2\2")
return buf.getvalue()
......@@ -54,7 +55,7 @@ class RegExLexer(Lexer):
modeNames = [ "DEFAULT_MODE" ]
literalNames = [ "<INVALID>",
"'('", "')'", "'^+'", "'.'", "'+'", "'\u2205'" ]
"'('", "')'", "'^+'", "'.'", "'+'" ]
symbolicNames = [ "<INVALID>",
"LEFT_PAR", "RIGHT_PAR", "ITER", "POS_ITER", "CONCAT", "UNION",
......
......@@ -44,7 +44,7 @@ class RegExParser ( Parser ):
sharedContextCache = PredictionContextCache()
literalNames = [ "<INVALID>", "'('", "')'", "<INVALID>", "'^+'", "'.'",
"'+'", "<INVALID>", "'\u03B5'", "'\u2205'" ]
"'+'" ]
symbolicNames = [ "<INVALID>", "LEFT_PAR", "RIGHT_PAR", "ITER", "POS_ITER",
"CONCAT", "UNION", "ALPHABET", "EPSILON", "EMPTYSET",
......@@ -102,12 +102,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitStart" ):
listener.exitStart(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitStart" ):
return visitor.visitStart(self)
else:
return visitor.visitChildren(self)
......@@ -175,12 +169,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitExpr" ):
listener.exitExpr(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitExpr" ):
return visitor.visitExpr(self)
else:
return visitor.visitChildren(self)
def expr(self, _p:int=0):
......@@ -293,12 +281,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitConcatenated" ):
listener.exitConcatenated(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitConcatenated" ):
return visitor.visitConcatenated(self)
else:
return visitor.visitChildren(self)
......@@ -369,12 +351,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitIterable" ):
listener.exitIterable(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitIterable" ):
return visitor.visitIterable(self)
else:
return visitor.visitChildren(self)
......@@ -434,12 +410,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitParentheses" ):
listener.exitParentheses(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitParentheses" ):
return visitor.visitParentheses(self)
else:
return visitor.visitChildren(self)
......@@ -490,12 +460,6 @@ class RegExParser ( Parser ):
if hasattr( listener, "exitSymbol" ):
listener.exitSymbol(self)
def accept(self, visitor:ParseTreeVisitor):
if hasattr( visitor, "visitSymbol" ):
return visitor.visitSymbol(self)
else:
return visitor.visitChildren(self)
......
......@@ -299,6 +299,8 @@ def main():
regex_test("(b)(a)(c)")
regex_test("b+a+c+a+c")
regex_test("∅")
regex_test("\e")
regex_test('\0')
regex_test("(∅ + ∅^*).(∅^* + ∅∅^+)")
......
......@@ -116,8 +116,15 @@ def main():
exit(0)
elif student_solution.characters != teacher_solution.characters:
print("Abecedy zadaného jazyka a studentova řešení se liší "
"(abeceda je odvozena ze všech písmen objevujících se v přechodové funkci).") # pravidlech/regulárním výrazu
if task == "REG":
print("Abecedy zadaného jazyka a studentova řešení se liší "
"(abeceda je odvozena ze všech písmen objevujících se v regulárním výrazu).")
elif task == "GRA":
print("Abecedy zadaného jazyka a studentova řešení se liší "
"(abeceda je odvozena ze všech terminálů objevujících se v pravidlech gramatiky).")
else:
print("Abecedy zadaného jazyka a studentova řešení se liší "
"(abeceda je odvozena ze všech písmen objevujících se v přechodové funkci).")
print("Nesprávné řešení.")
exit(1)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment