Skip to content

Commit

Permalink
ruff! double check
Browse files Browse the repository at this point in the history
  • Loading branch information
x0r committed Mar 8, 2024
1 parent dc5d58b commit a3660f2
Show file tree
Hide file tree
Showing 13 changed files with 2,844 additions and 2,843 deletions.
64 changes: 32 additions & 32 deletions _pglr_test_.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

macronames = []
structnames = []
macronamere = re.compile(r'([A-Za-z@_\$\?][A-Za-z@_\$\?0-9]*)')
commentid = re.compile(r'COMMENT\s+([^ ]).*?\1[^\r\n]*', flags=re.DOTALL)
macronamere = re.compile(r"([A-Za-z@_\$\?][A-Za-z@_\$\?0-9]*)")
commentid = re.compile(r"COMMENT\s+([^ ]).*?\1[^\r\n]*", flags=re.DOTALL)

def macro_action(context, nodes, name):
macronames.insert(0, name.lower())
Expand Down Expand Up @@ -60,33 +60,33 @@ def build_ast(nodes, type=''):

def make_token(context, nodes):
if len(nodes) == 1 and context.production.rhs[0].name not in (
'type', 'e01', 'e02', 'e03', 'e04', 'e05', 'e06', 'e07', 'e08', 'e09', 'e10', 'e11'):
"type", "e01", "e02", "e03", "e04", "e05", "e06", "e07", "e08", "e09", "e10", "e11"):
nodes = Token(context.production.rhs[0].name, nodes[0])
print(f"mt~{str(nodes)}~")
print(f"mt~{nodes!s}~")
if context.production.rhs[0].name in (
'type', 'e01', 'e02', 'e03', 'e04', 'e05', 'e06', 'e07', 'e08', 'e09', 'e10', 'e11'):
"type", "e01", "e02", "e03", "e04", "e05", "e06", "e07", "e08", "e09", "e10", "e11"):
nodes = nodes[0]
return nodes


cur_segment = 'ds' # !
cur_segment = "ds" # !
indirection = 0 # !


def segoverride(context, nodes):
global cur_segment
if isinstance(nodes[0], list):
cur_segment = nodes[0][-1]
return nodes[0][:-1] + [Token('segoverride', nodes[0][-1]), nodes[2]]
return nodes[0][:-1] + [Token("segoverride", nodes[0][-1]), nodes[2]]
cur_segment = nodes[0] # !
return [Token('segoverride', nodes[0]), nodes[2]]
return [Token("segoverride", nodes[0]), nodes[2]]


def ptrdir(context, nodes):
if len(nodes) == 3:
return [Token('ptrdir', nodes[0]), nodes[2]]
return [Token("ptrdir", nodes[0]), nodes[2]]
else:
return [Token('ptrdir', nodes[0]), nodes[1]]
return [Token("ptrdir", nodes[0]), nodes[1]]


def includedir(context, nodes, name):
Expand All @@ -98,39 +98,39 @@ def asminstruction(context, nodes, instruction, args):
global cur_segment
global indirection
print(
f"instruction {get_raw(context)} {str(nodes)} ~~ {str(cur_segment)} {str(indirection)}"
f"instruction {get_raw(context)} {nodes!s} ~~ {cur_segment!s} {indirection!s}",
)
cur_segment = 'ds' # !
cur_segment = "ds" # !
indirection = 0 # !
return nodes


def notdir(context, nodes):
nodes[0] = '~'
nodes[0] = "~"
return nodes


def ordir(context, nodes):
nodes[1] = '|'
nodes[1] = "|"
return nodes


def xordir(context, nodes):
nodes[1] = '^'
nodes[1] = "^"
return nodes


def anddir(context, nodes):
nodes[1] = ' & '
nodes[1] = " & "
return nodes


def register(context, nodes):
return Token('register', nodes[0].lower())
return Token("register", nodes[0].lower())


def segmentregister(context, nodes):
return Token('segmentregister', nodes[0].lower())
return Token("segmentregister", nodes[0].lower())


def sqexpr(context, nodes):
Expand All @@ -139,38 +139,38 @@ def sqexpr(context, nodes):
res = nodes[1]

# if isinstance(res, list):
return Token('sqexpr', res)
return Token("sqexpr", res)


def offsetdir(context, nodes):
# global indirection
return Token('offsetdir', nodes[1])
return Token("offsetdir", nodes[1])


def segmdir(context, nodes):
# global indirection
return Token('segmdir', nodes[1])
return Token("segmdir", nodes[1])


