[m-dev.] promoted ROTDs

Julien Fischer jfischer at opturion.com
Thu Jul 26 13:08:44 AEST 2018


On Thu, 26 Jul 2018, Peter Wang wrote:

> On Wed, 25 Jul 2018 23:58:30 +1000, Peter Wang <novalazy at gmail.com> wrote:
>> On Tue, 24 Jul 2018 12:54:13 +1000 (AEST), Julien Fischer <jfischer at opturion.com> wrote:
>>>
>>> The C# and Java backends don't bootcheck at the moment because they
>>> generate code that goes into a loop (or goes really slowly).
>>> (I think the minimum criterion for stable should be that all the
>>> non-Erlang backends bootcheck.)
>>>
>>> I started looking at this the other week, but haven't really had time
>>> to continue; according to jdb the problem is occurring in
>>> lexer.string_get_quoted_name; the last working rotd was 2018-05-29,
>>> so presumably it was broken by one of the commits between that
>>> and rotd-2018-06-03.
>>
>> commit bbe0f28f3 "Copy packed arguments all at once."
>>
>> make_java_csharp_arena_diff shows *many* field assignments being deleted
>> after that commit, but that commit actually should not have any effect
>> on either java or csharp grades as arguments aren't packed in those
>> grades.
>
> Oh, maybe not field assignments. But there are lot of variables being
> deleted in the generated code.

They seem to the assignments to variables that the compiler introduces
to control the stack frame for mutually recursive procedures.
Here's an excerpt from the diff between rotd-2018-05-28 and
rotd-2018-07-24 for the Java code we generate for
lexer.string_get_quoted_name.  (The full diff is attached.)

Julien.

--- sgqn-old.java	2018-07-26 02:11:08.000000000 +0000
+++ sgqn-new.java	2018-07-26 02:09:47.000000000 +0000
@@ -139,12 +139,6 @@
                        next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_23_53;
                        next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_14;
                        next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_22_52;
-                      tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                      tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                      tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                      tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                      tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                      tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                        tscc_proc_selector = 1;
                        continue;
                      }
@@ -190,12 +184,6 @@
                      io.Posn_0 next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = STATE_VARIABLE_Posn_22_22;

                      /* direct tailcall eliminated */
-                    tscc_proc_2_input_1_String_10 = next_value_of_tscc_proc_2_input_1_String_10;
-                    tscc_proc_2_input_2_Len_11 = next_value_of_tscc_proc_2_input_2_Len_11;
-                    tscc_proc_2_input_3_QuoteChar_12 = next_value_of_tscc_proc_2_input_3_QuoteChar_12;
-                    tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20 = next_value_of_tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20;
-                    tscc_proc_2_input_5_Posn0_14 = next_value_of_tscc_proc_2_input_5_Posn0_14;
-                    tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21;
                      tscc_proc_selector = 2;
                      continue;
-------------- next part --------------
--- sgqn-old.java	2018-07-26 02:11:08.000000000 +0000
+++ sgqn-new.java	2018-07-26 02:09:47.000000000 +0000
@@ -139,12 +139,6 @@
                       next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_23_53;
                       next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_14;
                       next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_22_52;
-                      tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                      tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                      tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                      tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                      tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                      tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                       tscc_proc_selector = 1;
                       continue;
                     }
@@ -190,12 +184,6 @@
                     io.Posn_0 next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = STATE_VARIABLE_Posn_22_22;
 
                     /* direct tailcall eliminated */
-                    tscc_proc_2_input_1_String_10 = next_value_of_tscc_proc_2_input_1_String_10;
-                    tscc_proc_2_input_2_Len_11 = next_value_of_tscc_proc_2_input_2_Len_11;
-                    tscc_proc_2_input_3_QuoteChar_12 = next_value_of_tscc_proc_2_input_3_QuoteChar_12;
-                    tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20 = next_value_of_tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20;
-                    tscc_proc_2_input_5_Posn0_14 = next_value_of_tscc_proc_2_input_5_Posn0_14;
-                    tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21;
                     tscc_proc_selector = 2;
                     continue;
                   }
@@ -219,12 +207,6 @@
                     next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_25_25;
                     next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_14;
                     next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_22_22;
-                    tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                    tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                    tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                    tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                    tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                    tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                     tscc_proc_selector = 1;
                     continue;
                   }
@@ -232,12 +214,7 @@
               }
               else
               {
-                int Var_64 = 0;
-                int Var_65 = 0;
-
                 Context_16 = ((io.Posn_0) Posn0_14).F1;
-                Var_64 = ((io.Posn_0) Posn0_14).F2;
-                Var_65 = ((io.Posn_0) Posn0_14).F3;
                 STATE_VARIABLE_Posn_21 = STATE_VARIABLE_Posn_0_20;
                 Token_15 = (mylexer.Token_0) mylexer.MR_scalar_common_6[0];
               }
@@ -307,12 +284,6 @@
                   io.Posn_0 next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_23_23;
 
                   /* direct tailcall eliminated */
-                  tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                  tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                  tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                  tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                  tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                  tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                   tscc_proc_selector = 1;
                   continue;
                 }
@@ -329,12 +300,6 @@
                     io.Posn_0 next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = STATE_VARIABLE_Posn_23_23;
 
                     /* direct tailcall eliminated */
-                    tscc_proc_2_input_1_String_10 = next_value_of_tscc_proc_2_input_1_String_10;
-                    tscc_proc_2_input_2_Len_11 = next_value_of_tscc_proc_2_input_2_Len_11;
-                    tscc_proc_2_input_3_QuoteChar_12 = next_value_of_tscc_proc_2_input_3_QuoteChar_12;
-                    tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20 = next_value_of_tscc_proc_2_input_4_STATE_VARIABLE_RevChars_0_20;
-                    tscc_proc_2_input_5_Posn0_14 = next_value_of_tscc_proc_2_input_5_Posn0_14;
-                    tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21 = next_value_of_tscc_proc_2_input_6_STATE_VARIABLE_Posn_0_21;
                     tscc_proc_selector = 2;
                     continue;
                   }
@@ -367,12 +332,6 @@
                       next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_26_26;
                       next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_14;
                       next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_23_23;
-                      tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                      tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                      tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                      tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                      tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                      tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                       tscc_proc_selector = 1;
                       continue;
                     }
@@ -391,13 +350,6 @@
                         io.Posn_0 next_value_of_tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23 = STATE_VARIABLE_Posn_23_23;
 
                         /* direct tailcall eliminated */
-                        tscc_proc_4_input_1_String_11 = next_value_of_tscc_proc_4_input_1_String_11;
-                        tscc_proc_4_input_2_Len_12 = next_value_of_tscc_proc_4_input_2_Len_12;
-                        tscc_proc_4_input_3_QuoteChar_13 = next_value_of_tscc_proc_4_input_3_QuoteChar_13;
-                        tscc_proc_4_input_4_STATE_VARIABLE_RevChars_0_21 = next_value_of_tscc_proc_4_input_4_STATE_VARIABLE_RevChars_0_21;
-                        tscc_proc_4_input_5_STATE_VARIABLE_RevHexChars_0_22 = next_value_of_tscc_proc_4_input_5_STATE_VARIABLE_RevHexChars_0_22;
-                        tscc_proc_4_input_6_Posn0_16 = next_value_of_tscc_proc_4_input_6_Posn0_16;
-                        tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23 = next_value_of_tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23;
                         tscc_proc_selector = 4;
                         continue;
                       }
@@ -418,14 +370,6 @@
                           io.Posn_0 next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = STATE_VARIABLE_Posn_23_23;
 
                           /* direct tailcall eliminated */
