diff options
| author | uvok | 2026-01-14 20:26:20 +0100 |
|---|---|---|
| committer | uvok | 2026-01-14 20:26:20 +0100 |
| commit | 281414ea9b42e213b85b95b7072b73d1f1e3f240 (patch) | |
| tree | f3121258ec8796e45794c866881dd439e5b5fa34 /nandgame/assembler/parser.py | |
| parent | b9923e600058348f1272bd99bc9b93350509c6aa (diff) | |
relative imports
Diffstat (limited to 'nandgame/assembler/parser.py')
| -rwxr-xr-x | nandgame/assembler/parser.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/nandgame/assembler/parser.py b/nandgame/assembler/parser.py index 0b34ebe..7cc4930 100755 --- a/nandgame/assembler/parser.py +++ b/nandgame/assembler/parser.py @@ -70,12 +70,12 @@ def p_line(p: P) -> None: # if error handling else: p[0] = p[1] - assert(False) + assert False def p_instruction(p: P) -> None: """instruction : valid_instruction - | one_arg_invalid + | one_arg_invalid """ p[0] = p[1] @@ -102,8 +102,10 @@ def p_no_arg(p: P) -> None: def p_onearg_invalid(p: P) -> None: """one_arg_invalid : opcode argument""" - op: Tuple[str,str] = p[1] - p[0] = pt.ErrorInstruction(p.lineno(1), op[1], "No opcode only supports one argument.") + op: tuple[str, str] = p[1] + p[0] = pt.ErrorInstruction( + p.lineno(1), op[1], "No opcode only supports one argument." + ) pass @@ -146,14 +148,12 @@ def p_opcode(p: P) -> None: def p_opcode_jmp(p: P) -> None: - """opcode_jmp : OP DOT JUMP - """ + """opcode_jmp : OP DOT JUMP""" p[0] = (p[1], p[3]) def p_opcode_njmp(p: P) -> None: - """opcode_njmp : OP - """ + """opcode_njmp : OP""" p[0] = (p[1], None) @@ -164,19 +164,21 @@ def p_number(p: P) -> None: p[0] = pt.Immediate(p[1]) -def p_error(p: LexToken) -> LexToken: +def p_error(p: LexToken | None) -> LexToken|None: if p: - print(f"WARNING: Unexpected {repr(p.value)} on line {p.lineno}", file=sys.stderr) + print( + f"WARNING: Unexpected {repr(p.value)} on line {p.lineno}", file=sys.stderr + ) else: print("WARNING: Unexpected end of file.", file=sys.stderr) return while True: - tok = parser.token() + tok: LexToken = parser.token() if not tok or tok.type == 'NL': break parser.errok() return tok -parser = yacc.yacc() +parser: yacc.LRParser = yacc.yacc() |