def instrprefix(context, nodes):
print(f"instrprefix /~{str(nodes)}" + "~\\")
print(f"instrprefix /~{nodes!s}" + "~\\")
return nodes


def LABEL(context, nodes):
return Token('LABEL', nodes)
return Token("LABEL", nodes)


def STRING(context, nodes):
return Token('STRING', nodes)
return Token("STRING", nodes)


def INTEGER(context, nodes):
return Token('INTEGER', nodes)
return Token("INTEGER", nodes)


def expr(context, nodes):
return Token('expr', make_token(context, nodes))
return Token("expr", make_token(context, nodes))

def structname(head, s, pos):
if not (mtch := macronamere.match(s[pos:])):
Expand All @@ -188,22 +188,22 @@ def structdir(context, nodes, name, item):
return [] # Token('structdir', nodes) TODO ignore by now

def structinstdir(context, nodes, label, type, values):
print(f"structinstdir{str(label)}{str(type)}{str(values)}")
print(f"structinstdir{label!s}{type!s}{values!s}")
return nodes # Token('structdir', nodes) TODO ignore by now


def memberdir(context, nodes, variable, field):
result = Token('memberdir', [variable, field])
result = Token("memberdir", [variable, field])
print(result)
return result

def commentkw(head, s, pos):
return mtch.group(0) if (mtch := commentid.match(s[pos:])) else None

recognizers = {
'macroname': macroname,
"macroname": macroname,
"structname": structname,
'COMMENTKW': commentkw,
"COMMENTKW": commentkw,
}

actions = {
Expand Down Expand Up @@ -249,10 +249,10 @@ def commentkw(head, s, pos):

parser = Parser(grammar, debug=True, actions=actions, debug_colors=True)

codeset = 'cp437'
codeset = "cp437"

if sys.version_info[0] >= 3:
sys.stdout.reconfigure(encoding='utf-8')
sys.stdout.reconfigure(encoding="utf-8")

for i in sys.argv[1:]:

Expand Down
16 changes: 8 additions & 8 deletions lark_test.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from collections.abc import Iterator

import jsonpickle

from lark import Lark, Transformer, Tree, lark, v_args

from masm2c.Token import Token


Expand All @@ -16,19 +16,19 @@ def __init__(self) -> None:
def process(self, stream: Iterator[lark.Token]) -> Iterator[lark.Token]:
for t in stream:
if t.type == "LABEL":
if t.value == 'struc':
if t.value == "struc":
t.type = "STRUCTHDR"
elif t.value == 'ends':
elif t.value == "ends":
t.type = "endsdir"
#if t.type == "STRUCTHDR":
if self.last_type == 'LABEL' and t.type == "LABEL" and t.value == 'VECTOR':
if self.last_type == "LABEL" and t.type == "LABEL" and t.value == "VECTOR":
t.type = "STRUCTNAME"
self.last_type = t.type
self.last = t.value
yield t

with open('masm2c/_masm61.lark') as g:
l = Lark(g, parser='lalr', propagate_positions=True, debug=True,
with open("masm2c/_masm61.lark") as g:
l = Lark(g, parser="lalr", propagate_positions=True, debug=True,
postlex=MatchTag()) # , keep_all_tokens=True)

"""
Expand Down Expand Up @@ -92,9 +92,9 @@ def process(self, stream: Iterator[lark.Token]) -> Iterator[lark.Token]:
class ExprRemover(Transformer):
@v_args(meta=True)
def expr(self, meta, children):
children = Token.remove_tokens(children, 'expr')
children = Token.remove_tokens(children, "expr")

return Tree('expr', children, meta)
return Tree("expr", children, meta)


e = ExprRemover()
Expand Down
3 changes: 3 additions & 0 deletions masm2c/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ def parse_args(args):
Returns:
-------
:obj:`argparse.Namespace`: command line parameters namespace
"""
aparser = argparse.ArgumentParser(description=f"Masm source to C++ translator V{__version__} {__license__}", prefix_chars="-")
aparser.add_argument(
Expand Down Expand Up @@ -124,6 +125,7 @@ def setup_logging(name, loglevel):
Args:
----
loglevel (int): minimum loglevel for emitting messages
"""
root = logging.getLogger()
root.setLevel(loglevel)
Expand Down Expand Up @@ -187,6 +189,7 @@ def main():
Args:
----
args ([str]): command line parameter list
"""
args = sys.argv[1:]
setup_logging("", logging.INFO)
Expand Down
Loading

0 comments on commit a3660f2

Please sign in to comment.