-                          tscc_proc_3_input_1_NumHexChars_12 = next_value_of_tscc_proc_3_input_1_NumHexChars_12;
-                          tscc_proc_3_input_2_String_13 = next_value_of_tscc_proc_3_input_2_String_13;
-                          tscc_proc_3_input_3_Len_14 = next_value_of_tscc_proc_3_input_3_Len_14;
-                          tscc_proc_3_input_4_QuoteChar_15 = next_value_of_tscc_proc_3_input_4_QuoteChar_15;
-                          tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26 = next_value_of_tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26;
-                          tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27;
-                          tscc_proc_3_input_7_Posn0_18 = next_value_of_tscc_proc_3_input_7_Posn0_18;
-                          tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28;
                           tscc_proc_selector = 3;
                           continue;
                         }
@@ -446,14 +390,6 @@
                             io.Posn_0 next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = STATE_VARIABLE_Posn_23_23;
 
                             /* direct tailcall eliminated */
-                            tscc_proc_3_input_1_NumHexChars_12 = next_value_of_tscc_proc_3_input_1_NumHexChars_12;
-                            tscc_proc_3_input_2_String_13 = next_value_of_tscc_proc_3_input_2_String_13;
-                            tscc_proc_3_input_3_Len_14 = next_value_of_tscc_proc_3_input_3_Len_14;
-                            tscc_proc_3_input_4_QuoteChar_15 = next_value_of_tscc_proc_3_input_4_QuoteChar_15;
-                            tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26 = next_value_of_tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26;
-                            tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27;
-                            tscc_proc_3_input_7_Posn0_18 = next_value_of_tscc_proc_3_input_7_Posn0_18;
-                            tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28;
                             tscc_proc_selector = 3;
                             continue;
                           }
@@ -485,27 +421,13 @@
                               next_value_of_tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22 = Var_36;
                               next_value_of_tscc_proc_5_input_6_Posn0_16 = Posn0_14;
                               next_value_of_tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23 = STATE_VARIABLE_Posn_23_23;
-                              tscc_proc_5_input_1_String_11 = next_value_of_tscc_proc_5_input_1_String_11;
-                              tscc_proc_5_input_2_Len_12 = next_value_of_tscc_proc_5_input_2_Len_12;
-                              tscc_proc_5_input_3_QuoteChar_13 = next_value_of_tscc_proc_5_input_3_QuoteChar_13;
-                              tscc_proc_5_input_4_STATE_VARIABLE_RevChars_0_21 = next_value_of_tscc_proc_5_input_4_STATE_VARIABLE_RevChars_0_21;
-                              tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22 = next_value_of_tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22;
-                              tscc_proc_5_input_6_Posn0_16 = next_value_of_tscc_proc_5_input_6_Posn0_16;
-                              tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23 = next_value_of_tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23;
                               tscc_proc_selector = 5;
                               continue;
                             }
                             else
                             {
-                              java.lang.String Var_41 = null;
-                              int Var_61 = 0;
-                              int Var_62 = 0;
-
                               Context_16 = ((io.Posn_0) STATE_VARIABLE_Posn_23_23).F1;
-                              Var_61 = ((io.Posn_0) STATE_VARIABLE_Posn_23_23).F2;
-                              Var_62 = ((io.Posn_0) STATE_VARIABLE_Posn_23_23).F3;
                               STATE_VARIABLE_Posn_22 = STATE_VARIABLE_Posn_23_23;
-                              Var_41 = "invalid escape character";
                               Token_15 = (mylexer.Token_0) mylexer.MR_scalar_common_1[4];
                             }
                           }
@@ -517,12 +439,7 @@
               }
               else
               {
-                int Var_69 = 0;
-                int Var_70 = 0;
-
                 Context_16 = ((io.Posn_0) Posn0_14).F1;
-                Var_69 = ((io.Posn_0) Posn0_14).F2;
-                Var_70 = ((io.Posn_0) Posn0_14).F3;
                 STATE_VARIABLE_Posn_22 = STATE_VARIABLE_Posn_0_21;
                 Token_15 = (mylexer.Token_0) mylexer.MR_scalar_common_6[0];
               }
