def test87(self): #debug(grammar.event_expression) print_result_as_stmt(self.try_parse_pass("~en")) print_result_as_stmt(self.try_parse_pass("posedge A or negedge CLK")) print_result_as_stmt(self.try_parse_pass("posedge A , negedge CLK")) print_result_as_stmt(self.try_parse_pass("~en or posedge A or negedge CLK")) print_result_as_stmt(self.try_parse_pass("~en , (posedge A or negedge CLK)")) # must be pass! not implemented recursive Binary Exp print print_result(self.try_parse_pass("~en ,posedge A or negedge CLK"))
def test(self): print_result(self.try_parse_pass("if(ABC < 0) ;")) print_result(self.try_parse_pass(" if ( ABC < 0) A=B;")) print_result(self.try_parse_pass(''' if ( -1 < X ) A = 0; else A = 2; ''').asXML()) print(self.try_parse_pass(''' if ( -1 < X ) A = 0; else if ( 0 < X) A = 1; else A = 2; ''')) print(self.try_parse_pass(''' if ( -1 < X ) A = 0; else if ( 0 <= X) A = 1; else if ( 0 < X) A = 1; else if ( 0 < X) A = 1; else if ( 0 > X) A = 1; else A = 2; ''').asXML())
def _test133(self): print_result(self.try_parse_pass("-10"))
def test112(self): print_result(self.try_parse_pass("foo(0,1,2)")) print_result(self.try_parse_fail("foo(0,)")) print_result(self.try_parse_pass("foo(bar(0))")) print_result(self.try_parse_pass("foo(-10)")) print_result(self.try_parse_pass("foo( -bar(0) )")) print_result(self.try_parse_fail("foo( X+1 )")) print_result(self.try_parse_fail("A.b.c( 0)"))
def test118(self): print_result(self.try_parse_fail("A")) print_result(self.try_parse_pass("1")) print_result(self.try_parse_pass("(1)")) print_result(self.try_parse_pass("func(1)")) print_result(self.try_parse_pass("func()")) print_result(self.try_parse_pass("1 + 2")) print_result(self.try_parse_pass("1 + (2 * 3)")) print_result(self.try_parse_pass("(1 + 2) * 3")) print_result(self.try_parse_pass("0 ? 1 : 2")) print_result(self.try_parse_pass("IsOK() ? 1 : 2")) print_result(self.try_parse_pass("-0 ? 1 : 2")) #debug(grammar.constant_expression) print_result(self.try_parse_pass(" 1 ? ( a() ? a() : a() ): 3")) print_result(self.try_parse_pass(" 1 ? a() ? a() : a() : 3")) print_result(self.try_parse_pass("1 + 2 * 3"))
def test116(self): print_result(self.try_parse_pass(" 0 ? 1 : 2")) print_result(self.try_parse_pass(" A ? 1 : 2")) print_result(self.try_parse_pass(" A+1 ? (X<0) : (Y==1)")) print_result(self.try_parse_pass(" A+1 ? X<0 : Y==1")) print_result(self.try_parse_pass(" 0?1:2 ? X<0 : Y==1")) print_result(self.try_parse_pass(" 0 ? 1 ? 2 : 3 : 4")) print_result(self.try_parse_pass(" 0 ? (1 ? 2 : 3) : 4")) print_result(self.try_parse_pass(" 0 ? (a() ? 2 : 3) : 4")) print_result(self.try_parse_pass(" 0 ? 1 : (a() ? 2 : 3)")) print_result(self.try_parse_pass(" 0 ? 1 : (a() ? b() : 3)")) print_result(self.try_parse_pass(" 0 ? (a() ? a() : 3) : 4")) print_result(self.try_parse_pass(" 1 ? ( a() ? a() : a() ) : 3"))
def test129(self): print_result(self.try_parse_pass("1+2+3")) print_result(self.try_parse_pass("1:0")) print_result(self.try_parse_fail("1+:0"))
def test113(self): print_result(self.try_parse_pass("foo()")) print_result(self.try_parse_pass("foo(0)")) print_result(self.try_parse_pass("foo(0,1,2)")) print_result(self.try_parse_pass("foo(bar(0))")) print_result(self.try_parse_pass("foo(-10)")) print_result(self.try_parse_pass("foo( -bar(0) )")) print_result(self.try_parse_pass("foo( X+1 )")) print_result(self.try_parse_pass("A.b.c( 0, 1, 2)")) print_result(self.try_parse_pass("A.b.c( X+1, -Z+1 )")) print_result(self.try_parse_pass("A.b.c( foo(0) )"))
def test122(self): #debug(grammar.expression) print_result(self.try_parse_pass("0")) print_result(self.try_parse_pass("A+10")) print_result(self.try_parse_pass("-X")) print_result(self.try_parse_pass("1+2+3")) print_result(self.try_parse_pass("-X+1")) print_result(self.try_parse_pass("-X+1/A")) print_result(self.try_parse_pass("1+2*3")) print_result(self.try_parse_pass("1-2*3+4/5")) print_result(self.try_parse_pass("1-(2*3+4)/5")) print_result(self.try_parse_pass("-X+1*A")) print_result(self.try_parse_pass("1?2:3")) print_result(self.try_parse_pass("-1?2:3")) print_result(self.try_parse_pass("A ? B : C")) print_result(self.try_parse_pass("A ? B : C ? D : E")) print_result(self.try_parse_pass("A ? B ? C : D : E")) print_result(self.try_parse_pass("A ? (B ? C : D) : E")) print_result(self.try_parse_pass("0 ? 1 : 2 ? 1 : 2")) print_result(self.try_parse_pass("0 ? 0 ? 1 : 2 : 2")) print_result(self.try_parse_pass("(0 ? 1 : 2) ? 3 : 4")) print_result(self.try_parse_pass("func(1)")) print_result(self.try_parse_pass("a + (b * c)")) print_result(self.try_parse_pass("(a + b) * c")) print_result(self.try_parse_pass("-1 + (b * c)")) print_result(self.try_parse_pass("-1 + (-b * ^c)")) print_result(self.try_parse_pass(" 1 ? ( a() ? a() : a() ): 3")) print_result(self.try_parse_pass(" 1 ? a() ? a() : a() : 3")) print_result(self.try_parse_pass("1 + 2 * 3")) print_result(self.try_parse_pass("1 + 2 * 3 / 4 ** 5")) print_result(self.try_parse_pass("1 + 2 ? 3 : 4 * 5")) print_result(self.try_parse_pass("1 + (2 ? 3 : 4) * 5"))
def test109(self): print_result(self.try_parse_pass("foo.bar.hoge[5].A[1]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][1]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X][y]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X][3:1]")) print_result(self.try_parse_pass("A[0][func(1)][foo(2+X)]")) print_result(self.try_parse_fail(" 4'b10 ")) print_result(self.try_parse_pass("{X,Y}")) print_result(self.try_parse_pass("{X,Y.foo,Z[1]}")) print_result(self.try_parse_pass("{ a, { b, c }, { d, e } }"))
def test108(self): print_result(self.try_parse_pass("{foo.bar.hoge[5].A[1] }")) print_result(self.try_parse_pass("{foo.bar.hoge[5].A[1][1]}")) print_result(self.try_parse_pass("{foo.bar.hoge[5].A[1][X]}")) print_result(self.try_parse_pass("{foo.bar.hoge[5].A[1][X][y]}")) print_result(self.try_parse_pass("{foo.bar.hoge[5].A[1][X][3:1]}")) print_result(self.try_parse_fail("{foo.bar.hoge[5].A[1], 4'b10 }")) print_result(self.try_parse_fail("{foo.bar.hoge[5].A[1][1], 8'hff }")) print_result(self.try_parse_fail("{foo.bar.hoge[5].A[1][X]}, 1")) print_result(self.try_parse_fail("{foo.bar.hoge[5].A[1][X][y]}, 10.1")) print_result(self.try_parse_pass("{X,Y}")) print_result(self.try_parse_pass("{X,Y.foo,Z[1]}")) print_result(self.try_parse_pass("{X[1:0],Y.foo,Z[1][2]}")) print_result(self.try_parse_pass("{ a, { b, c }, { d, e } }")) print_result(self.try_parse_pass("{ { { { { { { X } } } } } } }")) print_result(self.try_parse_fail("{1}"))
def test103(self): print_result(self.try_parse_pass("{1,2,3}")) print_result(self.try_parse_pass("{1,1}")) print_result(self.try_parse_pass("{1+2,3}")) print_result(self.try_parse_pass("{1+2,3,4}")) print_result(self.try_parse_fail("{1,1,}")) print_result(self.try_parse_pass("{ {1}, 1}")) print_result(self.try_parse_pass("{ {1,2}, {3,4,5}, {6,7, {8,9}} }")) print_result(self.try_parse_fail("{ A+B, X + 2, 3'hff }"))
def _test131(self): print_result(self.try_parse_fail("{1,2,}"))
def test135(self): print_result(self.try_parse_pass("A")) print_result(self.try_parse_pass("A[1:0]")) print_result(self.try_parse_pass("A[1]")) print_result(self.try_parse_pass("A[1][2]")) print_result(self.try_parse_pass("A[1][2][X]")) print_result(self.try_parse_pass("A[foo()][0][5:3]")) print_result(self.try_parse_pass("hoge.foo[1:0]")) print_result(self.try_parse_pass("hoge.foo[0][1][2][1:0]")) print_result(self.try_parse_fail("{1}")) print_result(self.try_parse_pass("{A,B}")) print_result(self.try_parse_pass("{{A,B},X,f}"))
def test134(self): # debug(grammar.constant_expression) # debug(grammar.constant_range_expression) print_result(self.try_parse_pass("A")) print_result(self.try_parse_pass("A[1:0]")) print_result(self.try_parse_pass("A[1]")) print_result(self.try_parse_pass("A[1][2]")) print_result(self.try_parse_fail("A[1][2][X]")) print_result(self.try_parse_pass("A[foo()][0][5:3]")) print_result(self.try_parse_pass("hoge.foo[1:0]")) print_result(self.try_parse_pass("hoge.foo[0][1][2][1:0]")) print_result(self.try_parse_fail("{1}")) print_result(self.try_parse_pass("{A,B}")) print_result(self.try_parse_pass("{{A,B},X,f}"))
def test133(self): print_result(self.try_parse_fail("-10")) print_result(self.try_parse_pass("foo(1)")) print_result(self.try_parse_pass("$display(a,b,c)")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][1:0]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X][y]")) print_result(self.try_parse_pass("foo.bar.hoge[5].A[1][X][3:1]")) print_result(self.try_parse_pass("{1,2,3}")) print_result(self.try_parse_pass("(10)"))
def test95(self): print_result(self.try_parse_pass("A: a=1;")) print_result(self.try_parse_pass("A,B: a=1;")) print_result(self.try_parse_pass("default: a=1;"))
def test141(self): print_result(self.try_parse_pass("23.5"))
def test124(self): print_result(self.try_parse_pass("0")) print_result(self.try_parse_pass("A+10")) print_result(self.try_parse_pass("-X")) print_result(self.try_parse_pass("1+2+3")) print_result(self.try_parse_pass("-X+1")) print_result(self.try_parse_pass("-X+1+A")) print_result(self.try_parse_pass("-X+1*A")) print_result(self.try_parse_pass("1?2:3")) print_result(self.try_parse_pass("-1?2:3")) print_result(self.try_parse_pass("A ? B : C")) print_result(self.try_parse_pass("A ? B : A ? B : C")) print_result(self.try_parse_pass("0 ? 1 : 2 ? 1 : 2")) print_result(self.try_parse_pass("0 ? 0 ? 1 : 2 : 2")) print_result(self.try_parse_pass("(0 ? 1 : 2) ? 3 : 4")) print_result(self.try_parse_pass("func(1)"))
def test142(self): print_result(self.try_parse_pass("e"))
def test128(self): print_result(self.try_parse_fail("1:0")) print_result(self.try_parse_pass("20"))
def test150(self): print_result(self.try_parse_pass("1")) print_result(self.try_parse_pass("123"))
def test114(self): print_result(self.try_parse_pass("$foo(0,1,2)")) print_result(self.try_parse_pass("$foo(bar(0))")) print_result(self.try_parse_pass("$foo(-10)")) print_result(self.try_parse_pass("$foo( -bar(0) )")) print_result(self.try_parse_pass("$foo( X+1 )")) print_result(self.try_parse_fail("$A.b.c( X+1, -Z+1 )"))
def test(self): print_result(self.try_parse_pass("23.5")) print_result(self.try_parse_pass("1.0e+1")) print_result(self.try_parse_pass("0.0E-30")) print_result(self.try_parse_pass("0.0")) print_result(self.try_parse_pass("123")) print_result(self.try_parse_pass("01")) print_result(self.try_parse_pass("'d0")) print_result(self.try_parse_pass("5'd0"))
def test117(self): print_result(self.try_parse_pass("1")) print_result(self.try_parse_pass("1+2")) print_result(self.try_parse_fail("X+2")) print_result(self.try_parse_pass("0?1:2"))
def test82(self): print_result(self.try_parse_pass("#10")) print_result(self.try_parse_pass("#X+1")) print_result(self.try_parse_pass("#(X+1)")) print_result(self.try_parse_pass("#X +1"))
def test119(self): print_result(self.try_parse_fail("A")) print_result(self.try_parse_pass("1")) print_result(self.try_parse_pass("(1)")) print_result(self.try_parse_pass("func(1)")) print_result(self.try_parse_pass("func()")) print_result(self.try_parse_pass("1 + 2")) print_result(self.try_parse_pass("1 + 2 * 3")) print_result(self.try_parse_pass("1 + (2 * 3)")) print_result(self.try_parse_pass("(1 + 2) * 3")) print_result(self.try_parse_pass("0 ? 1 : 2")) print_result(self.try_parse_pass("IsOK() ? 1 : 2")) print_result(self.try_parse_pass("-0 ? 1 : 2"))
def _test(self): #debug(grammar.delay_value) print_result(self.try_parse_pass("10")) print_result(self.try_parse_pass("X+2"))
def test120(self): print_result(self.try_parse_pass("1:0")) print_result(self.try_parse_pass("1:0+10")) print_result(self.try_parse_fail("1:X")) print_result(self.try_parse_pass("func(0):{1,2}"))
def test131(self): print_result(self.try_parse_fail("{1,2,}")) print_result(self.try_parse_pass("1")) print_result(self.try_parse_pass("{1,2,3}")) print_result(self.try_parse_fail("{1,2,}")) print_result(self.try_parse_pass("(1)")) print_result(self.try_parse_pass("({1,2,3})")) print_result(self.try_parse_pass("func(0,1,2)")) print_result(self.try_parse_pass("func(0?1:2)")) print_result(self.try_parse_pass("{{{{1}}}}")) print_result(self.try_parse_fail("A"))