diff --git a/unoptimized_lr/simple_lr_table.py b/unoptimized_lr/simple_lr_table.py
index e72ddf9c360c24ec78694688fc34fbad19021fea..5f45e0efd812ae03cc0d0ad7c4ab23be722014ef 100644
--- a/unoptimized_lr/simple_lr_table.py
+++ b/unoptimized_lr/simple_lr_table.py
@@ -220,7 +220,7 @@ class ReduceRuleTable(Elaboratable):
     def __init__(self, *, lang_params, input_array):
         # Parameters
 
-        # So the Reduce Rule lookup table is a one-dimensional array, indexed by
+        # The Reduce Rule lookup table is a one-dimensional array, indexed by
         # rule number:
 
         # Each element of the array is of the form:
@@ -231,11 +231,8 @@ class ReduceRuleTable(Elaboratable):
         # TIW = (WLongestRule + number of bits to index the nonterminals)
 
     
-        self.table_width = (nonterminal_bits + 1)
-        print(number_of_nonterminals)
-        self.table_depth = number_of_nonterminals * number_of_states
-
-        self.number_of_nonterminals = number_of_nonterminals
+        self.table_width = (lang_params.W_max_RHS + lang_paramsW_nonterminal)
+        self.table_depth = lang_param.number_of_nonterminals
 
 
         # Interfaces
@@ -243,7 +240,7 @@ class ReduceRuleTable(Elaboratable):
                             output_width=self.table_width)
 
 
-        self.mem = Memory(width=self.table_width, depth=self.table_depth, init=rasterized)
+        self.mem = Memory(width=self.table_width, depth=self.table_depth, init=input_array)
 
 
     def elaborate(self, platform):