From 2c72168e18470f5a0ecb4da9ee1a5122dcff1c16 Mon Sep 17 00:00:00 2001 From: bronku Date: Fri, 28 Nov 2025 13:34:33 +0100 Subject: [PATCH] new tests --- test/parser/16.in | 2 ++ test/parser/16.out | 5 +++++ test/parser/17.in | 2 ++ test/parser/17.out | 6 ++++++ test/parser/18.in | 2 ++ test/parser/18.out | 6 ++++++ test/parser/19.in | 2 ++ test/parser/19.out | 8 ++++++++ test/parser/20.in | 2 ++ test/parser/20.out | 9 +++++++++ test/parser/21.in | 2 ++ test/parser/21.out | 6 ++++++ test/parser/22.in | 2 ++ test/parser/22.out | 7 +++++++ test/parser/23.in | 2 ++ test/parser/23.out | 7 +++++++ test/parser/24.in | 2 ++ test/parser/24.out | 10 ++++++++++ test/parser/25.in | 3 +++ test/parser/25.out | 9 +++++++++ test/parser/26.in | 5 +++++ test/parser/26.out | 9 +++++++++ test/parser/27.in | 3 +++ test/parser/27.out | 4 ++++ test/parser/28.in | 4 ++++ test/parser/28.out | 7 +++++++ test/parser/29.in | 4 ++++ test/parser/29.out | 7 +++++++ test/parser/30.in | 2 ++ test/parser/30.out | 12 ++++++++++++ test/parser/31.in | 2 ++ test/parser/31.out | 7 +++++++ test/parser/32.in | 2 ++ test/parser/32.out | 7 +++++++ test/parser/33.in | 2 ++ test/parser/33.out | 13 +++++++++++++ 36 files changed, 184 insertions(+) create mode 100644 test/parser/16.in create mode 100644 test/parser/16.out create mode 100644 test/parser/17.in create mode 100644 test/parser/17.out create mode 100644 test/parser/18.in create mode 100644 test/parser/18.out create mode 100644 test/parser/19.in create mode 100644 test/parser/19.out create mode 100644 test/parser/20.in create mode 100644 test/parser/20.out create mode 100644 test/parser/21.in create mode 100644 test/parser/21.out create mode 100644 test/parser/22.in create mode 100644 test/parser/22.out create mode 100644 test/parser/23.in create mode 100644 test/parser/23.out create mode 100644 test/parser/24.in create mode 100644 test/parser/24.out create mode 100644 test/parser/25.in create mode 100644 test/parser/25.out create mode 100644 test/parser/26.in create mode 100644 test/parser/26.out create mode 100644 test/parser/27.in create mode 100644 test/parser/27.out create mode 100644 test/parser/28.in create mode 100644 test/parser/28.out create mode 100644 test/parser/29.in create mode 100644 test/parser/29.out create mode 100644 test/parser/30.in create mode 100644 test/parser/30.out create mode 100644 test/parser/31.in create mode 100644 test/parser/31.out create mode 100644 test/parser/32.in create mode 100644 test/parser/32.out create mode 100644 test/parser/33.in create mode 100644 test/parser/33.out diff --git a/test/parser/16.in b/test/parser/16.in new file mode 100644 index 0000000..366cc5e --- /dev/null +++ b/test/parser/16.in @@ -0,0 +1,2 @@ +-5 + diff --git a/test/parser/16.out b/test/parser/16.out new file mode 100644 index 0000000..9151a09 --- /dev/null +++ b/test/parser/16.out @@ -0,0 +1,5 @@ +Module + ExprStmt + UnaryOp(-) + Number(5) + diff --git a/test/parser/17.in b/test/parser/17.in new file mode 100644 index 0000000..d278104 --- /dev/null +++ b/test/parser/17.in @@ -0,0 +1,2 @@ +1 < 2 + diff --git a/test/parser/17.out b/test/parser/17.out new file mode 100644 index 0000000..8c78d71 --- /dev/null +++ b/test/parser/17.out @@ -0,0 +1,6 @@ +Module + ExprStmt + Compare(<) + Number(1) + Number(2) + diff --git a/test/parser/18.in b/test/parser/18.in new file mode 100644 index 0000000..1a6cce0 --- /dev/null +++ b/test/parser/18.in @@ -0,0 +1,2 @@ +x and y + diff --git a/test/parser/18.out b/test/parser/18.out new file mode 100644 index 0000000..adcdae4 --- /dev/null +++ b/test/parser/18.out @@ -0,0 +1,6 @@ +Module + ExprStmt + BoolOp(and) + Identifier(x) + Identifier(y) + diff --git a/test/parser/19.in b/test/parser/19.in new file mode 100644 index 0000000..761bbf4 --- /dev/null +++ b/test/parser/19.in @@ -0,0 +1,2 @@ +x or y and z + diff --git a/test/parser/19.out b/test/parser/19.out new file mode 100644 index 0000000..ca4cb2d --- /dev/null +++ b/test/parser/19.out @@ -0,0 +1,8 @@ +Module + ExprStmt + BoolOp(or) + Identifier(x) + BoolOp(and) + Identifier(y) + Identifier(z) + diff --git a/test/parser/20.in b/test/parser/20.in new file mode 100644 index 0000000..b25c6be --- /dev/null +++ b/test/parser/20.in @@ -0,0 +1,2 @@ +foo.bar(1, 2).baz + diff --git a/test/parser/20.out b/test/parser/20.out new file mode 100644 index 0000000..95e314f --- /dev/null +++ b/test/parser/20.out @@ -0,0 +1,9 @@ +Module + ExprStmt + Attribute(.baz) + Call + Attribute(.bar) + Identifier(foo) + Number(1) + Number(2) + diff --git a/test/parser/21.in b/test/parser/21.in new file mode 100644 index 0000000..f048faa --- /dev/null +++ b/test/parser/21.in @@ -0,0 +1,2 @@ +arr[5] + diff --git a/test/parser/21.out b/test/parser/21.out new file mode 100644 index 0000000..22dec03 --- /dev/null +++ b/test/parser/21.out @@ -0,0 +1,6 @@ +Module + ExprStmt + Subscript + Identifier(arr) + Number(5) + diff --git a/test/parser/22.in b/test/parser/22.in new file mode 100644 index 0000000..98e5660 --- /dev/null +++ b/test/parser/22.in @@ -0,0 +1,2 @@ +arr[1:3] + diff --git a/test/parser/22.out b/test/parser/22.out new file mode 100644 index 0000000..17b2c4b --- /dev/null +++ b/test/parser/22.out @@ -0,0 +1,7 @@ +Module + ExprStmt + Slice + Identifier(arr) + Number(1) + Number(3) + diff --git a/test/parser/23.in b/test/parser/23.in new file mode 100644 index 0000000..f10c3d6 --- /dev/null +++ b/test/parser/23.in @@ -0,0 +1,2 @@ +(1, 2, 3) + diff --git a/test/parser/23.out b/test/parser/23.out new file mode 100644 index 0000000..d740c0f --- /dev/null +++ b/test/parser/23.out @@ -0,0 +1,7 @@ +Module + ExprStmt + Tuple + Number(1) + Number(2) + Number(3) + diff --git a/test/parser/24.in b/test/parser/24.in new file mode 100644 index 0000000..382161b --- /dev/null +++ b/test/parser/24.in @@ -0,0 +1,2 @@ +{"x": 1, "y": 2} + diff --git a/test/parser/24.out b/test/parser/24.out new file mode 100644 index 0000000..1711453 --- /dev/null +++ b/test/parser/24.out @@ -0,0 +1,10 @@ +Module + ExprStmt + Dict + KeyValue + String("x") + Number(1) + KeyValue + String("y") + Number(2) + diff --git a/test/parser/25.in b/test/parser/25.in new file mode 100644 index 0000000..f505c42 --- /dev/null +++ b/test/parser/25.in @@ -0,0 +1,3 @@ +while x: + x = x - 1 + diff --git a/test/parser/25.out b/test/parser/25.out new file mode 100644 index 0000000..bfa717f --- /dev/null +++ b/test/parser/25.out @@ -0,0 +1,9 @@ +Module + While + Identifier(x) + Assign + Identifier(x) + BinOp(-) + Identifier(x) + Number(1) + diff --git a/test/parser/26.in b/test/parser/26.in new file mode 100644 index 0000000..0e81524 --- /dev/null +++ b/test/parser/26.in @@ -0,0 +1,5 @@ +def f(x): + if x: + return x + return + diff --git a/test/parser/26.out b/test/parser/26.out new file mode 100644 index 0000000..2a419c2 --- /dev/null +++ b/test/parser/26.out @@ -0,0 +1,9 @@ +Module + FunctionDef(f) + Param(x) + If + Identifier(x) + Return + Identifier(x) + Return + diff --git a/test/parser/27.in b/test/parser/27.in new file mode 100644 index 0000000..b3d7d1d --- /dev/null +++ b/test/parser/27.in @@ -0,0 +1,3 @@ +class A: + pass + diff --git a/test/parser/27.out b/test/parser/27.out new file mode 100644 index 0000000..9c97d9b --- /dev/null +++ b/test/parser/27.out @@ -0,0 +1,4 @@ +Module + ClassDef(A) + Pass + diff --git a/test/parser/28.in b/test/parser/28.in new file mode 100644 index 0000000..9d12c5c --- /dev/null +++ b/test/parser/28.in @@ -0,0 +1,4 @@ +for x in y: + if x: + break + diff --git a/test/parser/28.out b/test/parser/28.out new file mode 100644 index 0000000..4d64170 --- /dev/null +++ b/test/parser/28.out @@ -0,0 +1,7 @@ +Module + For(x) + Identifier(y) + If + Identifier(x) + Break + diff --git a/test/parser/29.in b/test/parser/29.in new file mode 100644 index 0000000..95fce20 --- /dev/null +++ b/test/parser/29.in @@ -0,0 +1,4 @@ +for x in y: + if x: + continue + diff --git a/test/parser/29.out b/test/parser/29.out new file mode 100644 index 0000000..a083fab --- /dev/null +++ b/test/parser/29.out @@ -0,0 +1,7 @@ +Module + For(x) + Identifier(y) + If + Identifier(x) + Continue + diff --git a/test/parser/30.in b/test/parser/30.in new file mode 100644 index 0000000..d043dfa --- /dev/null +++ b/test/parser/30.in @@ -0,0 +1,2 @@ +(lambda a, b: a + b)(3, 4) + diff --git a/test/parser/30.out b/test/parser/30.out new file mode 100644 index 0000000..8680165 --- /dev/null +++ b/test/parser/30.out @@ -0,0 +1,12 @@ +Module + ExprStmt + Call + Lambda + Param(a) + Param(b) + BinOp(+) + Identifier(a) + Identifier(b) + Number(3) + Number(4) + diff --git a/test/parser/31.in b/test/parser/31.in new file mode 100644 index 0000000..a60af10 --- /dev/null +++ b/test/parser/31.in @@ -0,0 +1,2 @@ +{x for x in items} + diff --git a/test/parser/31.out b/test/parser/31.out new file mode 100644 index 0000000..a8a392a --- /dev/null +++ b/test/parser/31.out @@ -0,0 +1,7 @@ +Module + ExprStmt + SetComp + Identifier(x) + For(x) + Identifier(items) + diff --git a/test/parser/32.in b/test/parser/32.in new file mode 100644 index 0000000..1cff13c --- /dev/null +++ b/test/parser/32.in @@ -0,0 +1,2 @@ +(x for x in items) + diff --git a/test/parser/32.out b/test/parser/32.out new file mode 100644 index 0000000..c358866 --- /dev/null +++ b/test/parser/32.out @@ -0,0 +1,7 @@ +Module + ExprStmt + Generator + Identifier(x) + For(x) + Identifier(items) + diff --git a/test/parser/33.in b/test/parser/33.in new file mode 100644 index 0000000..950521d --- /dev/null +++ b/test/parser/33.in @@ -0,0 +1,2 @@ +[ x*x for x in items if x > 0 ] + diff --git a/test/parser/33.out b/test/parser/33.out new file mode 100644 index 0000000..9e6d10a --- /dev/null +++ b/test/parser/33.out @@ -0,0 +1,13 @@ +Module + ExprStmt + ListComp + BinOp(*) + Identifier(x) + Identifier(x) + For(x) + Identifier(items) + If + Compare(>) + Identifier(x) + Number(0) +