Skip to content

Commit

Permalink
fixing ci pytests
Browse files Browse the repository at this point in the history
  • Loading branch information
x0r committed May 3, 2024
1 parent 1e22dbf commit 4720fca
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 34 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.9
- name: Set up Python 3.10
uses: actions/setup-python@v3
with:
python-version: "3.9"
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
Expand Down
2 changes: 1 addition & 1 deletion masm2c/Token.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def __init__(self, type, value) -> None:
# def __repr__(self):

@staticmethod
def find_tokens(expr: Any, lookfor: str) -> Union[list[str], list[lark.tree.Tree], None]:
def find_tokens(expr: Any, lookfor: str) -> Union[list[str], list[lark.Tree], None]:
l = []
if isinstance(expr, Tree):
if expr.data == lookfor:
Expand Down
62 changes: 31 additions & 31 deletions masm2c/pgparser.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,17 +134,17 @@ def __init__(self, context: "Parser", input_str: str="") -> None:
self._size = 0
self._poptions: list[str] = []

def externdef(self, nodes: list[lark.tree.Tree | lark.lexer.Token]) -> list[lark.tree.Tree | lark.lexer.Token]:
def externdef(self, nodes: list[lark.Tree | lark.Token]) -> list[lark.Tree | lark.Token]:
label, type = nodes
assert isinstance(type, lark.tree.Tree)
assert isinstance(type, lark.Tree)
type = type.children[0].children[0]
logging.debug("externdef %s", nodes)
assert isinstance(type, lark.lexer.Token)
assert isinstance(type, lark.Token)
self.context.add_extern(str(label), type)
return nodes

@v_args(meta=True)
def equdir(self, meta: lark.tree.Meta, nodes: list[lark.tree.Tree | lark.lexer.Token]):
def equdir(self, meta: lark.tree.Meta, nodes: list[lark.Tree | lark.Token]):
name, value = str(nodes[0]), nodes[1]
logging.debug("equdir %s ~~", nodes)

Expand Down Expand Up @@ -195,10 +195,10 @@ def expr(self, children: list[Any]) -> Expression:
self._expression = None
return result

def initvalue(self, expr: list[ lark.lexer.Token]) -> lark.tree.Tree:
def initvalue(self, expr: list[lark.Token]) -> lark.Tree:
return lark.Tree(data="exprlist", children=[self.expr(expr)])

def dupdir(self, children: list[Expression | lark.tree.Tree]) -> lark.tree.Tree:
def dupdir(self, children: list[Expression | lark.Tree]) -> lark.Tree:
from masm2c.cpp import IR2Cpp
repeat = copy(children[0])
assert isinstance(repeat, Expression)
Expand All @@ -210,7 +210,7 @@ def dupdir(self, children: list[Expression | lark.tree.Tree]) -> lark.tree.Tree:
result.meta.line = repeat_int
return result # Token('dupdir', [times, values])

