From fcc3434920540d94cb266c876d74b0ef0c342a47 Mon Sep 17 00:00:00 2001 From: shrlnm Date: Sun, 25 Feb 2024 16:35:03 +0300 Subject: [PATCH] fix variable usege and add var command --- pyren3/mod_term.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/pyren3/mod_term.py b/pyren3/mod_term.py index d215cf8..0bf800e 100755 --- a/pyren3/mod_term.py +++ b/pyren3/mod_term.py @@ -706,6 +706,12 @@ def proc_line( l, elm ): print_help() return + if l in ['var']: + print("\n###### Variables #####") + for v in var.keys(): + print( f'# {v:20} = {var[v]}') + return + if l in ['cls']: mod_utils.clearScreen() return @@ -717,6 +723,19 @@ def proc_line( l, elm ): play_macro(l, elm) return + # find veriable usage + m = re.search('.+(\$\S+)', l) + if m: + while m: + vu = m.group(1) + if vu in list(var.keys()): + l = re.sub("\\" + vu, var[vu], l) + else: + print('Error: unknown variable', vu) + return + m = re.search('.+(\$\S+)', l) + print( "#(subst)", l) + m = re.search('\$\S+\s*=\s*\S+', l) if m: # find variable definition @@ -730,19 +749,6 @@ def proc_line( l, elm ): elm.currentaddress = var['$addr'].upper() return - # find veriable usage - m = re.search('\$\S+', l) - if m: - while m: - vu = m.group(0) - if vu in list(var.keys()): - l = re.sub("\\" + vu, var[vu], l) - else: - print('Error: unknown variable', vu) - return - m = re.search('\$\S+', l) - print( "#(subst)", l) - l_parts = l.split() if len(l_parts) > 0 and l_parts[0] in ['wait', 'sleep']: try: @@ -874,7 +880,7 @@ def main(): while True: print(var['$addr']+':'+var['$txa']+':'+var['$prompt'] + '#', end=' ') if len(cmd_lines)==0: - l = input().lower() + l = input() else: if cmd_ref