Skip to content

Commit

Permalink
refactor somethings
Browse files Browse the repository at this point in the history
  • Loading branch information
Delaunay committed Apr 1, 2024
1 parent eccb3c2 commit 1c33815
Show file tree
Hide file tree
Showing 49 changed files with 975 additions and 47 deletions.
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,8 @@
"fstream": "cpp",
"shared_mutex": "cpp",
"future": "cpp",
"any": "cpp"
"any": "cpp",
"regex": "cpp"
},
"cmake.configureSettings": {
"CMAKE_BUILD_TYPE": "${buildType}"
Expand Down
39 changes: 39 additions & 0 deletions code/llvm/AnnAssign.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# >>> case: 0
# >>> code
def fun() -> bool:
a: bool = True
return a


# >>> call
fun()

# >>> expected


# >>> case: 1
# >>> code
def fun() -> i32:
a: i32 = 1
return a


# >>> call
fun()

# >>> expected


# >>> case: 2
# >>> code
def fun() -> f64:
a: f64 = 2.0
return a


# >>> call
fun()

# >>> expected


12 changes: 12 additions & 0 deletions code/llvm/Assert.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# >>> case: 0
# >>> code
def fun(a: int):
assert a


# >>> call
fun()

# >>> expected


26 changes: 26 additions & 0 deletions code/llvm/Assign.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# >>> case: 0
# >>> code
def fun(b: i32) -> i32:
a = b
return a


# >>> call
fun(1)

# >>> expected


# >>> case: 1
# >>> code
def fun(c: Tuple[i32, i32]) -> i32:
a, b = c
return a


# >>> call
fun((1, 2))

# >>> expected


16 changes: 16 additions & 0 deletions code/llvm/Attribute.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# >>> case: 0
# >>> code
class Point:
x: i32
y: i32

def fun(a: Point) -> i32:
return a.x


# >>> call
fun(Point())

# >>> expected


26 changes: 26 additions & 0 deletions code/llvm/AugAssign.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# >>> case: 0
# >>> code
def fun(a: i32, b: i32) -> i32:
a += b
return a


# >>> call
fun(2, 1)

# >>> expected


# >>> case: 1
# >>> code
def fun(a: i32, b: i32) -> i32:
a -= b
return a


# >>> call
fun(2, 1)

# >>> expected


60 changes: 60 additions & 0 deletions code/llvm/BinOp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# >>> case: 0
# >>> code
def fun(a: f64, b: f64) -> f64:
return a + b


# >>> call
fun()

# >>> expected


# >>> case: 1
# >>> code
def fun(a: f64, b: f64) -> f64:
return a - b


# >>> call
fun()

# >>> expected


# >>> case: 2
# >>> code
def fun(a: f64, b: f64) -> f64:
return a * b


# >>> call
fun()

# >>> expected


# >>> case: 3
# >>> code
def fun(a: i32, b: i32) -> i32:
return a << b


# >>> call
fun()

# >>> expected


# >>> case: 4
# >>> code
def fun(a: i32, b: i32) -> i32:
return a ^ b


# >>> call
fun()

# >>> expected


36 changes: 36 additions & 0 deletions code/llvm/BoolOp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# >>> case: 0
# >>> code
def fun(a: bool, b: bool) -> bool:
return a and b


# >>> call
fun(True, False)

# >>> expected


# >>> case: 1
# >>> code
def fun(a: bool, b: bool) -> bool:
return a or b


# >>> call
fun(True, False)

# >>> expected


# >>> case: 2
# >>> code
def fun(a: bool, b: bool, c: bool) -> bool:
return a or b or c


# >>> call
fun(True, False, False)

# >>> expected


15 changes: 15 additions & 0 deletions code/llvm/Call.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# >>> case: 0
# >>> code
def myfunction(a: f64, b: f64) -> f64:
return a + b

def fun():
return myfunction(1.0, 2.0)


# >>> call
fun()

# >>> expected


14 changes: 14 additions & 0 deletions code/llvm/ClassDef.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# >>> case: 0
# >>> code
@e(g, h, i=j)
@f
class a(b, c=d):
"""docstring"""
pass

# >>> call
fun()

# >>> expected


24 changes: 24 additions & 0 deletions code/llvm/Compare.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# >>> case: 0
# >>> code
def fun(a: i32, b: i32, c: i32, d: i32) -> bool:
return a < b > c != d


# >>> call
fun()

# >>> expected


# >>> case: 1
# >>> code
def fun():
return a not in b


# >>> call
fun()

# >>> expected


60 changes: 60 additions & 0 deletions code/llvm/Constant.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# >>> case: 0
# >>> code
def fun():
return 1


# >>> call
fun()

# >>> expected


# >>> case: 1
# >>> code
def fun():
return 2.1


# >>> call
fun()

# >>> expected


# >>> case: 2
# >>> code
def fun():
return None


# >>> call
fun()

# >>> expected


# >>> case: 3
# >>> code
def fun():
return True


# >>> call
fun()

# >>> expected


# >>> case: 4
# >>> code
def fun():
return False


# >>> call
fun()

# >>> expected


12 changes: 12 additions & 0 deletions code/llvm/Delete.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# >>> case: 0
# >>> code
def fun(a: i32, b: i32):
del a, b


# >>> call
fun(1, 2)

# >>> expected


12 changes: 12 additions & 0 deletions code/llvm/DictComp.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# >>> case: 0
# >>> code
def fun(b: i32):
return {a: a for a in range(10) if a > b}


# >>> call
fun(2)

# >>> expected


12 changes: 12 additions & 0 deletions code/llvm/DictExpr.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# >>> case: 0
# >>> code
def fun():
return {1: 2, 3: 4}


# >>> call
fun()

# >>> expected


Loading

0 comments on commit 1c33815

Please sign in to comment.