From da549843ce4a75fa736a33028788042c76bb538f Mon Sep 17 00:00:00 2001 From: Kia <kia@special-circumstanc.es> Date: Tue, 15 Sep 2020 19:19:40 -0600 Subject: [PATCH] export parse status output as well into the test harness --- CFGBoltzmann.py | 0 cfg_utils.py | 0 combinatorial_LR_parser.py | 0 gearbox.py | 0 one_hot_utils.py | 0 python_arborist.py | 23 ++++++++++++++++++----- skidbuffer.py | 0 string_lexer.py | 0 test_fsm.py | 0 test_testing_scheme.py | 0 10 files changed, 18 insertions(+), 5 deletions(-) mode change 100644 => 100755 CFGBoltzmann.py mode change 100644 => 100755 cfg_utils.py mode change 100644 => 100755 combinatorial_LR_parser.py mode change 100644 => 100755 gearbox.py mode change 100644 => 100755 one_hot_utils.py mode change 100644 => 100755 python_arborist.py mode change 100644 => 100755 skidbuffer.py mode change 100644 => 100755 string_lexer.py mode change 100644 => 100755 test_fsm.py mode change 100644 => 100755 test_testing_scheme.py diff --git a/CFGBoltzmann.py b/CFGBoltzmann.py old mode 100644 new mode 100755 diff --git a/cfg_utils.py b/cfg_utils.py old mode 100644 new mode 100755 diff --git a/combinatorial_LR_parser.py b/combinatorial_LR_parser.py old mode 100644 new mode 100755 diff --git a/gearbox.py b/gearbox.py old mode 100644 new mode 100755 diff --git a/one_hot_utils.py b/one_hot_utils.py old mode 100644 new mode 100755 diff --git a/python_arborist.py b/python_arborist.py old mode 100644 new mode 100755 index 13f0845..b1d4310 --- a/python_arborist.py +++ b/python_arborist.py @@ -76,7 +76,7 @@ class Cirno(Elaboratable): # State 1 in the paper # Bottom of parse stack Expression - [(1, STDMASK, BOTTOM), (0, STDMASK, EXPRESSION)], + [(0, STDMASK, EXPRESSION)], # state 2 in paper # TERM @@ -236,6 +236,7 @@ class Cirno(Elaboratable): self.tapir = msm.tapir self.finalized = msm.parse_complete_out self.numwritten = msm.last_index_to_smem + self.parse_success = msm.parse_success_out with m.If(resetted == 0): m.d.sync += resetted.eq(1) @@ -271,6 +272,7 @@ def run_the_sim(parse_me): m.submodules.baka = nine = Cirno() trace = [] numwritten = [] + parse_success = [0] def process(): @@ -292,8 +294,10 @@ def run_the_sim(parse_me): yield yield xz = yield nine.numwritten + parse_success[0] = yield nine.parse_success numwritten.append(xz) print("NUM WRITTEN INSIDE", numwritten) + print("PARSE SUCCESS,", parse_success) break @@ -314,9 +318,14 @@ def run_the_sim(parse_me): for x in trace: print(x) - print("XXXXXXXXXXXXXXXXXXXXX", numwritten) + print("XXXXXXXXXXXXXXXXXXXXX", numwritten, parse_success) - return (trace, numwritten) + if (parse_success[0] == 1): + success = True + else: + success = False + + return (trace, numwritten, success) top_bit = (1<<16) @@ -458,7 +467,11 @@ def do_an_iteration(): parse_me.append(ENDOFPARSE) - (trace, numwritten) = run_the_sim(parse_me) + (trace, numwritten, success) = run_the_sim(parse_me) + + if (success == False): + return + numwritten = numwritten[0] - 1 print("NUM WRITTEN = ",numwritten) @@ -487,6 +500,6 @@ def do_an_iteration(): exit(1) -for x in range(1024): +for x in range(131072): do_an_iteration() diff --git a/skidbuffer.py b/skidbuffer.py old mode 100644 new mode 100755 diff --git a/string_lexer.py b/string_lexer.py old mode 100644 new mode 100755 diff --git a/test_fsm.py b/test_fsm.py old mode 100644 new mode 100755 diff --git a/test_testing_scheme.py b/test_testing_scheme.py old mode 100644 new mode 100755 -- GitLab