Diff for /parser3/src/main/compile.tab.C between versions 1.23 and 1.35

version 1.23, 2001/10/18 06:52:04 version 1.35, 2002/01/31 17:12:27
Line 95  static int yylex(YYSTYPE *lvalp, void *p Line 95  static int yylex(YYSTYPE *lvalp, void *p
   
   
   
 #define YYFINAL         246  #define YYFINAL         248
 #define YYFLAG          -32768  #define YYFLAG          -32768
 #define YYNTBASE        55  #define YYNTBASE        56
   
 #define YYTRANSLATE(x) ((unsigned)(x) <= 281 ? yytranslate[x] : 134)  #define YYTRANSLATE(x) ((unsigned)(x) <= 281 ? yytranslate[x] : 135)
   
 static const char yytranslate[] = {     0,  static const char yytranslate[] = {     0,
      2,     2,     2,     2,     2,     2,     2,     2,     2,    41,       2,     2,     2,     2,     2,     2,     2,     2,     2,    42,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,    29,    53,    30,    45,    38,    32,    54,    49,       2,     2,    29,    54,    30,    46,    38,    32,    55,    50,
     50,    36,    35,     2,    34,    48,    37,     2,     2,     2,      51,    36,    35,     2,    34,    49,    37,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,    52,    44,    27,       2,     2,     2,     2,     2,     2,     2,    53,    45,    27,
      2,    28,     2,    40,     2,     2,     2,     2,     2,     2,       2,    28,     2,    41,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
     42,     2,    43,    51,     2,     2,     2,     2,     2,     2,      43,    39,    44,    52,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,    46,    31,    47,    33,     2,     2,     2,     2,       2,     2,    47,    31,    48,    33,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
Line 130  static const char yytranslate[] = { Line 130  static const char yytranslate[] = {
      2,     2,     2,     2,     2,     1,     3,     4,     5,     6,       2,     2,     2,     2,     2,     1,     3,     4,     5,     6,
      7,     8,     9,    10,    11,    12,    13,    14,    15,    16,       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,      17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
     39      40
 };  };
   
 #if YYDEBUG != 0  #if YYDEBUG != 0
Line 150  static const short yyprhs[] = {     0, Line 150  static const short yyprhs[] = {     0,
    306,   310,   313,   316,   319,   322,   325,   328,   331,   334,     306,   310,   313,   316,   319,   322,   325,   328,   331,   334,
    338,   342,   346,   350,   354,   358,   362,   366,   370,   374,     338,   342,   346,   350,   354,   358,   362,   366,   370,   374,
    378,   382,   386,   390,   394,   398,   402,   406,   410,   414,     378,   382,   386,   390,   394,   398,   402,   406,   410,   414,
    418,   422,   426,   430,   432,   434,   435     418,   422,   426,   430,   434,   436,   438,   439
 };  };
   
 static const short yyrhs[] = {    57,  static const short yyrhs[] = {    58,
      0,    56,     0,    58,     0,    56,    58,     0,    70,     0,       0,    57,     0,    59,     0,    57,    59,     0,    71,     0,
     59,     0,    64,     0,    40,     4,    41,    60,     0,   133,      60,     0,    65,     0,    41,     4,    42,    61,     0,   134,
      0,    61,     0,    62,     0,    61,    62,     0,    63,    41,       0,    62,     0,    63,     0,    62,    63,     0,    64,    42,
      0,   133,     0,     4,     0,    40,     4,    66,    65,    69,       0,   134,     0,     4,     0,    41,     4,    67,    66,    70,
     41,    70,     0,   133,     0,    66,     0,    42,    67,    43,      42,    71,     0,   134,     0,    67,     0,    43,    68,    44,
      0,   133,     0,    68,     0,     4,     0,    68,    44,     4,       0,   134,     0,    69,     0,     4,     0,    69,    45,     4,
      0,   133,     0,     4,     0,   133,     0,    71,     0,    72,       0,   134,     0,     4,     0,   134,     0,    72,     0,    73,
      0,    71,    72,     0,   131,     0,    73,     0,    74,     0,       0,    72,    73,     0,   132,     0,    74,     0,    75,     0,
     82,     0,    95,     0,    75,     0,    45,    76,     0,    78,      83,     0,    96,     0,    76,     0,    46,    77,     0,    79,
      3,     0,    77,     0,    46,    78,    47,     0,    79,     0,       3,     0,    78,     0,    47,    79,    48,     0,    80,     0,
     80,     0,    81,     0,   125,    81,     0,   117,     0,   114,      81,     0,    82,     0,   126,    82,     0,   118,     0,   115,
    117,     0,    45,    83,    87,     0,    84,     0,    85,     0,     118,     0,    46,    84,    88,     0,    85,     0,    86,     0,
     86,     0,   113,     0,    48,   113,     0,   125,   113,     0,      87,     0,   114,     0,    49,   114,     0,   126,   114,     0,
     88,     0,    89,     0,    90,     0,    42,    91,    43,     0,      89,     0,    90,     0,    91,     0,    43,    92,    44,     0,
     49,   128,    50,     0,    46,    70,    47,     0,   132,     0,      50,   129,    51,     0,    47,    71,    48,     0,   133,     0,
      4,     0,    92,     0,    93,     0,    94,     0,    73,     0,       4,     0,    93,     0,    94,     0,    95,     0,    74,     0,
     72,    71,     0,    96,     0,     0,     0,    51,    97,    99,      73,    72,     0,    97,     0,     0,     0,    52,    98,   100,
     98,   100,     3,     0,    78,     0,   101,     0,   100,   101,      99,   101,     3,     0,    79,     0,   102,     0,   101,   102,
      0,   102,     0,   103,     0,   104,     0,    42,   105,    43,       0,   103,     0,   104,     0,   105,     0,    43,   106,    44,
      0,    49,   106,    50,     0,    46,   107,    47,     0,   108,       0,    50,   107,    51,     0,    47,   108,    48,     0,   109,
      0,   105,    44,   108,     0,   109,     0,   106,    44,   109,       0,   106,    45,   109,     0,   110,     0,   107,    45,   110,
      0,   110,     0,   107,    44,   110,     0,   111,     0,   112,       0,   111,     0,   108,    45,   111,     0,   112,     0,   113,
      0,    70,     0,   132,     0,     4,     0,    92,     0,   128,       0,    71,     0,   133,     0,     4,     0,    93,     0,   129,
      0,   118,     0,   114,   118,     0,   115,     0,   114,   115,       0,   119,     0,   115,   119,     0,   116,     0,   115,   116,
      0,   116,    48,     0,   118,     0,   118,     0,     4,     5,       0,   117,    49,     0,   119,     0,   119,     0,     4,     5,
      0,     4,     0,   119,     0,   120,     0,   121,     0,    45,       0,     4,     0,   120,     0,   121,     0,   122,     0,    46,
    122,     0,     4,   123,     0,    42,    71,    43,     0,     4,     123,     0,     4,   124,     0,    43,    72,    44,     0,     4,
      0,   124,     0,   123,   124,     0,    45,   122,     0,   126,       0,   125,     0,   124,   125,     0,    46,   123,     0,   127,
      0,   127,     0,     4,    52,     0,   126,    52,     0,   129,       0,   128,     0,     4,    53,     0,   127,    53,     0,   130,
      0,     4,     0,    75,     0,    96,     0,    53,   130,    53,       0,     4,     0,    76,     0,    97,     0,    54,   131,    54,
      0,    54,   130,    54,     0,    49,   129,    50,     0,    34,       0,    55,   131,    55,     0,    50,   130,    51,     0,    34,
    129,     0,    35,   129,     0,    33,   129,     0,    29,   129,     130,     0,    35,   130,     0,    33,   130,     0,    29,   130,
      0,    22,   129,     0,    23,   129,     0,    24,   129,     0,       0,    22,   130,     0,    23,   130,     0,    24,   130,     0,
     25,   129,     0,   129,    34,   129,     0,   129,    35,   129,      25,   130,     0,   130,    34,   130,     0,   130,    35,   130,
      0,   129,    36,   129,     0,   129,    37,   129,     0,   129,       0,   130,    36,   130,     0,   130,    37,   130,     0,   130,
     38,   129,     0,   129,    32,   129,     0,   129,    31,   129,      38,   130,     0,   130,    39,   130,     0,   130,    32,   130,
      0,   129,    30,   129,     0,   129,     9,   129,     0,   129,       0,   130,    31,   130,     0,   130,    30,   130,     0,   130,
     10,   129,     0,   129,    11,   129,     0,   129,    27,   129,       9,   130,     0,   130,    10,   130,     0,   130,    11,   130,
      0,   129,    28,   129,     0,   129,    12,   129,     0,   129,       0,   130,    27,   130,     0,   130,    28,   130,     0,   130,
     13,   129,     0,   129,    14,   129,     0,   129,    15,   129,      12,   130,     0,   130,    13,   130,     0,   130,    14,   130,
      0,   129,    16,   129,     0,   129,    17,   129,     0,   129,       0,   130,    15,   130,     0,   130,    16,   130,     0,   130,
     18,   129,     0,   129,    19,   129,     0,   129,    20,   129,      17,   130,     0,   130,    18,   130,     0,   130,    19,   130,
      0,   129,    21,   129,     0,   129,    26,   129,     0,    70,       0,   130,    20,   130,     0,   130,    21,   130,     0,   130,
      0,     4,     0,     0,     0      26,   130,     0,    71,     0,     4,     0,     0,     0
 };  };
   
 #endif  #endif
Line 210  static const short yyrline[] = { 0, Line 210  static const short yyrline[] = { 0,
    236,   237,   237,   237,   241,   245,   246,   246,   247,   248,     236,   237,   237,   237,   241,   245,   246,   246,   247,   248,
    250,   251,   266,   267,   267,   271,   275,   277,   278,   279,     250,   251,   266,   267,   267,   271,   275,   277,   278,   279,
    294,   299,   301,   303,   304,   306,   312,   318,   324,   326,     294,   299,   301,   303,   304,   306,   312,   318,   324,   326,
    327,   329,   335,   336,   336,   340,   344,   345,   346,   360,     327,   329,   335,   336,   336,   340,   344,   348,   352,   366,
    362,   362,   363,   365,   366,   368,   369,   370,   371,   373,     368,   368,   369,   371,   372,   374,   375,   376,   377,   379,
    375,   377,   379,   381,   383,   387,   391,   395,   397,   398,     381,   383,   385,   387,   389,   393,   397,   401,   403,   404,
    400,   407,   407,   409,   409,   410,   411,   416,   421,   423,     406,   413,   413,   415,   415,   416,   417,   425,   432,   434,
    425,   426,   427,   429,   433,   441,   447,   452,   452,   453,     436,   437,   438,   440,   444,   452,   458,   463,   463,   464,
    458,   460,   462,   466,   478,   482,   484,   485,   486,   487,     469,   471,   473,   480,   492,   496,   498,   499,   500,   501,
    488,   490,   491,   492,   493,   494,   495,   496,   497,   499,     502,   504,   505,   506,   507,   508,   509,   510,   511,   513,
    500,   501,   502,   503,   504,   505,   506,   507,   508,   509,     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
    510,   511,   512,   513,   514,   515,   516,   517,   518,   519,     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
    520,   521,   522,   525,   534,   539,   540     534,   535,   536,   537,   540,   549,   554,   555
 };  };
 #endif  #endif
   
Line 230  static const char * const yytname[] = { Line 230  static const char * const yytname[] = {
 "BOGUS","BAD_STRING_COMPARISON_OPERATOR","BAD_HEX_LITERAL","BAD_METHOD_DECL_START",  "BOGUS","BAD_STRING_COMPARISON_OPERATOR","BAD_HEX_LITERAL","BAD_METHOD_DECL_START",
 "\"&&\"","\"||\"","\"##\"","\"<=\"","\">=\"","\"==\"","\"!=\"","\"lt\"","\"gt\"",  "\"&&\"","\"||\"","\"##\"","\"<=\"","\">=\"","\"==\"","\"!=\"","\"lt\"","\"gt\"",
 "\"le\"","\"ge\"","\"eq\"","\"ne\"","\"def\"","\"in\"","\"-f\"","\"-d\"","\"is\"",  "\"le\"","\"ge\"","\"eq\"","\"ne\"","\"def\"","\"in\"","\"-f\"","\"-d\"","\"is\"",
 "'<'","'>'","'!'","'#'","'|'","'&'","'~'","'-'","'+'","'*'","'/'","'%'","NEG",  "'<'","'>'","'!'","'#'","'|'","'&'","'~'","'-'","'+'","'*'","'/'","'%'","'\\\\'",
 "'@'","'\\n'","'['","']'","';'","'$'","'{'","'}'","'.'","'('","')'","'^'","':'",  "NEG","'@'","'\\n'","'['","']'","';'","'$'","'{'","'}'","'.'","'('","')'","'^'",
 "'\\\"'","'\\''","all","methods","one_big_piece","method","control_method","maybe_control_strings",  "':'","'\\\"'","'\\''","all","methods","one_big_piece","method","control_method",
 "control_strings","control_string","maybe_string","code_method","maybe_bracketed_strings",  "maybe_control_strings","control_strings","control_string","maybe_string","code_method",
 "bracketed_maybe_strings","maybe_strings","strings","maybe_comment","maybe_codes",  "maybe_bracketed_strings","bracketed_maybe_strings","maybe_strings","strings",
 "codes","code","action","get","get_value","get_name_value","name_in_curly_rdive",  "maybe_comment","maybe_codes","codes","code","action","get","get_value","get_name_value",
 "name_without_curly_rdive","name_without_curly_rdive_read","name_without_curly_rdive_class",  "name_in_curly_rdive","name_without_curly_rdive","name_without_curly_rdive_read",
 "name_without_curly_rdive_code","put","name_expr_wdive","name_expr_wdive_root",  "name_without_curly_rdive_class","name_without_curly_rdive_code","put","name_expr_wdive",
 "name_expr_wdive_write","name_expr_wdive_class","construct","construct_square",  "name_expr_wdive_root","name_expr_wdive_write","name_expr_wdive_class","construct",
 "construct_round","construct_curly","any_constructor_code_value","constructor_code_value",  "construct_square","construct_round","construct_curly","any_constructor_code_value",
 "constructor_code","codes__excluding_sole_str_literal","call","call_value","@1",  "constructor_code_value","constructor_code","codes__excluding_sole_str_literal",
 "@2","call_name","store_params","store_param","store_square_param","store_round_param",  "call","call_value","@1","@2","call_name","store_params","store_param","store_square_param",
 "store_curly_param","store_code_param_parts","store_expr_param_parts","store_curly_param_parts",  "store_round_param","store_curly_param","store_code_param_parts","store_expr_param_parts",
 "store_code_param_part","store_expr_param_part","store_curly_param_part","code_param_value",  "store_curly_param_parts","store_code_param_part","store_expr_param_part","store_curly_param_part",
 "write_expr_value","name_expr_dive_code","name_path","name_step","name_advance1",  "code_param_value","write_expr_value","name_expr_dive_code","name_path","name_step",
 "name_advance2","name_expr_value","name_expr_subvar_value","name_expr_with_subvar_value",  "name_advance1","name_advance2","name_expr_value","name_expr_subvar_value","name_expr_with_subvar_value",
 "name_square_code_value","subvar_ref_name_rdive","subvar_get_writes","subvar__get_write",  "name_square_code_value","subvar_ref_name_rdive","subvar_get_writes","subvar__get_write",
 "class_prefix","class_static_prefix","class_constructor_prefix","expr_value",  "class_prefix","class_static_prefix","class_constructor_prefix","expr_value",
 "expr","string_inside_quotes_value","write_string","void_value","empty", NULL  "expr","string_inside_quotes_value","write_string","void_value","empty", NULL
Line 253  static const char * const yytname[] = { Line 253  static const char * const yytname[] = {
 #endif  #endif
   
 static const short yyr1[] = {     0,  static const short yyr1[] = {     0,
     55,    55,    56,    56,    57,    58,    58,    59,    60,    60,      56,    56,    57,    57,    58,    59,    59,    60,    61,    61,
     61,    61,    62,    63,    63,    64,    65,    65,    66,    67,      62,    62,    63,    64,    64,    65,    66,    66,    67,    68,
     67,    68,    68,    69,    69,    70,    70,    71,    71,    72,      68,    69,    69,    70,    70,    71,    71,    72,    72,    73,
     72,    73,    73,    73,    74,    75,    76,    76,    77,    78,      73,    74,    74,    74,    75,    76,    77,    77,    78,    79,
     78,    79,    80,    81,    81,    82,    83,    83,    83,    84,      79,    80,    81,    82,    82,    83,    84,    84,    84,    85,
     85,    86,    87,    87,    87,    88,    89,    90,    91,    91,      86,    87,    88,    88,    88,    89,    90,    91,    92,    92,
     91,    92,    93,    94,    94,    95,    97,    98,    96,    99,      92,    93,    94,    95,    95,    96,    98,    99,    97,   100,
    100,   100,   101,   101,   101,   102,   103,   104,   105,   105,     101,   101,   102,   102,   102,   103,   104,   105,   106,   106,
    106,   106,   107,   107,   108,   109,   110,   111,   111,   111,     107,   107,   108,   108,   109,   110,   111,   112,   112,   112,
    112,   113,   113,   114,   114,   115,   116,   117,   117,   118,     113,   114,   114,   115,   115,   116,   117,   118,   118,   119,
    118,   118,   118,   119,   120,   121,   122,   123,   123,   124,     119,   119,   119,   120,   121,   122,   123,   124,   124,   125,
    125,   125,   126,   127,   128,   129,   129,   129,   129,   129,     126,   126,   127,   128,   129,   130,   130,   130,   130,   130,
    129,   129,   129,   129,   129,   129,   129,   129,   129,   129,     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
    129,   129,   129,   129,   129,   129,   129,   129,   129,   129,     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
    129,   129,   129,   129,   129,   129,   129,   129,   129,   129,     130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
    129,   129,   129,   130,   131,   132,   133     130,   130,   130,   130,   131,   132,   133,   134
 };  };
   
 static const short yyr2[] = {     0,  static const short yyr2[] = {     0,
Line 287  static const short yyr2[] = {     0, Line 287  static const short yyr2[] = {     0,
      3,     2,     2,     2,     2,     2,     2,     2,     2,     3,       3,     2,     2,     2,     2,     2,     2,     2,     2,     3,
      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
      3,     3,     3,     1,     1,     0,     0       3,     3,     3,     3,     1,     1,     0,     0
 };  };
   
 static const short yydefact[] = {   157,  static const short yydefact[] = {   158,
    155,     0,     0,    67,     2,     1,     3,     6,     7,     5,     156,     0,     0,    67,     2,     1,     3,     6,     7,     5,
     27,    28,    31,    32,    35,    33,    34,    66,    30,    26,      27,    28,    31,    32,    35,    33,    34,    66,    30,    26,
      0,   100,     0,     0,     0,     0,    36,    38,     0,    40,       0,   100,     0,     0,     0,     0,    36,    38,     0,    40,
     41,    42,     0,    47,    48,    49,    50,     0,    94,     0,      41,    42,     0,    47,    48,    49,    50,     0,    94,     0,
     44,    92,   101,   102,   103,     0,   111,   112,     0,     4,      44,    92,   101,   102,   103,     0,   111,   112,     0,     4,
     29,   157,   157,   157,    99,     0,   113,   105,   108,     0,      29,   158,   158,   158,    99,     0,   113,   105,   108,     0,
    107,   104,     0,     0,    98,     0,   100,    51,     0,    92,     107,   104,     0,     0,    98,     0,   100,    51,     0,    92,
     37,   156,   157,     0,    46,    53,    54,    55,   100,    95,      37,   157,   158,     0,    46,    53,    54,    55,   100,    95,
     45,    93,    96,    43,    52,   114,    70,    68,    15,     8,      45,    93,    96,    43,    52,   114,    70,    68,    15,     8,
     10,    11,     0,     9,    22,     0,    21,    20,   157,    18,      10,    11,     0,     9,    22,     0,    21,    20,   158,    18,
     17,   110,   109,   106,    39,    93,   155,     0,    31,     0,      17,   110,   109,   106,    39,    93,   156,     0,    31,     0,
     61,    62,    63,    59,     0,   116,     0,     0,     0,     0,      61,    62,    63,    59,     0,   116,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,   157,   157,   117,   118,       0,     0,     0,     0,     0,     0,   158,   158,   117,   118,
      0,   115,     0,    12,    14,    13,    19,     0,    25,     0,       0,   115,     0,    12,    14,    13,    19,     0,    25,     0,
     24,    65,    56,    58,   126,   127,   128,   129,   125,   124,      24,    65,    56,    58,   126,   127,   128,   129,   125,   124,
    122,   123,     0,   154,     0,     0,    57,     0,     0,     0,     122,   123,     0,   155,     0,     0,    57,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      0,   156,   157,     0,     0,    71,    73,    74,    75,    23,       0,     0,   157,   158,     0,     0,    71,    73,    74,    75,
    157,   121,   119,   120,   138,   139,   140,   143,   144,   145,      23,   158,   121,   119,   120,   139,   140,   141,   144,   145,
    146,   147,   148,   149,   150,   151,   152,   153,   141,   142,     146,   147,   148,   149,   150,   151,   152,   153,   154,   142,
    137,   136,   135,   130,   131,   132,   133,   134,   155,    90,     143,   138,   137,   136,   130,   131,   132,   133,   134,   135,
      0,    79,    85,    88,    87,     0,    83,     0,    81,    86,     156,    90,     0,    79,    85,    88,    87,     0,    83,     0,
     91,    69,    72,    16,    76,   156,   157,    78,     0,    77,      81,    86,    91,    69,    72,    16,    76,   157,   158,    78,
     80,    84,    82,     0,     0,     0       0,    77,    80,    84,    82,     0,     0,     0
 };  };
   
 static const short yydefgoto[] = {   244,  static const short yydefgoto[] = {   246,
      5,     6,     7,     8,    90,    91,    92,    93,     9,    99,       5,     6,     7,     8,    90,    91,    92,    93,     9,    99,
     54,    96,    97,   140,   154,    11,    12,    13,    14,   129,      54,    96,    97,   140,   154,    11,    12,    13,    14,   129,
     27,    28,    29,    30,    31,    32,    16,    33,    34,    35,      27,    28,    29,    30,    31,    32,    16,    33,    34,    35,
     36,    75,    76,    77,    78,   110,   220,   112,   113,    17,      36,    75,    76,    77,    78,   110,   222,   112,   113,    17,
    130,    49,   133,    88,   185,   186,   187,   188,   189,   221,     130,    49,   133,    88,   186,   187,   188,   189,   190,   223,
    228,   226,   222,   229,   227,   223,   230,    37,    64,    39,     230,   228,   224,   231,   229,   225,   232,    37,    64,    39,
     40,    41,    65,    43,    44,    45,    62,    58,    59,    66,      40,    41,    65,    43,    44,    45,    62,    58,    59,    66,
     47,    48,   231,   132,   155,    19,   224,    20      47,    48,   233,   132,   155,    19,   226,    20
 };  };
   
 static const short yypact[] = {     6,  static const short yypact[] = {     5,
 -32768,    12,    75,-32768,   -14,-32768,-32768,-32768,-32768,-32768,  -32768,    20,    75,-32768,   -34,-32768,-32768,-32768,-32768,-32768,
     32,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,      18,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
     61,    19,    32,    29,    91,    92,-32768,-32768,    45,-32768,     -27,    31,    18,    27,    97,   102,-32768,-32768,    39,-32768,
 -32768,-32768,    55,-32768,-32768,-32768,-32768,    96,-32768,   -40,  -32768,-32768,    91,-32768,-32768,-32768,-32768,   103,-32768,    32,
 -32768,     4,-32768,-32768,-32768,    96,    46,-32768,    91,-32768,  -32768,    42,-32768,-32768,-32768,   103,    34,-32768,    97,-32768,
 -32768,    95,   111,    97,-32768,    29,-32768,    98,-32768,    18,  -32768,    89,    96,    52,-32768,    27,-32768,    56,-32768,    17,
 -32768,-32768,    93,    96,   100,    96,    98,-32768,    92,   100,  -32768,-32768,    61,   103,    62,   103,    56,-32768,   102,    62,
 -32768,    40,    32,     5,-32768,-32768,-32768,-32768,    44,-32768,  -32768,    36,    18,     4,-32768,-32768,-32768,-32768,    25,-32768,
 -32768,     4,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -32768,    42,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
     27,-32768,   123,   128,-32768,   138,   146,-32768,   188,-32768,       6,-32768,    74,    78,-32768,    87,    94,-32768,   115,-32768,
 -32768,-32768,-32768,-32768,-32768,   100,   184,    32,    88,   192,  -32768,-32768,-32768,-32768,-32768,    62,    88,    18,    41,   106,
 -32768,-32768,-32768,-32768,   173,-32768,     5,     5,     5,     5,  -32768,-32768,-32768,-32768,   105,-32768,     4,     4,     4,     4,
      5,     5,     5,     5,    80,     5,    32,    32,-32768,-32768,       4,     4,     4,     4,    90,     4,    18,    18,-32768,-32768,
    204,   274,   177,-32768,-32768,-32768,-32768,   251,-32768,   215,     101,   277,   104,-32768,-32768,-32768,-32768,   159,-32768,   123,
 -32768,    32,-32768,-32768,   115,   115,   115,   115,   115,   142,  -32768,    18,-32768,-32768,   191,   191,   191,   191,   191,   198,
 -32768,-32768,   232,-32768,   208,   203,-32768,     5,     5,     5,  -32768,-32768,   234,-32768,   112,   113,-32768,     4,     4,     4,
      5,     5,     5,     5,     5,     5,     5,     5,     5,     5,       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
      5,     5,     5,     5,     5,     5,     5,     5,     5,     5,       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
      5,    41,    32,     5,    63,-32768,-32768,-32768,-32768,-32768,       4,     4,    37,    18,     4,    49,-32768,-32768,-32768,-32768,
     32,-32768,-32768,-32768,   361,   334,   304,   386,   386,   136,  -32768,    18,-32768,-32768,-32768,   367,   339,   308,   393,   393,
    136,   386,   386,   386,   386,   136,   136,   115,   386,   386,     143,   143,   393,   393,   393,   393,   143,   143,   191,   393,
    -17,   196,   142,   151,   151,-32768,-32768,-32768,   178,-32768,     393,   243,   401,   198,   152,   152,-32768,-32768,-32768,-32768,
    181,-32768,-32768,-32768,-32768,    72,-32768,    74,-32768,-32768,      70,-32768,    81,-32768,-32768,-32768,-32768,   -28,-32768,    53,
 -32768,-32768,-32768,-32768,-32768,    41,    32,-32768,     5,-32768,  -32768,-32768,-32768,-32768,-32768,-32768,-32768,    37,    18,-32768,
 -32768,-32768,-32768,   265,   271,-32768       4,-32768,-32768,-32768,-32768,   170,   171,-32768
 };  };
   
 static const short yypgoto[] = {-32768,  static const short yypgoto[] = {-32768,
 -32768,-32768,   267,-32768,-32768,-32768,   182,-32768,-32768,-32768,  -32768,-32768,   167,-32768,-32768,-32768,   133,-32768,-32768,-32768,
    220,-32768,-32768,-32768,     3,   -18,    -7,   -71,-32768,     0,     139,-32768,-32768,-32768,     3,   -18,    -7,   -71,-32768,     0,
 -32768,-32768,    57,-32768,-32768,    21,-32768,-32768,-32768,-32768,  -32768,-32768,    -6,-32768,-32768,    51,-32768,-32768,-32768,-32768,
 -32768,-32768,-32768,-32768,-32768,-32768,   205,-32768,-32768,-32768,  -32768,-32768,-32768,-32768,-32768,-32768,   184,-32768,-32768,-32768,
      2,-32768,-32768,-32768,-32768,    90,-32768,-32768,-32768,-32768,       2,-32768,-32768,-32768,-32768,    71,-32768,-32768,-32768,-32768,
 -32768,-32768,    42,    58,    39,-32768,-32768,    68,    67,   -32,  -32768,-32768,    21,    22,    19,-32768,-32768,   -12,    77,   -20,
 -32768,    43,     9,-32768,-32768,-32768,   223,-32768,   222,   278,  -32768,   -32,     9,-32768,-32768,-32768,   211,-32768,   218,   280,
 -32768,-32768,   224,    37,   168,-32768,   227,   -11  -32768,-32768,   210,    38,   172,-32768,   227,    14
 };  };
   
   
 #define YYLAST          424  #define YYLAST          440
   
   
 static const short yytable[] = {    15,  static const short yytable[] = {    15,
    109,    18,    10,    51,    60,    80,   -98,    83,   116,     1,     109,    18,    10,    51,    60,    81,     2,   116,     1,    89,
     15,    42,    18,   175,   176,    21,   177,   178,   179,   180,      15,    42,    18,    68,    52,    53,   239,    80,    63,   240,
    181,     1,    15,    55,    18,     2,   117,   118,   119,   120,       1,     1,    15,    21,    18,   117,   118,   119,   120,    55,
     89,    80,    61,   121,    70,     1,    80,   122,   123,   124,      61,    81,   121,    85,    70,    55,   122,   123,   124,   107,
     94,    98,   101,   107,   219,     2,    82,    71,    55,   125,     221,    71,    87,    80,   -98,     2,    82,  -158,    80,   125,
      3,   -97,    51,   126,    42,     4,     4,   127,   128,    15,       3,   234,    51,   126,    42,     4,     4,   127,   128,    15,
    104,    18,     3,    56,   108,   232,    84,  -157,     4,    38,     104,    18,     3,     3,   108,    94,    98,   101,     4,     4,
     57,    15,    15,    18,    18,   115,     3,   106,    22,   135,      56,    15,    15,    18,    18,   115,    56,   106,    22,    38,
     81,    63,     4,    22,     3,     3,    84,   141,    56,   142,      83,     3,     3,    57,   -64,   -64,    86,     4,     4,   142,
      4,     4,    69,    68,    22,    67,    72,    86,    89,    79,     -97,   183,    89,    22,    53,   184,    84,   241,   185,    95,
     73,    52,    53,    74,   182,    87,    81,    15,   183,    18,      22,    56,    69,   242,   135,    67,    79,    15,   105,    18,
    109,   184,    38,    85,    95,   237,    23,   239,   238,    24,     -97,   109,   141,   -89,   -89,   136,    84,    23,   139,   -14,
     25,    23,    26,   240,    24,    25,    15,    15,    18,    18,      24,    25,    38,    26,   237,   238,    15,    15,    18,    18,
    -64,   -64,    23,    23,    51,    24,    24,    23,    53,   105,     137,   -60,    23,    72,    51,    24,    25,    73,   138,    23,
     24,    15,    56,    18,   174,   175,   176,   -97,   177,   178,      74,    15,    24,    18,    23,    23,   183,    24,    24,   143,
    179,   180,   181,   145,   146,   147,   148,   149,   150,   151,     184,   157,   144,   185,   145,   146,   147,   148,   149,   150,
    152,   171,   153,   136,   109,   174,   175,   176,   -14,   177,     151,   152,   191,   153,   192,   194,   109,   195,   171,   247,
    178,   179,   180,   181,   108,   177,   178,   179,   180,   181,     248,    50,   174,   175,   176,   108,   177,   178,   179,   180,
    137,    15,    15,    18,    18,   225,   179,   180,   181,   138,     181,   182,    15,    15,    18,    18,   227,   179,   180,   181,
     15,   139,    18,   234,   195,   196,   197,   198,   199,   200,     182,    15,   100,    18,   236,   196,   197,   198,   199,   200,
    201,   202,   203,   204,   205,   206,   207,   208,   209,   210,     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
    211,   212,   213,   214,   215,   216,   217,   218,   182,   144,     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
    -89,   -89,   183,   235,   236,   184,   -60,   176,   108,   177,     174,   175,   176,   134,   177,   178,   179,   180,   181,   182,
    178,   179,   180,   181,   143,    15,    15,    18,    18,   225,     108,   177,   178,   179,   180,   181,   182,    15,    15,    18,
    158,   159,   160,   161,   162,   163,   164,   165,   166,   167,      18,   227,   158,   159,   160,   161,   162,   163,   164,   165,
    168,   169,   170,   157,   190,   191,   194,   171,   172,   173,     166,   167,   168,   169,   170,   111,   235,   244,   243,   171,
    193,   174,   175,   176,   245,   177,   178,   179,   180,   181,     172,   173,   245,   174,   175,   176,   102,   177,   178,   179,
    246,    50,   134,   100,   233,   242,   111,   241,   102,   103,     180,   181,   182,   175,   176,   103,   177,   178,   179,   180,
     46,   192,   158,   159,   160,   161,   162,   163,   164,   165,     181,   182,    46,   131,   193,   158,   159,   160,   161,   162,
    166,   167,   168,   169,   170,   156,   243,   131,   114,   171,     163,   164,   165,   166,   167,   168,   169,   170,   114,   156,
    172,   173,     0,   174,   175,   176,     0,   177,   178,   179,       0,     0,   171,   172,   173,     0,   174,   175,   176,     0,
    180,   181,   158,   159,     0,   161,   162,   163,   164,   165,     177,   178,   179,   180,   181,   182,   158,   159,     0,   161,
    166,   167,   168,   169,   170,     0,     0,     0,     0,   171,     162,   163,   164,   165,   166,   167,   168,   169,   170,     0,
    172,   173,     0,   174,   175,   176,     0,   177,   178,   179,       0,     0,     0,   171,   172,   173,     0,   174,   175,   176,
    180,   181,   158,     0,     0,   161,   162,   163,   164,   165,       0,   177,   178,   179,   180,   181,   182,   158,     0,     0,
    166,   167,   168,   169,   170,     0,     0,     0,     0,   171,     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
    172,   173,     0,   174,   175,   176,     0,   177,   178,   179,       0,     0,     0,     0,   171,   172,   173,     0,   174,   175,
    180,   181,   161,   162,   163,   164,   165,   166,   167,   168,     176,     0,   177,   178,   179,   180,   181,   182,   161,   162,
    169,   170,     0,     0,     0,     0,   171,   172,   173,     0,     163,   164,   165,   166,   167,   168,   169,   170,     0,     0,
    174,   175,   176,     0,   177,   178,   179,   180,   181,   163,       0,     0,   171,   172,   173,     0,   174,   175,   176,     0,
    164,     0,     0,     0,     0,   169,   170,     0,     0,     0,     177,   178,   179,   180,   181,   182,   163,   164,     0,     0,
      0,   171,     0,     0,     0,   174,   175,   176,     0,   177,       0,     0,   169,   170,     0,     0,     0,     0,   171,     0,
    178,   179,   180,   181       0,     0,   174,   175,   176,     0,   177,   178,   179,   180,
      181,   182,   176,     0,   177,   178,   179,   180,   181,   182
 };  };
   
 static const short yycheck[] = {     0,  static const short yycheck[] = {     0,
     72,     0,     0,    11,    23,    38,     3,    48,     4,     4,      72,     0,     0,    11,    23,    38,    41,     4,     4,     4,
     11,     3,    11,    31,    32,     4,    34,    35,    36,    37,      11,     3,    11,    26,    42,    43,    45,    38,    25,    48,
     38,     4,    23,     5,    23,    40,    22,    23,    24,    25,       4,     4,    23,     4,    23,    22,    23,    24,    25,     5,
      4,    64,     4,    29,    26,     4,    69,    33,    34,    35,       4,    64,    29,    46,    26,     5,    33,    34,    35,     4,
     52,    53,    54,     4,     4,    40,    38,     3,     5,    45,       4,     3,    49,    64,     3,    41,    38,    42,    69,    46,
     45,    48,    60,    49,    46,    51,    51,    53,    54,    60,      46,     3,    60,    50,    46,    52,    52,    54,    55,    60,
     43,    60,    45,    45,    72,     3,    46,    41,    51,     3,      44,    60,    46,    46,    72,    52,    53,    54,    52,    52,
     52,    72,    73,    72,    73,    73,    45,    69,     4,    91,      46,    72,    73,    72,    73,    73,    46,    69,     4,     3,
     38,    25,    51,     4,    45,    45,    66,    99,    45,   108,      49,    46,    46,    53,    44,    45,    53,    52,    52,   108,
     51,    51,    26,    26,     4,     4,    42,    52,     4,     4,      49,    43,     4,     4,    43,    47,    46,    45,    50,     4,
     46,    41,    42,    49,    42,    49,    64,   108,    46,   108,       4,    46,    26,    51,    91,     4,     4,   108,    48,   108,
    182,    49,    46,    46,     4,    44,    42,    44,    47,    45,      49,   183,    99,    44,    45,    42,    66,    43,     4,    42,
     46,    42,    48,    50,    45,    46,   127,   128,   127,   128,      46,    47,    46,    49,    44,    45,   127,   128,   127,   128,
     43,    44,    42,    42,   142,    45,    45,    42,    42,    47,      44,    44,    43,    43,   142,    46,    47,    47,    45,    43,
     45,   142,    45,   142,    30,    31,    32,    48,    34,    35,      50,   142,    46,   142,    43,    43,    43,    46,    46,    44,
     36,    37,    38,   117,   118,   119,   120,   121,   122,   123,      47,    51,    48,    50,   117,   118,   119,   120,   121,   122,
    124,    26,   126,    41,   236,    30,    31,    32,    41,    34,     123,   124,     4,   126,    42,    54,   238,    55,    26,     0,
     35,    36,    37,    38,   182,    34,    35,    36,    37,    38,       0,     5,    30,    31,    32,   183,    34,    35,    36,    37,
     43,   182,   183,   182,   183,   183,    36,    37,    38,    44,      38,    39,   183,   184,   183,   184,   184,    36,    37,    38,
    191,     4,   191,   191,   158,   159,   160,   161,   162,   163,      39,   192,    54,   192,   192,   158,   159,   160,   161,   162,
    164,   165,   166,   167,   168,   169,   170,   171,   172,   173,     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
    174,   175,   176,   177,   178,   179,   180,   181,    42,    47,     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
     43,    44,    46,    43,    44,    49,    43,    32,   236,    34,      30,    31,    32,    91,    34,    35,    36,    37,    38,    39,
     35,    36,    37,    38,    43,   236,   237,   236,   237,   237,     238,    34,    35,    36,    37,    38,    39,   238,   239,   238,
      9,    10,    11,    12,    13,    14,    15,    16,    17,    18,     239,   239,     9,    10,    11,    12,    13,    14,    15,    16,
     19,    20,    21,    50,     4,    41,    54,    26,    27,    28,      17,    18,    19,    20,    21,    72,   186,   239,   238,    26,
     53,    30,    31,    32,     0,    34,    35,    36,    37,    38,      27,    28,   241,    30,    31,    32,    56,    34,    35,    36,
      0,     5,    91,    54,   185,   237,    72,   236,    56,    58,      37,    38,    39,    31,    32,    58,    34,    35,    36,    37,
      3,    50,     9,    10,    11,    12,    13,    14,    15,    16,      38,    39,     3,    74,    51,     9,    10,    11,    12,    13,
     17,    18,    19,    20,    21,   128,   239,    74,    72,    26,      14,    15,    16,    17,    18,    19,    20,    21,    72,   128,
     27,    28,    -1,    30,    31,    32,    -1,    34,    35,    36,      -1,    -1,    26,    27,    28,    -1,    30,    31,    32,    -1,
     37,    38,     9,    10,    -1,    12,    13,    14,    15,    16,      34,    35,    36,    37,    38,    39,     9,    10,    -1,    12,
     17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    26,      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
     27,    28,    -1,    30,    31,    32,    -1,    34,    35,    36,      -1,    -1,    -1,    26,    27,    28,    -1,    30,    31,    32,
     37,    38,     9,    -1,    -1,    12,    13,    14,    15,    16,      -1,    34,    35,    36,    37,    38,    39,     9,    -1,    -1,
     17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    26,      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
     27,    28,    -1,    30,    31,    32,    -1,    34,    35,    36,      -1,    -1,    -1,    -1,    26,    27,    28,    -1,    30,    31,
     37,    38,    12,    13,    14,    15,    16,    17,    18,    19,      32,    -1,    34,    35,    36,    37,    38,    39,    12,    13,
     20,    21,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
     30,    31,    32,    -1,    34,    35,    36,    37,    38,    14,      -1,    -1,    26,    27,    28,    -1,    30,    31,    32,    -1,
     15,    -1,    -1,    -1,    -1,    20,    21,    -1,    -1,    -1,      34,    35,    36,    37,    38,    39,    14,    15,    -1,    -1,
     -1,    26,    -1,    -1,    -1,    30,    31,    32,    -1,    34,      -1,    -1,    20,    21,    -1,    -1,    -1,    -1,    26,    -1,
     35,    36,    37,    38      -1,    -1,    30,    31,    32,    -1,    34,    35,    36,    37,
       38,    39,    32,    -1,    34,    35,    36,    37,    38,    39
 };  };
 #define YYPURE 1  #define YYPURE 1
   
Line 1258  case 66: Line 1260  case 66:
     break;}      break;}
 case 67:  case 67:
 #line 344 "compile.y"  #line 344 "compile.y"
 { PC.object_constructor_allowed=true ;  { 
                                           PC.object_constructor_allowed=true; 
                                           push_OCA(PC, true);
                           ;
     break;}      break;}
 case 68:  case 68:
 #line 345 "compile.y"  #line 348 "compile.y"
 { PC.object_constructor_allowed=false ;  {
                                   PC.object_constructor_allowed=false;
                                   pop_OCA(PC);
                           ;
     break;}      break;}
 case 69:  case 69:
 #line 346 "compile.y"  #line 352 "compile.y"
 { /* ^field.$method{vasya} */  { /* ^field.$method{vasya} */
         yyval=yyvsp[-3]; /* with_xxx,diving code; stack: context,method_junction */          yyval=yyvsp[-3]; /* with_xxx,diving code; stack: context,method_junction */
         O(yyval, OP_GET_METHOD_FRAME); /* stack: context,method_frame */          O(yyval, OP_GET_METHOD_FRAME); /* stack: context,method_frame */
Line 1281  case 69: Line 1289  case 69:
 ;  ;
     break;}      break;}
 case 72:  case 72:
 #line 362 "compile.y"  #line 368 "compile.y"
 { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 76:  case 76:
 #line 368 "compile.y"  #line 374 "compile.y"
 {yyval=yyvsp[-1];  {yyval=yyvsp[-1];
     break;}      break;}
 case 77:  case 77:
 #line 369 "compile.y"  #line 375 "compile.y"
 {yyval=yyvsp[-1];  {yyval=yyvsp[-1];
     break;}      break;}
 case 78:  case 78:
 #line 370 "compile.y"  #line 376 "compile.y"
 {yyval=yyvsp[-1];  {yyval=yyvsp[-1];
     break;}      break;}
 case 80:  case 80:
 #line 373 "compile.y"  #line 379 "compile.y"
 { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 82:  case 82:
 #line 377 "compile.y"  #line 383 "compile.y"
 { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 84:  case 84:
 #line 381 "compile.y"  #line 387 "compile.y"
 { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-2]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 85:  case 85:
 #line 383 "compile.y"  #line 389 "compile.y"
 {  {
         yyval=yyvsp[0];          yyval=yyvsp[0];
         O(yyval, OP_STORE_PARAM);          O(yyval, OP_STORE_PARAM);
 ;  ;
     break;}      break;}
 case 86:  case 86:
 #line 387 "compile.y"  #line 393 "compile.y"
 {  {
         yyval=N(POOL);           yyval=N(POOL); 
         PEA(yyval, yyvsp[0]);          PEA(yyval, yyvsp[0]);
 ;  ;
     break;}      break;}
 case 87:  case 87:
 #line 391 "compile.y"  #line 397 "compile.y"
 {  {
         yyval=N(POOL);           yyval=N(POOL); 
         PCA(yyval, yyvsp[0]);          PCA(yyval, yyvsp[0]);
 ;  ;
     break;}      break;}
 case 91:  case 91:
 #line 400 "compile.y"  #line 406 "compile.y"
 {  {
         yyval=yyvsp[0];          yyval=yyvsp[0];
         O(yyval, OP_WRITE_EXPR_RESULT);          O(yyval, OP_WRITE_EXPR_RESULT);
 ;  ;
     break;}      break;}
 case 93:  case 93:
 #line 407 "compile.y"  #line 413 "compile.y"
 { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 95:  case 95:
 #line 409 "compile.y"  #line 415 "compile.y"
 { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 97:  case 97:
 #line 411 "compile.y"  #line 417 "compile.y"
 {  {
           // we know that name_advance1 not called from ^xxx context
           // so we'll not check for operator call possibility as we do in name_advance2
   
         /* stack: context */          /* stack: context */
         yyval=yyvsp[0]; /* stack: context,name */          yyval=yyvsp[0]; /* stack: context,name */
         O(yyval, OP_GET_ELEMENT); /* name=pop; context=pop; stack: context.get_element(name) */          O(yyval, OP_GET_ELEMENT); /* name=pop; context=pop; stack: context.get_element(name) */
 ;  ;
     break;}      break;}
 case 98:  case 98:
 #line 416 "compile.y"  #line 425 "compile.y"
 {  {
         /* stack: context */          /* stack: context */
         yyval=yyvsp[0]; /* stack: context,name */          yyval=yyvsp[0]; /* stack: context,name */
         O(yyval, OP_GET_ELEMENT); /* name=pop; context=pop; stack: context.get_element(name) */          O(yyval, PC.operator_call_allowed?OP_GET_ELEMENT_OR_OPERATOR:OP_GET_ELEMENT); /* name=pop; context=pop; stack: context.get_element(name) */
           // only ^FIRST.part.allowed.to.be.an.operator
           PC.operator_call_allowed=false; 
 ;  ;
     break;}      break;}
 case 104:  case 104:
 #line 429 "compile.y"  #line 440 "compile.y"
 {  {
         yyval=yyvsp[0];          yyval=yyvsp[0];
         O(yyval, OP_GET_ELEMENT);          O(yyval, OP_GET_ELEMENT);
 ;  ;
     break;}      break;}
 case 105:  case 105:
 #line 433 "compile.y"  #line 444 "compile.y"
 {  {
         yyval=N(POOL);           yyval=N(POOL); 
         O(yyval, OP_CREATE_EWPOOL);          O(yyval, OP_CREATE_EWPOOL);
Line 1379  case 105: Line 1392  case 105:
 ;  ;
     break;}      break;}
 case 106:  case 106:
 #line 441 "compile.y"  #line 452 "compile.y"
 {  {
         yyval=N(POOL);           yyval=N(POOL); 
         O(yyval, OP_CREATE_EWPOOL);          O(yyval, OP_CREATE_EWPOOL);
Line 1388  case 106: Line 1401  case 106:
 ;  ;
     break;}      break;}
 case 107:  case 107:
 #line 447 "compile.y"  #line 458 "compile.y"
 {  {
         yyval=N(POOL);           yyval=N(POOL); 
         O(yyval, OP_WITH_READ);          O(yyval, OP_WITH_READ);
Line 1396  case 107: Line 1409  case 107:
 ;  ;
     break;}      break;}
 case 109:  case 109:
 #line 452 "compile.y"  #line 463 "compile.y"
 { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;  { yyval=yyvsp[-1]; P(yyval, yyvsp[0]) ;
     break;}      break;}
 case 110:  case 110:
 #line 453 "compile.y"  #line 464 "compile.y"
 {  {
         yyval=yyvsp[0];          yyval=yyvsp[0];
         O(yyval, OP_GET_ELEMENT__WRITE);          O(yyval, OP_GET_ELEMENT__WRITE);
 ;  ;
     break;}      break;}
 case 113:  case 113:
 #line 462 "compile.y"  #line 473 "compile.y"
 {  {
           // drop allow code after "name:"
           PC.operator_call_allowed=false; 
           
         yyval=yyvsp[-1]; // stack: class name string          yyval=yyvsp[-1]; // stack: class name string
         O(yyval, OP_GET_CLASS);          O(yyval, OP_GET_CLASS);
 ;  ;
     break;}      break;}
 case 114:  case 114:
 #line 466 "compile.y"  #line 480 "compile.y"
 {  {
         yyval=yyvsp[-1];          yyval=yyvsp[-1];
         if(!PC.object_constructor_allowed) {          if(!PC.object_constructor_allowed) {
Line 1425  case 114: Line 1441  case 114:
 ;  ;
     break;}      break;}
 case 115:  case 115:
 #line 478 "compile.y"  #line 492 "compile.y"
 {  {
         if((yyval=yyvsp[0])->size()==2) // only one string literal in there?          if((yyval=yyvsp[0])->size()==2) // only one string literal in there?
                 change_string_literal_to_double_literal(yyval); // make that string literal Double                  change_string_literal_to_double_literal(yyval); // make that string literal Double
 ;  ;
     break;}      break;}
 case 119:  case 119:
 #line 486 "compile.y"  #line 500 "compile.y"
 { yyval = yyvsp[-1]; ;  { yyval = yyvsp[-1]; ;
     break;}      break;}
 case 120:  case 120:
 #line 487 "compile.y"  #line 501 "compile.y"
 { yyval = yyvsp[-1]; ;  { yyval = yyvsp[-1]; ;
     break;}      break;}
 case 121:  case 121:
 #line 488 "compile.y"  #line 502 "compile.y"
 { yyval = yyvsp[-1]; ;  { yyval = yyvsp[-1]; ;
     break;}      break;}
 case 122:  case 122:
 #line 490 "compile.y"  #line 504 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_NEG) ;  { yyval=yyvsp[0];  O(yyval, OP_NEG) ;
     break;}      break;}
 case 123:  case 123:
 #line 491 "compile.y"  #line 505 "compile.y"
 { yyval=yyvsp[0] ;  { yyval=yyvsp[0] ;
     break;}      break;}
 case 124:  case 124:
 #line 492 "compile.y"  #line 506 "compile.y"
 { yyval=yyvsp[0];        O(yyval, OP_INV) ;  { yyval=yyvsp[0];        O(yyval, OP_INV) ;
     break;}      break;}
 case 125:  case 125:
 #line 493 "compile.y"  #line 507 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_NOT) ;  { yyval=yyvsp[0];  O(yyval, OP_NOT) ;
     break;}      break;}
 case 126:  case 126:
 #line 494 "compile.y"  #line 508 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_DEF) ;  { yyval=yyvsp[0];  O(yyval, OP_DEF) ;
     break;}      break;}
 case 127:  case 127:
 #line 495 "compile.y"  #line 509 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_IN) ;  { yyval=yyvsp[0];  O(yyval, OP_IN) ;
     break;}      break;}
 case 128:  case 128:
 #line 496 "compile.y"  #line 510 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_FEXISTS) ;  { yyval=yyvsp[0];  O(yyval, OP_FEXISTS) ;
     break;}      break;}
 case 129:  case 129:
 #line 497 "compile.y"  #line 511 "compile.y"
 { yyval=yyvsp[0];  O(yyval, OP_DEXISTS) ;  { yyval=yyvsp[0];  O(yyval, OP_DEXISTS) ;
     break;}      break;}
 case 130:  case 130:
 #line 499 "compile.y"  #line 513 "compile.y"
 {       yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_SUB) ;  {       yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_SUB) ;
     break;}      break;}
 case 131:  case 131:
 #line 500 "compile.y"  #line 514 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_ADD) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_ADD) ;
     break;}      break;}
 case 132:  case 132:
 #line 501 "compile.y"  #line 515 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_MUL) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_MUL) ;
     break;}      break;}
 case 133:  case 133:
 #line 502 "compile.y"  #line 516 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_DIV) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_DIV) ;
     break;}      break;}
 case 134:  case 134:
 #line 503 "compile.y"  #line 517 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_MOD) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_MOD) ;
     break;}      break;}
 case 135:  case 135:
 #line 504 "compile.y"  #line 518 "compile.y"
 { yyval=yyvsp[-2];      P(yyval, yyvsp[0]);  O(yyval, OP_BIN_AND) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_INTDIV) ;
     break;}      break;}
 case 136:  case 136:
 #line 505 "compile.y"  #line 519 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_BIN_OR) ;  { yyval=yyvsp[-2];      P(yyval, yyvsp[0]);  O(yyval, OP_BIN_AND) ;
     break;}      break;}
 case 137:  case 137:
 #line 506 "compile.y"  #line 520 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_BIN_XOR) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_BIN_OR) ;
     break;}      break;}
 case 138:  case 138:
 #line 507 "compile.y"  #line 521 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_LOG_AND) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_BIN_XOR) ;
     break;}      break;}
 case 139:  case 139:
 #line 508 "compile.y"  #line 522 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_LOG_OR) ;  { yyval=yyvsp[-2];  PNC(yyval, yyvsp[0]);  O(yyval, OP_LOG_AND) ;
     break;}      break;}
 case 140:  case 140:
 #line 509 "compile.y"  #line 523 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_LOG_XOR) ;  { yyval=yyvsp[-2];  PNC(yyval, yyvsp[0]);  O(yyval, OP_LOG_OR) ;
     break;}      break;}
 case 141:  case 141:
 #line 510 "compile.y"  #line 524 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_LT) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_LOG_XOR) ;
     break;}      break;}
 case 142:  case 142:
 #line 511 "compile.y"  #line 525 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_GT) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_LT) ;
     break;}      break;}
 case 143:  case 143:
 #line 512 "compile.y"  #line 526 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_LE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_GT) ;
     break;}      break;}
 case 144:  case 144:
 #line 513 "compile.y"  #line 527 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_GE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_LE) ;
     break;}      break;}
 case 145:  case 145:
 #line 514 "compile.y"  #line 528 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_EQ) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_GE) ;
     break;}      break;}
 case 146:  case 146:
 #line 515 "compile.y"  #line 529 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_NE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_EQ) ;
     break;}      break;}
 case 147:  case 147:
 #line 516 "compile.y"  #line 530 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_LT) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_NUM_NE) ;
     break;}      break;}
 case 148:  case 148:
 #line 517 "compile.y"  #line 531 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_GT) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_LT) ;
     break;}      break;}
 case 149:  case 149:
 #line 518 "compile.y"  #line 532 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_LE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_GT) ;
     break;}      break;}
 case 150:  case 150:
 #line 519 "compile.y"  #line 533 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_GE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_LE) ;
     break;}      break;}
 case 151:  case 151:
 #line 520 "compile.y"  #line 534 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_EQ) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_GE) ;
     break;}      break;}
 case 152:  case 152:
 #line 521 "compile.y"  #line 535 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_NE) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_EQ) ;
     break;}      break;}
 case 153:  case 153:
 #line 522 "compile.y"  #line 536 "compile.y"
 { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_IS) ;  { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_STR_NE) ;
     break;}      break;}
 case 154:  case 154:
 #line 525 "compile.y"  #line 537 "compile.y"
   { yyval=yyvsp[-2];  P(yyval, yyvsp[0]);  O(yyval, OP_IS) ;
       break;}
   case 155:
   #line 540 "compile.y"
 {  {
         yyval=N(POOL);          yyval=N(POOL);
         O(yyval, OP_CREATE_SWPOOL); /* stack: empty write context */          O(yyval, OP_CREATE_SWPOOL); /* stack: empty write context */
Line 1580  case 154: Line 1600  case 154:
         O(yyval, OP_REDUCE_SWPOOL); /* context=pop; stack: context.get_string() */          O(yyval, OP_REDUCE_SWPOOL); /* context=pop; stack: context.get_string() */
 ;  ;
     break;}      break;}
 case 155:  case 156:
 #line 534 "compile.y"  #line 549 "compile.y"
 {  {
         // optimized from OP_STRING+OP_WRITE_VALUE to OP_STRING__WRITE          // optimized from OP_STRING+OP_WRITE_VALUE to OP_STRING__WRITE
         change_string_literal_to_write_string_literal(yyval=yyvsp[0])          change_string_literal_to_write_string_literal(yyval=yyvsp[0])
 ;  ;
     break;}      break;}
 case 156:  case 157:
 #line 539 "compile.y"  #line 554 "compile.y"
 { yyval=VL(NEW VVoid(POOL)) ;  { yyval=VL(NEW VVoid(POOL)) ;
     break;}      break;}
 case 157:  case 158:
 #line 540 "compile.y"  #line 555 "compile.y"
 { yyval=N(POOL) ;  { yyval=N(POOL) ;
     break;}      break;}
 }  }
