diff --git a/python_arborist.py b/python_arborist.py
index b73cbdd9ece08fdad31e15db9c15b0d3ea073fd3..9ac7e97905ede63131bfa1cd52e5d30f66c599ce 100644
--- a/python_arborist.py
+++ b/python_arborist.py
@@ -261,6 +261,28 @@ MULTOP      = 0xAB00
 STDMASK     = 0xff00
 
 
+rules = [
+         (EXPRESSION, [EXPRESSION, ADDOP,      TERM      ]),
+         (EXPRESSION, [TERM                                              ]),
+         (TERM,       [TERM,       MULTOP,     FACTOR    ]),
+         (TERM,       [FACTOR                                            ]),
+         (FACTOR,     [OPENPAREN,  EXPRESSION, CLOSEPAREN]),
+         (FACTOR,     [INTEGER                                           ])
+         ]
+
+list_of_nonterminals = [EXPRESSION, TERM, FACTOR]
+
+list_of_terminals    = [INTEGER, ADDOP, MULTOP, OPENPAREN, CLOSEPAREN]
+
+z = CFGBoltzmann.CFGBoltzmann(rules, list_of_nonterminals, list_of_terminals)
+cooked_rules = z.preprocessor()
+parse_me =  z.Gzero_shimmed(EXPRESSION, 7)
+parse_me.append(ENDOFPARSE)
+
+print("XXXXXXXXXXXXXXX",parse_me)
+
+
+
 class TreeNode:
     def __init__(self, language_element, subnodes):
         self.language_element = language_element
@@ -302,10 +324,9 @@ if __name__ == '__main__':
                 break
 
 
-    init_data = [0XE104, ENDOFPARSE]
 
     with m.Switch(nine.input_memory_addr):
-        for addr,data in enumerate(init_data):
+        for addr,data in enumerate(parse_me):
             with m.Case(addr):
                 #print(addr,data)
                 m.d.sync += nine.input_memory_data.eq(data)