@@ -609,15 +526,8 @@
                   succeeded = (UnicodeCharCode_23 == 0);
                   if (succeeded)
                   {
-                    java.lang.String Var_59 = null;
-                    int Var_57 = 0;
-                    int Var_58 = 0;
-
                     Context_20 = ((io.Posn_0) Posn0_18).F1;
-                    Var_57 = ((io.Posn_0) Posn0_18).F2;
-                    Var_58 = ((io.Posn_0) Posn0_18).F3;
                     STATE_VARIABLE_Posn_29 = STATE_VARIABLE_Posn_0_28;
-                    Var_59 = "null character is illegal in strings and names";
                     Token_19 = (mylexer.Token_0) mylexer.MR_scalar_common_1[3];
                   }
                   else
@@ -640,27 +550,14 @@
                     next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_32_32;
                     next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_18;
                     next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_0_28;
-                    tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                    tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                    tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                    tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                    tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                    tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                     tscc_proc_selector = 1;
                     continue;
                   }
                 }
                 else
                 {
-                  java.lang.String Var_35 = null;
-                  int Var_66 = 0;
-                  int Var_67 = 0;
-
                   Context_20 = ((io.Posn_0) Posn0_18).F1;
-                  Var_66 = ((io.Posn_0) Posn0_18).F2;
-                  Var_67 = ((io.Posn_0) Posn0_18).F3;
                   STATE_VARIABLE_Posn_29 = STATE_VARIABLE_Posn_0_28;
-                  Var_35 = "invalid Unicode character code";
                   Token_19 = (mylexer.Token_0) mylexer.MR_scalar_common_1[5];
                 }
               }
@@ -731,39 +628,19 @@
                     next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27 = STATE_VARIABLE_RevHexChars_37_37;
                     next_value_of_tscc_proc_3_input_7_Posn0_18 = Posn0_18;
                     next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = STATE_VARIABLE_Posn_36_36;
-                    tscc_proc_3_input_1_NumHexChars_12 = next_value_of_tscc_proc_3_input_1_NumHexChars_12;
-                    tscc_proc_3_input_2_String_13 = next_value_of_tscc_proc_3_input_2_String_13;
-                    tscc_proc_3_input_3_Len_14 = next_value_of_tscc_proc_3_input_3_Len_14;
-                    tscc_proc_3_input_4_QuoteChar_15 = next_value_of_tscc_proc_3_input_4_QuoteChar_15;
-                    tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26 = next_value_of_tscc_proc_3_input_5_STATE_VARIABLE_RevChars_0_26;
-                    tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27 = next_value_of_tscc_proc_3_input_6_STATE_VARIABLE_RevHexChars_0_27;
-                    tscc_proc_3_input_7_Posn0_18 = next_value_of_tscc_proc_3_input_7_Posn0_18;
-                    tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28 = next_value_of_tscc_proc_3_input_8_STATE_VARIABLE_Posn_0_28;
                     tscc_proc_selector = 3;
                     continue;
                   }
                   else
                   {
-                    java.lang.String Var_40 = null;
-                    int Var_86 = 0;
-                    int Var_87 = 0;
-
                     Context_20 = ((io.Posn_0) Posn0_18).F1;
-                    Var_86 = ((io.Posn_0) Posn0_18).F2;
-                    Var_87 = ((io.Posn_0) Posn0_18).F3;
                     STATE_VARIABLE_Posn_29 = STATE_VARIABLE_Posn_36_36;
-                    Var_40 = "invalid hex character in Unicode escape";
                     Token_19 = (mylexer.Token_0) mylexer.MR_scalar_common_1[6];
                   }
                 }
                 else
                 {
-                  int Var_94 = 0;
-                  int Var_95 = 0;
-
                   Context_20 = ((io.Posn_0) Posn0_18).F1;
-                  Var_94 = ((io.Posn_0) Posn0_18).F2;
-                  Var_95 = ((io.Posn_0) Posn0_18).F3;
                   STATE_VARIABLE_Posn_29 = STATE_VARIABLE_Posn_0_28;
                   Token_19 = (mylexer.Token_0) mylexer.MR_scalar_common_6[0];
                 }