Line 1817  yyerrhandle: Line 1837  yyerrhandle:
     }      }
   return 1;    return 1;
 }  }
 #line 542 "compile.y"  #line 557 "compile.y"
   
 #endif  #endif
   
Line 1838  yyerrhandle: Line 1858  yyerrhandle:
 */  */
   
 static int yylex(YYSTYPE *lvalp, void *pc) {  static int yylex(YYSTYPE *lvalp, void *pc) {
         #define lexical_brackets_nestage PC.brackets_nestages[PC.sp]          #define lexical_brackets_nestage PC.brackets_nestages[PC.ls_sp]
         #define RC {result=c; goto break2; }          #define RC {result=c; goto break2; }
   
     register int c;      register int c;
Line 1865  static int yylex(YYSTYPE *lvalp, void *p Line 1885  static int yylex(YYSTYPE *lvalp, void *p
                         PC.col++;                          PC.col++;
   
                 if(c=='@' && PC.col==0+1) {                  if(c=='@' && PC.col==0+1) {
                           if(PC.ls==LS_DEF_SPECIAL_BODY) {
                                   // @SPECIAL
                                   // ...
                                   // @<here = 
                                   pop_LS(PC); // exiting from LS_DEF_SPECIAL_BODY state
                           } // continuing checks
                         if(PC.ls==LS_USER) {                          if(PC.ls==LS_USER) {
                                 push_LS(PC, LS_DEF_NAME);                                  push_LS(PC, LS_DEF_NAME);
                                 RC;                                  RC;
                         } else // @ in first column inside some code                          } else // @ in first column inside some code [when could that be?]
                                 result=BAD_METHOD_DECL_START;                                  result=BAD_METHOD_DECL_START;
                         goto break2;                          goto break2;
                 } else if(c=='^')                  } else if(c=='^')
Line 1948  default: Line 1974  default:
                         }                          }
                         // fall into COMMENT lexical state [wait for \n]                          // fall into COMMENT lexical state [wait for \n]
                         push_LS(PC, LS_COMMENT);                          push_LS(PC, LS_COMMENT);
                           continue;
                 }                  }
                 switch(PC.ls) {                  switch(PC.ls) {
   
Line 2065  default: Line 2092  default:
                         break;                          break;
   
                 case LS_DEF_SPECIAL_BODY:                  case LS_DEF_SPECIAL_BODY:
                         //                          @todo in case                          if(c=='\n')
                         // ################  
                         // @next-method  
                         // we are here with c=='@'  
                         // which is wrong, and need action  
                         if(c=='\n') {  
                                 switch(*PC.source) {  
                                 case '@': case 0: // end of special_code  
                                         pop_LS(PC);  
                                         break;  
                                 }  
                                 RC;                                  RC;
                         }  
                         break;                          break;
   
                 // (EXPRESSION)                  // (EXPRESSION)
Line 2115  default: Line 2131  default:
                                         goto break2;                                          goto break2;
                                 }                                  }
                                 goto break2;                                  goto break2;
                         case '+': case '*': case '/': case '%':                           case '+': case '*': case '/': case '%': case '\\':
                         case '~':                          case '~':
                         case ';':                          case ';':
                                 RC;                                  RC;

Removed from v.1.23  
changed lines
  Added in v.1.35


E-mail: