diff options
-rw-r--r-- | Sil/Compile.icl | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Sil/Compile.icl b/Sil/Compile.icl index efe61cb..cad8000 100644 --- a/Sil/Compile.icl +++ b/Sil/Compile.icl @@ -54,6 +54,8 @@ where opt ['ABC'.PushI i:'ABC'.Push_b l:'ABC'.EqI:ss] = ['ABC'.EqI_b i (l-1):opt ss] opt ['ABC'.Push_b l:'ABC'.PushI i:'ABC'.EqI:ss] = ['ABC'.EqI_b i l :opt ss] opt ['ABC'.PushI i:'ABC'.Update_b 0 l:'ABC'.Pop_b n:ss] | l == n = ['ABC'.Pop_b n:'ABC'.PushI i:opt ss] + opt ['ABC'.Pop_a i:'ABC'.Pop_a j:ss] = opt ['ABC'.Pop_a (i+j):ss] + opt ['ABC'.Pop_b i:'ABC'.Pop_b j:ss] = opt ['ABC'.Pop_b (i+j):ss] opt [s:ss] = [s:opt ss] opt [] = [] |