@@ -849,13 +726,6 @@
                   next_value_of_tscc_proc_4_input_5_STATE_VARIABLE_RevHexChars_0_22 = STATE_VARIABLE_RevHexChars_26_26;
                   next_value_of_tscc_proc_4_input_6_Posn0_16 = Posn0_16;
                   next_value_of_tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23 = STATE_VARIABLE_Posn_25_25;
-                  tscc_proc_4_input_1_String_11 = next_value_of_tscc_proc_4_input_1_String_11;
-                  tscc_proc_4_input_2_Len_12 = next_value_of_tscc_proc_4_input_2_Len_12;
-                  tscc_proc_4_input_3_QuoteChar_13 = next_value_of_tscc_proc_4_input_3_QuoteChar_13;
-                  tscc_proc_4_input_4_STATE_VARIABLE_RevChars_0_21 = next_value_of_tscc_proc_4_input_4_STATE_VARIABLE_RevChars_0_21;
-                  tscc_proc_4_input_5_STATE_VARIABLE_RevHexChars_0_22 = next_value_of_tscc_proc_4_input_5_STATE_VARIABLE_RevHexChars_0_22;
-                  tscc_proc_4_input_6_Posn0_16 = next_value_of_tscc_proc_4_input_6_Posn0_16;
-                  tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23 = next_value_of_tscc_proc_4_input_7_STATE_VARIABLE_Posn_0_23;
                   tscc_proc_selector = 4;
                   continue;
                 }
@@ -865,14 +735,11 @@
                   if (succeeded)
                     if ((STATE_VARIABLE_RevHexChars_0_22.data_tag == 0))
                     {
-                      java.lang.String Var_69 = null;
-
                       {
                         java.lang.Object [] result = mylexer.string_get_context_4_p_0(Posn0_16, STATE_VARIABLE_Posn_25_25);
                         Context_18 = ((java.lang.Integer) result[0]).intValue();
                         STATE_VARIABLE_Posn_24 = (io.Posn_0) result[1];
                       }
-                      Var_69 = "empty hex escape";
                       Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[7];
                     }
                     else
@@ -936,52 +803,31 @@
                           next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_31_64;
                           next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_16;
                           next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_25_25;
-                          tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                          tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                          tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                          tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                          tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                          tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                           tscc_proc_selector = 1;
                           continue;
                         }
                       }
                       else
                       {
-                        java.lang.String Var_67 = null;
-
                         {
                           java.lang.Object [] result = mylexer.string_get_context_4_p_0(Posn0_16, STATE_VARIABLE_Posn_25_25);
                           Context_18 = ((java.lang.Integer) result[0]).intValue();
                           STATE_VARIABLE_Posn_24 = (io.Posn_0) result[1];
                         }
-                        Var_67 = "invalid hex escape";
                         Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[8];
                       }
                     }
                   else
                   {
-                    java.lang.String Var_30 = null;
-                    int Var_76 = 0;
-                    int Var_77 = 0;
-
                     Context_18 = ((io.Posn_0) Posn0_16).F1;
-                    Var_76 = ((io.Posn_0) Posn0_16).F2;
-                    Var_77 = ((io.Posn_0) Posn0_16).F3;
                     STATE_VARIABLE_Posn_24 = STATE_VARIABLE_Posn_25_25;
-                    Var_30 = "unterminated hex escape";
                     Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[9];
                   }
                 }
               }
               else
               {
-                int Var_84 = 0;
-                int Var_85 = 0;
-
                 Context_18 = ((io.Posn_0) Posn0_16).F1;
-                Var_84 = ((io.Posn_0) Posn0_16).F2;
-                Var_85 = ((io.Posn_0) Posn0_16).F3;
                 STATE_VARIABLE_Posn_24 = STATE_VARIABLE_Posn_0_23;
                 Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_6[0];
               }
@@ -1066,13 +912,6 @@
                   next_value_of_tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22 = STATE_VARIABLE_RevOctalChars_26_26;
                   next_value_of_tscc_proc_5_input_6_Posn0_16 = Posn0_16;
                   next_value_of_tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23 = STATE_VARIABLE_Posn_25_25;