def segoverride(self, nodes: list[list[lark.tree.Tree] | list[lark.tree.Tree | lark.lexer.Token] | lark.tree.Tree | lark.lexer.Token]) -> list[list[lark.tree.Tree] | list[lark.tree.Tree | lark.lexer.Token] | lark.tree.Tree | lark.lexer.Token]:
def segoverride(self, nodes: list[list[lark.Tree] | list[lark.Tree | lark.lexer.Token] | lark.Tree | lark.lexer.Token]) -> list[list[lark.Tree] | list[lark.Tree | lark.lexer.Token] | lark.Tree | lark.lexer.Token]:
#seg = nodes[0]
#if isinstance(seg, list):
# seg = seg[0]
Expand All @@ -219,13 +219,13 @@ def segoverride(self, nodes: list[list[lark.tree.Tree] | list[lark.tree.Tree | l
self.expression.segment_overriden = True
return nodes[1:]

def distance(self, children: list[ lark.lexer.Token]) -> str:
def distance(self, children: list[lark.Token]) -> str:
self.expression.mods.add(children[0].lower())
self._size = self.context.typetosize(children[0])
return str(children[0]).lower()

@v_args(meta=True)
def ptrdir(self, meta: lark.tree.Meta, children: list[str | list[lark.lexer.Token] | lark.lexer.Token | list[lark.tree.Tree] | lark.tree.Tree]) -> list[str | list[lark.lexer.Token] | lark.lexer.Token | list[lark.tree.Tree] | lark.tree.Tree]:
def ptrdir(self, meta: lark.tree.Meta, children: list[str | list[lark.lexer.Token] | lark.lexer.Token | list[lark.Tree] | lark.Tree]) -> list[str | list[lark.lexer.Token] | lark.lexer.Token | list[lark.Tree] | lark.Tree]:
if self.expression.indirection == IndirectionType.VALUE: # set above
self.expression.indirection = IndirectionType.POINTER
try:
Expand All @@ -243,7 +243,7 @@ def ptrdir(self, meta: lark.tree.Meta, children: list[str | list[lark.lexer.Toke
self.expression.element_size = 0
return children

def ptrdir2(self, children: list[lark.tree.Tree | lark.lexer.Token]) -> list[lark.tree.Tree | lark.lexer.Token]: # tasm?
def ptrdir2(self, children: list[lark.Tree | lark.lexer.Token]) -> list[lark.Tree | lark.lexer.Token]: # tasm?
self.expression.indirection = IndirectionType.POINTER
self.expression.segment_overriden = True
assert isinstance(children[0], (str, lark.Token))
Expand All @@ -252,7 +252,7 @@ def ptrdir2(self, children: list[lark.tree.Tree | lark.lexer.Token]) -> list[lar
self._element_type = self.expression.original_type = children[0].lower()
return children[3:]

def datadecl(self, children: list[ lark.lexer.Token]) -> str:
def datadecl(self, children: list[lark.Token]) -> str:
self._size = self.context.typetosize(children[0])
self._element_type = children[0].lower()
return str(children[0]).lower()
Expand Down Expand Up @@ -335,7 +335,7 @@ def structname(self, s, pos):
return result
return None

def structdirhdr(self, nodes: list[ lark.lexer.Token]) -> list[ lark.lexer.Token]:
def structdirhdr(self, nodes: list[lark.Token]) -> list[lark.Token]:
name, type = nodes
# structure definition header
self.context.current_struct = op.Struct(name.lower(), type.lower())
Expand All @@ -344,7 +344,7 @@ def structdirhdr(self, nodes: list[ lark.lexer.Token]) -> list[ lark.lexer
return nodes

@v_args(meta=True)
def structinstdir(self, meta: lark.tree.Meta, nodes: list[lark.tree.Tree | lark.lexer.Token]) -> _DiscardType:
def structinstdir(self, meta: lark.tree.Meta, nodes: list[lark.Tree | lark.lexer.Token]) -> _DiscardType:
label, type, values = nodes
logging.debug(f"structinstdir {label} {type} {values}")
assert isinstance(values, lark.Tree)
Expand All @@ -358,7 +358,7 @@ def structinstdir(self, meta: lark.tree.Meta, nodes: list[lark.tree.Tree | l
self.context.add_structinstance(name, type.lower(), args, raw=get_raw(self.input_str, meta))
return Discard

def insegdir(self, children: list) -> list[lark.tree.Tree | Data | _assignment]:
def insegdir(self, children: list) -> list[lark.Tree | Data | _assignment]:
self._expression = None
self._element_type = ""
self._size = 0
Expand Down Expand Up @@ -477,23 +477,23 @@ def endpdir(self, nodes):


@v_args(meta=True)
def instrprefix(self, meta: lark.tree.Meta, nodes: list[ lark.lexer.Token]) -> _DiscardType:
def instrprefix(self, meta: lark.tree.Meta, nodes: list[lark.Token]) -> _DiscardType:
logging.debug(f"instrprefix {nodes} ~~")
instruction = str(nodes[0])
self.context.action_instruction(instruction, [], raw=get_raw_line(self.input_str, meta),
line_number=get_line_number(meta))
return Discard

def mnemonic(self, name: list[ lark.lexer.Token]) -> _DiscardType:
def mnemonic(self, name: list[lark.Token]) -> _DiscardType:
self.instruction_name = str(name[0])
return Discard

def comment(self, children: list[ lark.lexer.Token]) -> _DiscardType:
def comment(self, children: list[lark.Token]) -> _DiscardType:
self._comment = children
return Discard

@v_args(meta=True)
def instruction(self, meta: lark.tree.Meta, nodes: list[Any | lark.tree.Tree]) -> baseop | _DiscardType:
def instruction(self, meta: lark.tree.Meta, nodes: list[Any | lark.Tree]) -> baseop | _DiscardType:
logging.debug("asminstruction %s ~~", nodes)

instruction = self.instruction_name
Expand Down Expand Up @@ -521,31 +521,31 @@ def expression(self) -> Expression:
assert self._expression
return self._expression

def register(self, children: list[ lark.lexer.Token]) -> lark.tree.Tree:
def register(self, children: list[lark.Token]) -> lark.Tree:
self.expression.element_size = self.context.is_register(children[0])
self.expression.registers.add(children[0].lower())
return Tree(data="register", children=[children[0].lower()]) # Token('segmentregister', nodes[0].lower())

def segmentregister(self, children: list[ lark.lexer.Token]) -> lark.tree.Tree:
def segmentregister(self, children: list[lark.Token]) -> lark.Tree:
self.expression.element_size = self.context.is_register(children[0])
self.expression.segment_register = children[0].lower()
return Tree(data="segmentregister", children=[children[0].lower()]) # Token('segmentregister', nodes[0].lower())

def sqexpr(self, nodes: list[lark.tree.Tree | lark.lexer.Token | list[lark.tree.Tree]]) -> list[lark.tree.Tree | lark.lexer.Token | list[lark.tree.Tree]]:
def sqexpr(self, nodes: list[lark.Tree | lark.lexer.Token | list[lark.Tree]]) -> list[lark.Tree | lark.lexer.Token | list[lark.Tree]]:
logging.debug("/~%s~\\", nodes)
self.expression.indirection = IndirectionType.POINTER
self.expression.element_size = 0
return nodes # lark.Tree(data='sqexpr', children=nodes)

def sqexpr2(self, nodes: list[lark.tree.Tree | lark.lexer.Token]) -> list[lark.Tree]:
def sqexpr2(self, nodes: list[lark.Tree | lark.lexer.Token]) -> list[lark.Tree]:
logging.debug("/~%s~\\", nodes)
self.expression.indirection = IndirectionType.POINTER
self.expression.element_size = 0
nodes.insert(1, lark.Token(type="PLUS", value="+"))
nodes_out = [lark.Tree(data="adddir", children=nodes)]
return nodes_out # lark.Tree(data='sqexpr', children=nodes)

def offsetdir(self, nodes: list[lark.tree.Tree | lark.lexer.Token]) -> lark.tree.Tree:
def offsetdir(self, nodes: list[lark.Tree | lark.lexer.Token]) -> lark.Tree:
logging.debug("offset /~%s~\\", nodes)
self.expression.indirection = IndirectionType.OFFSET
self.expression.element_size = 2
Expand Down Expand Up @@ -575,10 +575,10 @@ def STRING(self, nodes: lark.lexer.Token) -> lark.lexer.Token:
nodes = lark.Token(type="STRING", value=string)
return nodes # Token('STRING', nodes)

def structinstance(self, nodes: list[Any | lark.tree.Tree]) -> list[Any | lark.tree.Tree]: #, values):
def structinstance(self, nodes: list[Any | lark.Tree]) -> list[Any | lark.Tree]: #, values):
return nodes # Token('structinstance', values)

def memberdir(self, nodes: list[ lark.lexer.Token]) -> lark.tree.Tree:
def memberdir(self, nodes: list[lark.Token]) -> lark.Tree:
return lark.Tree("memberdir", [self.context.mangle_label(str(node)) for node in nodes])

def radixdir(self, children):
Expand Down Expand Up @@ -640,7 +640,7 @@ def __init__(self, context: "Parser") -> None:

class ExprRemover(Transformer):
@v_args(meta=True)
def expr(self, meta: lark.tree.Meta, children: list[lark.tree.Tree | lark.lexer.Token]) -> lark.tree.Tree:
def expr(self, meta: lark.tree.Meta, children: list[lark.Tree | lark.lexer.Token]) -> lark.Tree:
children = Token.remove_tokens(children, ["expr"])

return Tree("expr", children, meta)
Expand Down Expand Up @@ -731,7 +731,7 @@ def visit(self, node: Any) -> "Vector":

class AsmData2IR(TopDownVisitor): # TODO HACK Remove it. !For missing funcitons deletes details!

def seg(self, tree: lark.tree.Tree) -> list[str]:
def seg(self, tree: lark.Tree) -> list[str]:
return [f"seg_offset({tree.children[0]})"]

def expr(self, tree: Expression) -> list[Any]:
Expand All @@ -741,7 +741,7 @@ def expr(self, tree: Expression) -> list[Any]:
result = [result]
return result

def dupdir(self, tree: lark.tree.Tree) -> list[int | list[lark.lexer.Token | str | int] | list[str | int]]:
def dupdir(self, tree: lark.Tree) -> list[int | list[lark.lexer.Token | str | int] | list[str | int]]:
return tree.meta.line * self.visit(tree.children)
def INTEGER(self, token: lark.lexer.Token) -> list[int]:
radix, sign, value = token.start_pos, token.line, token.value
Expand All @@ -755,13 +755,13 @@ def STRING(self, token: lark.lexer.Token) -> list[str]:
result = token.value
return list(result)

def LABEL(self, tree: lark.lexer.Token) -> list[ lark.lexer.Token]:
def LABEL(self, tree: lark.lexer.Token) -> list[lark.Token]:
return [lark.Token(type="LABEL", value=tree.lower())] # TODO HACK

def bypass(self, tree: lark.tree.Tree) -> list[ lark.tree.Tree]:
def bypass(self, tree: lark.Tree) -> list[ lark.Tree]:
return [tree]

def offsetdir(self, tree: lark.tree.Tree) -> list[ lark.tree.Tree]:
def offsetdir(self, tree: lark.Tree) -> list[ lark.Tree]:
return [tree]


Expand Down

0 comments on commit 4720fca

Please sign in to comment.