-                  tscc_proc_5_input_1_String_11 = next_value_of_tscc_proc_5_input_1_String_11;
-                  tscc_proc_5_input_2_Len_12 = next_value_of_tscc_proc_5_input_2_Len_12;
-                  tscc_proc_5_input_3_QuoteChar_13 = next_value_of_tscc_proc_5_input_3_QuoteChar_13;
-                  tscc_proc_5_input_4_STATE_VARIABLE_RevChars_0_21 = next_value_of_tscc_proc_5_input_4_STATE_VARIABLE_RevChars_0_21;
-                  tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22 = next_value_of_tscc_proc_5_input_5_STATE_VARIABLE_RevOctalChars_0_22;
-                  tscc_proc_5_input_6_Posn0_16 = next_value_of_tscc_proc_5_input_6_Posn0_16;
-                  tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23 = next_value_of_tscc_proc_5_input_7_STATE_VARIABLE_Posn_0_23;
                   tscc_proc_selector = 5;
                   continue;
                 }
@@ -1082,8 +921,6 @@
                   if (succeeded)
                     if ((STATE_VARIABLE_RevOctalChars_0_22.data_tag == 0))
                     {
-                      java.lang.String Var_68 = "empty octal escape";
-
                       Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[10];
                       {
                         java.lang.Object [] result = mylexer.string_get_context_4_p_0(Posn0_16, STATE_VARIABLE_Posn_25_25);
@@ -1152,20 +989,12 @@
                           next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = STATE_VARIABLE_RevChars_31_64;
                           next_value_of_tscc_proc_1_input_5_Posn0_14 = Posn0_16;
                           next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = STATE_VARIABLE_Posn_25_25;
-                          tscc_proc_1_input_1_String_10 = next_value_of_tscc_proc_1_input_1_String_10;
-                          tscc_proc_1_input_2_Len_11 = next_value_of_tscc_proc_1_input_2_Len_11;
-                          tscc_proc_1_input_3_QuoteChar_12 = next_value_of_tscc_proc_1_input_3_QuoteChar_12;
-                          tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19 = next_value_of_tscc_proc_1_input_4_STATE_VARIABLE_RevChars_0_19;
-                          tscc_proc_1_input_5_Posn0_14 = next_value_of_tscc_proc_1_input_5_Posn0_14;
-                          tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20 = next_value_of_tscc_proc_1_input_6_STATE_VARIABLE_Posn_0_20;
                           tscc_proc_selector = 1;
                           continue;
                         }
                       }
                       else
                       {
-                        java.lang.String Var_66 = "invalid octal escape";
-
                         Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[11];
                         {
                           java.lang.Object [] result = mylexer.string_get_context_4_p_0(Posn0_16, STATE_VARIABLE_Posn_25_25);
@@ -1176,28 +1005,16 @@
                     }
                   else
                   {
-                    java.lang.String Var_30 = null;
-                    int Var_76 = 0;
-                    int Var_77 = 0;
-
                     Context_18 = ((io.Posn_0) Posn0_16).F1;
-                    Var_76 = ((io.Posn_0) Posn0_16).F2;
-                    Var_77 = ((io.Posn_0) Posn0_16).F3;
                     STATE_VARIABLE_Posn_24 = STATE_VARIABLE_Posn_25_25;
-                    Var_30 = "unterminated octal escape";
                     Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_1[12];
                   }
                 }
               }
               else
               {
-                int Var_84 = 0;
-                int Var_85 = 0;
-
                 Token_17 = (mylexer.Token_0) mylexer.MR_scalar_common_6[0];
                 Context_18 = ((io.Posn_0) Posn0_16).F1;
-                Var_84 = ((io.Posn_0) Posn0_16).F2;
-                Var_85 = ((io.Posn_0) Posn0_16).F3;
                 STATE_VARIABLE_Posn_24 = STATE_VARIABLE_Posn_0_23;
               }
               tscc_output_1_Token_15 = Token_17;


More information about the developers mailing list