Mut_Tab.cpp
gehe zur Dokumentation dieser Datei
00001 
00002 /*  A Bison parser, made from mut.y  */
00003 
00004 #define IDENTIFIER      258
00005 #define F_NUMBER        259
00006 #define INTEGER 260
00007 #define INTERVALL       261
00008 #define WURZEL  262
00009 #define TON     263
00010 #define ton_system      264
00011 #define UMSTIMMUNG      265
00012 #define HARMONIE        266
00013 #define LOGIK   267
00014 #define FORM    268
00015 #define INSTRUMENT      269
00016 #define TASTE   270
00017 #define MIDI_IN 271
00018 #define MIDI_OUT        272
00019 #define ANSONSTEN       273
00020 
00021 #line 3 "mut.y"
00022 
00023 
00024 /* BEGIN MUT_TAB.C */
00025 
00026 /* MUTABOR / Version 2.1 */
00027 
00028 //#pragma warn -cln
00029 //#pragma warn -aus
00030 //#pragma warn -sig
00031 //#pragma warn -par
00032 
00033 #include <ctype.h>
00034 #include <alloca.h>
00035 #include <limits.h>
00036 #include "Global.h"
00037 #include "GrafKern.h"
00038 #include "Hilfs.h"
00039 
00040 #define MAX_IDENTIFIER_LEN 80
00041 
00042 #define FEHLERZEILE yylloc.first_line+1
00043 
00044 
00045 #define alloca xmalloc
00046 #define YYMAXLIMIT (HEAP_PORTION_SYNTAX / sizeof(YYLTYPE) - 1)
00047                    /* wegen fehlendem alloca in PUREC */
00048 
00049 
00050 #line 30 "mut.y"
00051 typedef union {
00052     double      f_value;        /* fr Gleitkommazahlen */
00053     int         integer;        /* Fr integers */
00054     char        *identifier;    /* Fr Namen */
00055 } YYSTYPE;
00056 
00057 #ifndef YYLTYPE
00058 typedef
00059   struct yyltype
00060     {
00061       int timestamp;
00062       int first_line;
00063       int first_column;
00064       int last_line;
00065       int last_column;
00066       char *text;
00067    }
00068   yyltype;
00069 
00070 #define YYLTYPE yyltype
00071 #endif
00072 
00073 #include <stdio.h>
00074 
00075 #ifndef __STDC__
00076 #define const
00077 #endif
00078 
00079 
00080 
00081 #define YYFINAL         376
00082 #define YYFLAG          -32768
00083 #define YYNTBASE        37
00084 
00085 #define YYTRANSLATE(x) ((unsigned)(x) <= 273 ? yytranslate[x] : 134)
00086 
00087 static const char yytranslate[] = {     0,
00088      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00089      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00090      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00091      2,     2,     2,     2,     2,     2,     2,     2,     2,    27,
00092     28,    32,    22,    26,    21,    35,    23,     2,     2,     2,
00093      2,     2,     2,     2,     2,     2,     2,    20,     2,    30,
00094     19,    31,     2,    29,     2,     2,     2,     2,     2,     2,
00095      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00096      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00097     24,     2,    25,     2,     2,     2,     2,     2,     2,     2,
00098      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00099      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00100      2,     2,    33,     2,    34,    36,     2,     2,     2,     2,
00101      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00102      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00103      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00104      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00105      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00106      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00107      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00108      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00109      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00110      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00111      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00112      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00113      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
00114      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
00115     16,    17,    18
00116 };
00117 
00118 static const short yyrline[] = {     0,
00119     61,    62,    63,    64,    65,    66,    67,    68,    69,    72,
00120     75,    77,    80,    82,    84,    91,   100,   102,   103,   106,
00121    109,   111,   114,   116,   118,   122,   126,   130,   134,   137,
00122    142,   144,   146,   150,   153,   156,   159,   165,   171,   177,
00123    197,   206,   209,   215,   240,   243,   245,   248,   250,   252,
00124    256,   257,   259,   263,   263,   265,   267,   268,   271,   273,
00125    275,   279,   281,   282,   285,   288,   289,   294,   297,   299,
00126    302,   306,   308,   309,   313,   316,   319,   321,   322,   323,
00127    324,   325,   326,   327,   328,   329,   330,   334,   337,   341,
00128    344,   346,   348,   352,   355,   359,   362,   364,   366,   368,
00129    370,   372,   374,   378,   381,   388,   390,   392,   395,   398,
00130    400,   403,   408,   412,   414,   416,   418,   419,   421,   422,
00131    424,   425,   427,   431,   434,   435,   436,   440,   443,   444,
00132    446,   449,   451,   455,   457,   460,   463,   464,   466,   468,
00133    472,   474,   476,   477,   481,   483,   486,   490,   491,   494,
00134    495,   498,   501,   504,   509,   513,   515,   518,   521,   524,
00135    527,   529,   532,   534,   537,   539,   542,   546,   548,   551,
00136    554,   558,   560,   563,   567,   569,   573,   575,   577,   580,
00137    583,   586,   588,   590,   594,   596,   597,   598,   599,   600,
00138    604,   607,   609,   613,   617,   619,   622,   625,   627,   629,
00139    631,   635,   637
00140 };
00141 
00142 static const char * const yytname[] = {     0,
00143 "error","$illegal.","IDENTIFIER","F_NUMBER","INTEGER","INTERVALL","WURZEL","TON","ton_system","UMSTIMMUNG",
00144 "HARMONIE","LOGIK","FORM","INSTRUMENT","TASTE","MIDI_IN","MIDI_OUT","ANSONSTEN","'='","':'",
00145 "'-'","'+'","'/'","'['","']'","','","'('","')'","'@'","'<'",
00146 "'>'","'*'","'{'","'}'","'.'","'~'","start"
00147 };
00148 
00149 static const short yyr1[] = {     0,
00150     37,    37,    37,    37,    37,    37,    37,    37,    37,    38,
00151     39,    39,    41,    40,    42,    42,    42,    42,    42,    43,
00152     44,    44,    46,    45,    47,    47,    47,    47,    47,    48,
00153     49,    49,    50,    50,    50,    50,    50,    50,    50,    50,
00154     51,    51,    51,    51,    52,    53,    53,    55,    54,    57,
00155     56,    58,    56,    59,    59,    60,    60,    60,    61,    61,
00156     61,    62,    62,    62,    63,    63,    63,    64,    65,    65,
00157     67,    68,    66,    69,    70,    66,    71,    71,    71,    71,
00158     71,    71,    71,    71,    71,    71,    71,    72,    72,    73,
00159     73,    73,    73,    74,    74,    75,    75,    75,    75,    75,
00160     75,    75,    75,    77,    76,    78,    78,    79,    78,    80,
00161     80,    81,    81,    82,    82,    83,    82,    84,    82,    85,
00162     82,    86,    82,    88,    87,    89,    87,    91,    90,    92,
00163     90,    94,    93,    95,    95,    96,    97,    96,    98,    96,
00164    100,    99,   101,    99,   102,   102,   104,   103,   105,   103,
00165    106,   103,   108,   107,   109,   110,   110,   112,   111,   111,
00166    113,   113,   114,   114,   115,   115,   116,   117,   118,   117,
00167    120,   119,   121,   119,   122,   122,   124,   123,   125,   123,
00168    126,   126,   126,   126,   127,   127,   127,   127,   128,   127,
00169    129,   129,   129,   130,   131,   131,   132,   132,   132,   132,
00170    132,   133,   133
00171 };
00172 
00173 static const short yyr2[] = {     0,
00174      0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
00175      0,     2,     0,     2,     5,     5,     3,     3,     2,     2,
00176      0,     2,     0,     2,     3,     5,     3,     5,     3,     2,
00177      0,     2,     2,     2,     3,     3,     4,     4,     5,     5,
00178      1,     2,     3,     4,     2,     0,     2,     0,     2,     0,
00179      8,     0,     9,     1,     3,     1,     0,     1,     1,     3,
00180      1,     1,     3,     1,     1,     1,     2,     2,     0,     2,
00181      0,     0,     5,     0,     0,     8,     1,     1,     1,     1,
00182      1,     1,     1,     1,     1,     1,     1,     3,     3,     5,
00183      5,     5,     5,     7,     7,     9,     9,     9,     9,     9,
00184      9,     9,     9,     0,     4,     1,     3,     0,     3,     1,
00185      3,     0,     1,     1,     1,     0,     4,     0,     4,     0,
00186      4,     0,     4,     0,     4,     0,     5,     0,     6,     0,
00187      6,     0,     4,     1,     3,     1,     0,     5,     0,     5,
00188      0,     5,     0,     5,     1,     2,     0,     5,     0,     6,
00189      0,     5,     0,     5,     2,     0,     2,     0,     7,     3,
00190      0,     2,     1,     3,     1,     2,     2,     0,     0,     3,
00191      0,     7,     0,     8,     0,     2,     0,     7,     0,     5,
00192      5,     3,     3,     1,     1,     1,     2,     2,     0,     5,
00193      1,     3,     1,     2,     0,     2,     4,     6,     6,     7,
00194      9,     1,     1
00195 };
00196 
00197 static const short yydefact[] = {     1,
00198      0,     9,    11,    21,    46,    69,   156,   168,   195,     2,
00199      3,     4,     5,     6,     7,     8,    10,    20,    45,    68,
00200    155,   167,   194,    12,     0,    22,     0,    47,     0,    71,
00201     70,     0,   157,     0,     0,   196,     0,    14,     0,    24,
00202      0,    49,     0,     0,     0,     0,   170,     0,    19,     0,
00203      0,     0,    72,     0,   160,   158,   184,     0,     0,     0,
00204      0,   185,   186,     0,     0,    18,    41,   202,   203,     0,
00205     17,    31,     0,    29,    27,    25,     0,     0,    61,    59,
00206      0,     0,     0,     0,   187,   188,   189,     0,   197,     0,
00207      0,    30,    42,     0,     0,     0,     0,     0,     0,    87,
00208      0,     0,     0,   104,     0,   132,    73,    77,    78,    79,
00209     80,    81,    82,    83,    84,    85,    86,     0,     0,   165,
00210      0,     0,   163,   182,   183,     0,     0,   171,     0,     0,
00211      0,    43,     0,     0,    32,    16,    15,     0,    26,     0,
00212     28,    58,    56,     0,    54,     0,   143,     0,   141,   153,
00213    124,     0,     0,     0,     0,     0,    60,    75,   166,     0,
00214    161,     0,   193,   191,     0,   173,   175,   198,     0,   199,
00215     34,     0,     0,    33,     0,     0,    44,    50,     0,    89,
00216      0,    88,     0,     0,     0,     0,     0,     0,   114,   108,
00217    115,     0,   106,     0,     0,     0,     0,   136,     0,     0,
00218    134,     0,   164,     0,   159,   181,     0,   190,   175,     0,
00219      0,   200,     0,    36,     0,     0,    35,     0,     0,     0,
00220     55,     0,     0,     0,     0,   145,     0,     0,   130,   128,
00221    125,     0,     0,     0,     0,   120,   116,   112,   122,   118,
00222    105,   112,     0,     0,     0,     0,   137,   139,     0,   133,
00223     76,   162,   192,     0,   172,   176,     0,     0,    38,     0,
00224     37,     0,    51,     0,     0,     0,     0,   144,   146,   142,
00225    154,     0,     0,   127,     0,     0,     0,     0,     0,     0,
00226      0,     0,   109,   110,   113,     0,     0,   107,    93,    92,
00227     91,    90,     0,     0,   135,   174,     0,   201,    40,    39,
00228     53,   147,   151,     0,   131,   129,     0,     0,     0,     0,
00229      0,     0,     0,     0,     0,     0,   121,   117,   112,   123,
00230    119,    64,    65,    66,     0,     0,    62,     0,   179,     0,
00231      0,   149,    95,    94,     0,     0,     0,     0,     0,     0,
00232      0,     0,   111,    67,     0,   138,   140,   177,     0,   148,
00233    152,     0,     0,     0,     0,     0,     0,     0,     0,     0,
00234     63,     0,   180,   150,    99,    98,    97,    96,   103,   102,
00235    101,   100,     0,   178,     0,     0
00236 };
00237 
00238 static const short yydefgoto[] = {     1,
00239     10,    17,    24,    25,    38,    11,    18,    26,    27,    40,
00240     71,    92,   135,    72,    12,    19,    28,    29,    42,   219,
00241    220,   144,   145,    81,   326,   327,    13,    20,    31,    43,
00242     78,    44,   202,   107,   108,   109,   110,   111,   112,   153,
00243    192,   238,   283,   284,   285,   282,   287,   281,   286,   113,
00244    186,   187,   114,   273,   272,   115,   156,   200,   201,   293,
00245    294,   116,   183,   181,   225,   226,   330,   352,   331,   117,
00246    184,    14,    21,    33,    82,   205,   122,   123,    15,    22,
00247     34,    47,   167,   209,   210,   256,   362,   349,    63,   257,
00248    126,   165,    16,    23,    36,   140
00249 };
00250 
00251 static const short yypact[] = {-32768,
00252    138,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00253 -32768,-32768,-32768,-32768,-32768,-32768,    13,    95,   111,   133,
00254    163,   166,   177,-32768,   197,-32768,   201,-32768,   206,   160,
00255 -32768,   191,-32768,   216,   199,-32768,    66,-32768,   202,-32768,
00256    203,-32768,   204,   200,     6,   127,-32768,   193,-32768,    72,
00257    115,   220,-32768,    56,-32768,-32768,   195,   205,   153,   223,
00258    207,-32768,-32768,   209,    83,-32768,-32768,-32768,-32768,   198,
00259 -32768,-32768,    76,-32768,   184,-32768,   208,     5,-32768,-32768,
00260    134,     4,   224,   227,-32768,-32768,-32768,    11,   113,   228,
00261    232,   186,-32768,   198,   198,   198,    77,    77,    29,-32768,
00262     -7,    37,   210,   -12,   190,-32768,-32768,-32768,-32768,-32768,
00263 -32768,-32768,-32768,-32768,-32768,-32768,-32768,   233,   219,-32768,
00264    234,    89,-32768,-32768,   211,    92,   218,-32768,   235,   238,
00265    221,-32768,    87,    98,-32768,-32768,-32768,   241,-32768,    18,
00266 -32768,-32768,-32768,   148,-32768,   225,-32768,   226,-32768,-32768,
00267    112,   215,    16,   158,   167,   114,-32768,-32768,-32768,     4,
00268    213,   244,-32768,-32768,   151,-32768,-32768,   229,   230,-32768,
00269 -32768,   198,    61,-32768,   198,    71,-32768,   231,    29,-32768,
00270    108,-32768,   108,    92,   192,    77,   236,    22,   194,-32768,
00271    196,   237,   239,   240,   242,   243,   245,   246,   247,   125,
00272 -32768,     5,-32768,   249,-32768,-32768,   251,-32768,-32768,    47,
00273    253,-32768,   256,-32768,   198,   257,-32768,   198,    77,   250,
00274 -32768,   254,   255,   258,    10,-32768,    19,   152,-32768,-32768,
00275 -32768,    77,   248,   252,   132,-32768,-32768,    17,-32768,-32768,
00276 -32768,    17,   259,   260,   261,   262,-32768,-32768,   114,-32768,
00277 -32768,-32768,-32768,    53,-32768,-32768,   267,   264,-32768,   265,
00278 -32768,   269,-32768,    77,   263,   266,   270,-32768,-32768,-32768,
00279 -32768,    77,    77,-32768,   268,   271,   178,   183,   188,   189,
00280     77,    77,   272,-32768,-32768,    77,    77,   272,-32768,-32768,
00281 -32768,-32768,   103,    92,-32768,-32768,   273,-32768,-32768,-32768,
00282 -32768,-32768,-32768,   274,-32768,-32768,   275,   276,   277,   278,
00283    279,   280,   281,   282,   283,   284,-32768,-32768,    17,-32768,
00284 -32768,-32768,-32768,-32768,   285,   169,-32768,   170,   286,   114,
00285    114,-32768,-32768,-32768,   287,   289,   290,   291,   292,   293,
00286    294,   295,-32768,-32768,   106,-32768,-32768,-32768,   114,   301,
00287    301,   114,   303,   304,   305,   306,   307,   308,   309,   310,
00288 -32768,   114,-32768,   301,-32768,-32768,-32768,-32768,-32768,-32768,
00289 -32768,-32768,   131,-32768,   296,-32768
00290 };
00291 
00292 static const short yypgoto[] = {-32768,
00293 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00294    -97,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
00295 -32768,-32768,    82,-32768,-32768,   -75,-32768,-32768,-32768,-32768,
00296 -32768,-32768,-32768,    75,-32768,-32768,-32768,-32768,-32768,-32768,
00297 -32768,-32768,    36,   -39,   128,-32768,-32768,-32768,-32768,-32768,
00298 -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -319,  -244,-32768,
00299 -32768,-32768,-32768,-32768,    99,   -26,-32768,-32768,-32768,-32768,
00300 -32768,-32768,-32768,-32768,-32768,-32768,-32768,   135,-32768,-32768,
00301 -32768,-32768,-32768,-32768,    84,-32768,-32768,-32768,   288,   297,
00302 -32768,  -182,-32768,-32768,-32768,   -47
00303 };
00304 
00305 
00306 #define YYLAST          347
00307 
00308 
00309 static const short yytable[] = {   139,
00310    141,   228,    73,    76,   295,   100,    55,   101,   120,   102,
00311    350,   351,   151,   127,   222,   -13,   146,   152,   189,   189,
00312     93,   103,    91,   222,   233,   147,   234,   223,   104,   142,
00313    224,   143,   364,   105,   128,   121,   223,   106,    56,   224,
00314     96,   190,   373,   268,   191,   191,   136,   137,   138,    57,
00315    235,    58,   270,   -57,   -57,    57,    79,    58,    80,    59,
00316    148,    60,    61,   214,    62,    59,    49,    60,    61,   149,
00317     62,   255,    66,   217,    67,    68,    69,   296,    93,    67,
00318     68,    69,    94,   215,    50,   173,   176,    89,   231,   171,
00319     68,    69,   163,   218,    70,    95,   164,   -23,    96,    70,
00320    174,    68,    69,   322,   363,   323,    90,   324,   323,   172,
00321    324,   328,   222,   -48,   160,    74,   198,    75,    68,    69,
00322    175,   263,   161,   325,   213,   223,   325,   216,   224,    57,
00323    199,    58,  -126,   129,   274,    30,   130,   375,     2,    59,
00324    185,    60,    61,     3,    62,     4,     5,     6,     7,     8,
00325    249,     9,   277,   278,   279,    57,   249,    58,   250,   118,
00326    194,   119,   195,   280,   374,    32,   301,   260,  -169,   196,
00327    262,   197,   178,   179,   305,   306,   207,   207,   208,   271,
00328    309,    35,   310,   317,   318,   311,   -74,   312,   320,   321,
00329    313,   315,   314,   316,   345,   207,   346,   347,   269,    37,
00330    269,    68,    69,    39,    97,    98,   133,   134,    41,    45,
00331    154,   155,   229,   230,   236,   237,   239,   240,    46,    48,
00332     51,    52,    53,    65,    77,    86,    54,    88,   124,   125,
00333     83,    99,   131,    87,   132,   157,   150,   158,   159,   168,
00334     84,   166,   169,   177,   188,   170,   162,   204,   206,   180,
00335    182,   -52,   211,   252,   212,   253,   232,   258,   259,   261,
00336    221,   241,   267,   243,   242,   244,   245,   299,   246,   361,
00337    264,   300,   247,   248,   265,   266,   251,   288,   275,   343,
00338    193,   227,   276,   289,   290,   291,   292,   297,   298,   344,
00339    304,     0,   254,   302,   203,   376,   303,   319,   307,   333,
00340    334,   308,     0,   329,   332,     0,     0,   335,   336,   337,
00341    338,   339,   340,   341,   342,     0,     0,   353,   348,   354,
00342    355,   356,   357,   358,   359,   360,   249,   365,   366,   367,
00343    368,   369,   370,   371,   372,     0,     0,     0,     0,     0,
00344      0,     0,    64,     0,     0,     0,    85
00345 };
00346 
00347 static const short yycheck[] = {    97,
00348     98,   184,    50,    51,   249,     1,     1,     3,     5,     5,
00349    330,   331,    25,     3,     5,     3,    24,    30,     3,     3,
00350      3,    17,    70,     5,     3,    33,     5,    18,    24,     1,
00351     21,     3,   352,    29,    24,    32,    18,    33,    33,    21,
00352     23,    26,   362,    34,    29,    29,    94,    95,    96,     3,
00353     29,     5,    34,    25,    26,     3,     1,     5,     3,    13,
00354     24,    15,    16,     3,    18,    13,     1,    15,    16,    33,
00355     18,    25,     1,     3,     3,     4,     5,    25,     3,     3,
00356      4,     5,     7,    23,    19,   133,   134,     5,   186,     3,
00357      4,     5,     1,    23,    23,    20,     5,     3,    23,    23,
00358      3,     4,     5,     1,   349,     3,    24,     5,     3,    23,
00359      5,   294,     5,     3,    26,     1,     3,     3,     4,     5,
00360     23,   219,    34,    21,   172,    18,    21,   175,    21,     3,
00361     17,     5,    21,    21,   232,     3,    24,     0,     1,    13,
00362     29,    15,    16,     6,    18,     8,     9,    10,    11,    12,
00363     26,    14,    21,    22,    23,     3,    26,     5,    34,    26,
00364      3,    28,     5,    32,    34,     3,   264,   215,     3,     3,
00365    218,     5,    25,    26,   272,   273,    26,    26,    28,    28,
00366      3,     5,     5,   281,   282,     3,    27,     5,   286,   287,
00367      3,     3,     5,     5,    26,    26,    28,    28,   225,     3,
00368    227,     4,     5,     3,    21,    22,    21,    22,     3,    19,
00369     21,    22,    21,    22,    21,    22,    21,    22,     3,    21,
00370     19,    19,    19,    31,     5,     3,    27,    19,     5,     3,
00371     36,    24,     5,    27,     3,     3,    27,    19,     5,     5,
00372     36,    24,     5,     3,    30,    25,    36,    35,     5,    25,
00373     25,    21,    24,     5,    25,     5,    21,     5,     3,     3,
00374    179,    25,     5,    24,    26,    24,    24,     3,    24,   345,
00375     21,     3,    27,    27,    21,    21,   202,   242,    31,   319,
00376    153,   183,    31,    25,    25,    25,    25,    21,    25,     5,
00377     21,    -1,   209,    31,   160,     0,    31,    26,    31,    25,
00378     25,    31,    -1,    31,    31,    -1,    -1,    31,    31,    31,
00379     31,    31,    31,    31,    31,    -1,    -1,    31,    33,    31,
00380     31,    31,    31,    31,    31,    31,    26,    25,    25,    25,
00381     25,    25,    25,    25,    25,    -1,    -1,    -1,    -1,    -1,
00382     -1,    -1,    46,    -1,    -1,    -1,    59
00383 };
00384 #define YYPURE 1
00385 
00386 /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
00387 #line 3 "bison.simple"
00388 
00389 /* Skeleton output parser for bison,
00390    Copyright (C) 1984 Bob Corbett and Richard Stallman
00391 
00392    This program is free software; you can redistribute it and/or modify
00393    it under the terms of the GNU General Public License as published by
00394    the Free Software Foundation; either version 1, or (at your option)
00395    any later version.
00396 
00397    This program is distributed in the hope that it will be useful,
00398    but WITHOUT ANY WARRANTY; without even the implied warranty of
00399    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00400    GNU General Public License for more details.
00401 
00402    You should have received a copy of the GNU General Public License
00403    along with this program; if not, write to the Free Software
00404    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
00405 
00406 
00407 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
00408 #include <alloca.h>
00409 #endif
00410 
00411 /* This is the parser code that is written into each bison parser
00412   when the %semantic_parser declaration is not specified in the grammar.
00413   It was written by Richard Stallman by simplifying the hairy parser
00414   used when %semantic_parser is specified.  */
00415 
00416 /* Note: there must be only one dollar sign in this file.
00417    It is replaced by the list of actions, each action
00418    as one case of the switch.  */
00419 
00420 #define yyerrok         (yyerrstatus = 0)
00421 #define yyclearin       (yychar = YYEMPTY)
00422 #define YYEMPTY         -2
00423 #define YYEOF           0
00424 #define YYFAIL          goto yyerrlab;
00425 #define YYACCEPT        return(0)
00426 #define YYABORT         return(1)
00427 #define YYERROR         goto yyerrlab
00428 
00429 #define YYTERROR        1
00430 #define YYERRCODE       256
00431 
00432 #ifndef YYIMPURE
00433 #define YYLEX           yylex()
00434 #endif
00435 
00436 #ifndef YYPURE
00437 #define YYLEX           yylex(&yylval, &yylloc)
00438 #endif
00439 
00440 /* If nonreentrant, generate the variables here */
00441 
00442 #ifndef YYIMPURE
00443 
00444 int     yychar;                 /*  the lookahead symbol                */
00445 YYSTYPE yylval;                 /*  the semantic value of the           */
00446                                 /*  lookahead symbol                    */
00447 
00448 YYLTYPE yylloc;                 /*  location data for the lookahead     */
00449                                 /*  symbol                              */
00450 
00451 int yynerrs;                    /*  number of parse errors so far       */
00452 #endif  /* YYIMPURE */
00453 
00454 #if YYDEBUG != 0
00455 int yydebug;                    /*  nonzero means print parse trace     */
00456 /* Since this is uninitialized, it does not stop multiple parsers
00457    from coexisting.  */
00458 #endif
00459 
00460 /*  YYMAXDEPTH indicates the initial size of the parser's stacks        */
00461 
00462 #ifndef YYMAXDEPTH
00463 #define YYMAXDEPTH 200
00464 #endif
00465 
00466 /*  YYMAXLIMIT is the maximum size the stacks can grow to
00467     (effective only if the built-in stack extension method is used).  */
00468 
00469 #ifndef YYMAXLIMIT
00470 #define YYMAXLIMIT 10000
00471 #endif
00472 
00473 
00474 #line 90 "bison.simple"
00475 int
00476 yyparse()
00477 {
00478   register int yystate;
00479   register int yyn;
00480   register short *yyssp;
00481   register YYSTYPE *yyvsp;
00482   YYLTYPE *yylsp;
00483   int yyerrstatus;      /*  number of tokens to shift before error messages enabled */
00484   int yychar1;          /*  lookahead token as an internal (translated) token number */
00485 
00486   short yyssa[YYMAXDEPTH];      /*  the state stack                     */
00487   YYSTYPE yyvsa[YYMAXDEPTH];    /*  the semantic value stack            */
00488   YYLTYPE yylsa[YYMAXDEPTH];    /*  the location stack                  */
00489 
00490   short *yyss = yyssa;          /*  refer to the stacks thru separate pointers */
00491   YYSTYPE *yyvs = yyvsa;        /*  to allow yyoverflow to reallocate them elsewhere */
00492   YYLTYPE *yyls = yylsa;
00493 
00494   int yymaxdepth = YYMAXDEPTH;
00495 
00496 #ifndef YYPURE
00497   int yychar;
00498   YYSTYPE yylval;
00499   YYLTYPE yylloc;
00500   int yynerrs;
00501 #endif
00502 
00503   YYSTYPE yyval;                /*  the variable used to return         */
00504                                 /*  semantic values from the action     */
00505                                 /*  routines                            */
00506 
00507   int yylen;
00508 
00509 #if YYDEBUG != 0
00510   if (yydebug)
00511     fprintf(stderr, "Starting parse\n");
00512 #endif
00513 
00514   yystate = 0;
00515   yyerrstatus = 0;
00516   yynerrs = 0;
00517   yychar = YYEMPTY;             /* Cause a token to be read.  */
00518 
00519   /* Initialize stack pointers.
00520      Waste one element of value and location stack
00521      so that they stay on the same level as the state stack.  */
00522 
00523   yyssp = yyss - 1;
00524   yyvsp = yyvs;
00525   yylsp = yyls;
00526 
00527 /* Push a new state, which is found in  yystate  .  */
00528 /* In all cases, when you get here, the value and location stacks
00529    have just been pushed. so pushing a state here evens the stacks.  */
00530 yynewstate:
00531 
00532   *++yyssp = yystate;
00533 
00534   if (yyssp >= yyss + yymaxdepth - 1)
00535     {
00536       /* Give user a chance to reallocate the stack */
00537       /* Use copies of these so that the &'s don't force the real ones into memory. */
00538       YYSTYPE *yyvs1 = yyvs;
00539       YYLTYPE *yyls1 = yyls;
00540       short *yyss1 = yyss;
00541 
00542       /* Get the current used size of the three stacks, in elements.  */
00543       int size = yyssp - yyss + 1;
00544 
00545 #ifdef yyoverflow
00546       /* Each stack pointer address is followed by the size of
00547          the data in use in that stack, in bytes.  */
00548       yyoverflow("parser stack overflow",
00549                  &yyss1, size * sizeof (*yyssp),
00550                  &yyvs1, size * sizeof (*yyvsp),
00551                  &yyls1, size * sizeof (*yylsp),
00552                  &yymaxdepth);
00553 
00554       yyss = yyss1; yyvs = yyvs1; yyls = yyls1;
00555 #else /* no yyoverflow */
00556       /* Extend the stack our own way.  */
00557       if (yymaxdepth >= YYMAXLIMIT)
00558         yyerror("parser stack overflow");
00559       yymaxdepth *= 2;
00560       if (yymaxdepth > YYMAXLIMIT)
00561         yymaxdepth = YYMAXLIMIT;
00562       yyss = (short *) alloca (yymaxdepth * sizeof (*yyssp));
00563       bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
00564       yyvs = (YYSTYPE *) alloca (yymaxdepth * sizeof (*yyvsp));
00565       bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
00566 #ifdef YYLSP_NEEDED
00567       yyls = (YYLTYPE *) alloca (yymaxdepth * sizeof (*yylsp));
00568       bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
00569 #endif
00570 #endif /* no yyoverflow */
00571 
00572       yyssp = yyss + size - 1;
00573       yyvsp = yyvs + size - 1;
00574 #ifdef YYLSP_NEEDED
00575       yylsp = yyls + size - 1;
00576 #endif
00577 
00578 #if YYDEBUG != 0
00579       if (yydebug)
00580         fprintf(stderr, "Stack size increased to %d\n", yymaxdepth);
00581 #endif
00582 
00583       if (yyssp >= yyss + yymaxdepth - 1)
00584         YYABORT;
00585     }
00586 
00587 #if YYDEBUG != 0
00588   if (yydebug)
00589     fprintf(stderr, "Entering state %d\n", yystate);
00590 #endif
00591 
00592 /* Do appropriate processing given the current state.  */
00593 /* Read a lookahead token if we need one and don't already have one.  */
00594 yyresume:
00595 
00596   /* First try to decide what to do without reference to lookahead token.  */
00597 
00598   yyn = yypact[yystate];
00599   if (yyn == YYFLAG)
00600     goto yydefault;
00601 
00602   /* Not known => get a lookahead token if don't already have one.  */
00603 
00604   /* yychar is either YYEMPTY or YYEOF
00605      or a valid token in external form.  */
00606 
00607   if (yychar == YYEMPTY)
00608     {
00609 #if YYDEBUG != 0
00610       if (yydebug)
00611         fprintf(stderr, "Reading a token: ");
00612 #endif
00613       yychar = YYLEX;
00614     }
00615 
00616   /* Convert token to internal form (in yychar1) for indexing tables with */
00617 
00618   if (yychar <= 0)              /* This means end of input. */
00619     {
00620       yychar1 = 0;
00621       yychar = YYEOF;           /* Don't call YYLEX any more */
00622 
00623 #if YYDEBUG != 0
00624       if (yydebug)
00625         fprintf(stderr, "Now at end of input.\n");
00626 #endif
00627     }
00628   else
00629     {
00630       yychar1 = YYTRANSLATE(yychar);
00631 
00632 #if YYDEBUG != 0
00633       if (yydebug)
00634         fprintf(stderr, "Next token is %d (%s)\n", yychar, yytname[yychar1]);
00635 #endif
00636     }
00637 
00638   yyn += yychar1;
00639   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
00640     goto yydefault;
00641 
00642   yyn = yytable[yyn];
00643 
00644   /* yyn is what to do for this token type in this state.
00645      Negative => reduce, -yyn is rule number.
00646      Positive => shift, yyn is new state.
00647        New state is final state => don't bother to shift,
00648        just return success.
00649      0, or most negative number => error.  */
00650 
00651   if (yyn < 0)
00652     {
00653       if (yyn == YYFLAG)
00654         goto yyerrlab;
00655       yyn = -yyn;
00656       goto yyreduce;
00657     }
00658   else if (yyn == 0)
00659     goto yyerrlab;
00660 
00661   if (yyn == YYFINAL)
00662     YYACCEPT;
00663 
00664   /* Shift the lookahead token.  */
00665 
00666 #if YYDEBUG != 0
00667   if (yydebug)
00668     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
00669 #endif
00670 
00671   /* Discard the token being shifted unless it is eof.  */
00672   if (yychar != YYEOF)
00673     yychar = YYEMPTY;
00674 
00675   *++yyvsp = yylval;
00676 #ifdef YYLSP_NEEDED
00677   *++yylsp = yylloc;
00678 #endif
00679 
00680   /* count tokens shifted since error; after three, turn off error status.  */
00681   if (yyerrstatus) yyerrstatus--;
00682 
00683   yystate = yyn;
00684   goto yynewstate;
00685 
00686 /* Do the default action for the current state.  */
00687 yydefault:
00688 
00689   yyn = yydefact[yystate];
00690   if (yyn == 0)
00691     goto yyerrlab;
00692 
00693 /* Do a reduction.  yyn is the number of a rule to reduce with.  */
00694 yyreduce:
00695   yylen = yyr2[yyn];
00696   yyval = yyvsp[1-yylen]; /* implement default value of the action */
00697 
00698 #if YYDEBUG != 0
00699   if (yydebug)
00700     {
00701       if (yylen == 1)
00702         fprintf (stderr, "Reducing 1 value via line %d, ",
00703                  yyrline[yyn]);
00704       else
00705         fprintf (stderr, "Reducing %d values via line %d, ",
00706                  yylen, yyrline[yyn]);
00707     }
00708 #endif
00709 
00710 
00711   switch (yyn) {
00712 
00713 case 9:
00714 #line 69 "mut.y"
00715 { fatal_error(1,FEHLERZEILE); ;
00716     break;}
00717 case 13:
00718 #line 81 "mut.y"
00719 { init_komplex_ton_list (); ;
00720     break;}
00721 case 15:
00722 #line 86 "mut.y"
00723 { if ( fabs(yyvsp[0].f_value) > 0.001 )
00724                          get_new_intervall (yyvsp[-4].identifier, yyvsp[-2].f_value / yyvsp[0].f_value);
00725                       else
00726                          fatal_error (46, yyvsp[-4].identifier ); ;
00727     break;}
00728 case 16:
00729 #line 92 "mut.y"
00730 { if ( fabs (yyvsp[-2].f_value) > 0.001 )
00731                           get_new_intervall (yyvsp[-4].identifier, pow (yyvsp[0].f_value, 1 / yyvsp[-2].f_value));
00732                       else
00733                          fatal_error (46, yyvsp[-4].identifier); ;
00734     break;}
00735 case 17:
00736 #line 101 "mut.y"
00737 { get_new_intervall_komplex (yyvsp[-2].identifier); ;
00738     break;}
00739 case 18:
00740 #line 102 "mut.y"
00741 { fatal_error(71,yyvsp[-2].identifier); ;
00742     break;}
00743 case 19:
00744 #line 103 "mut.y"
00745 { fatal_error(70,"'='",FEHLERZEILE); ;
00746     break;}
00747 case 23:
00748 #line 115 "mut.y"
00749 { init_komplex_ton_list (); ;
00750     break;}
00751 case 25:
00752 #line 120 "mut.y"
00753 { get_new_ton_absolut (yyvsp[-2].identifier, yyvsp[0].f_value); ;
00754     break;}
00755 case 26:
00756 #line 124 "mut.y"
00757 { get_new_ton_komplex_negative (yyvsp[-4].identifier, yyvsp[-2].identifier); ;
00758     break;}
00759 case 27:
00760 #line 128 "mut.y"
00761 { get_new_ton_komplex_positive (yyvsp[-2].identifier, yyvsp[0].identifier); ;
00762     break;}
00763 case 28:
00764 #line 132 "mut.y"
00765 { get_new_ton_komplex_positive (yyvsp[-4].identifier, yyvsp[-2].identifier); ;
00766     break;}
00767 case 29:
00768 #line 134 "mut.y"
00769 { fatal_error( 72, yyvsp[-2].identifier ); ;
00770     break;}
00771 case 33:
00772 #line 148 "mut.y"
00773 { get_new_faktor_anteil ( (double) 1, yyvsp[0].identifier); ;
00774     break;}
00775 case 34:
00776 #line 151 "mut.y"
00777 { get_new_faktor_anteil ( (double) -1, yyvsp[0].identifier); ;
00778     break;}
00779 case 35:
00780 #line 154 "mut.y"
00781 { get_new_faktor_anteil ( yyvsp[-1].f_value, yyvsp[0].identifier); ;
00782     break;}
00783 case 36:
00784 #line 157 "mut.y"
00785 { get_new_faktor_anteil ( -(yyvsp[-1].f_value), yyvsp[0].identifier); ;
00786     break;}
00787 case 37:
00788 #line 160 "mut.y"
00789 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00790                        get_new_faktor_anteil ( (double) 1 / (yyvsp[-1].f_value), yyvsp[0].identifier);
00791                      else
00792                        fatal_error(53, FEHLERZEILE);  ;
00793     break;}
00794 case 38:
00795 #line 166 "mut.y"
00796 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00797                        get_new_faktor_anteil ( (double) -1 / (yyvsp[-1].f_value), yyvsp[0].identifier);
00798                      else
00799                        fatal_error(53, FEHLERZEILE);  ;
00800     break;}
00801 case 39:
00802 #line 172 "mut.y"
00803 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00804                        get_new_faktor_anteil ( (yyvsp[-3].f_value) / (yyvsp[-1].f_value), yyvsp[0].identifier);
00805                      else
00806                        fatal_error(53, FEHLERZEILE);  ;
00807     break;}
00808 case 40:
00809 #line 178 "mut.y"
00810 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00811                        get_new_faktor_anteil ( -(yyvsp[-3].f_value) / (yyvsp[-1].f_value), yyvsp[0].identifier);
00812                      else
00813                        fatal_error(53, FEHLERZEILE);  ;
00814     break;}
00815 case 41:
00816 #line 199 "mut.y"
00817 { get_new_faktor_anteil ( (double) 1.0 , yyvsp[0].identifier); ;
00818     break;}
00819 case 42:
00820 #line 207 "mut.y"
00821 { get_new_faktor_anteil ( yyvsp[-1].f_value, yyvsp[0].identifier); ;
00822     break;}
00823 case 43:
00824 #line 210 "mut.y"
00825 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00826                        get_new_faktor_anteil ( (double) 1 / (yyvsp[-1].f_value), yyvsp[0].identifier);
00827                      else
00828                        fatal_error(53, FEHLERZEILE);  ;
00829     break;}
00830 case 44:
00831 #line 216 "mut.y"
00832 { if ( fabs(yyvsp[-1].f_value) > 0.001 )
00833                        get_new_faktor_anteil ( (yyvsp[-3].f_value) / (yyvsp[-1].f_value), yyvsp[0].identifier);
00834                      else
00835                        fatal_error(53, FEHLERZEILE);  ;
00836     break;}
00837 case 48:
00838 #line 249 "mut.y"
00839 { init_ton_liste (); ;
00840     break;}
00841 case 50:
00842 #line 254 "mut.y"
00843 { init_komplex_ton_list (); ;
00844     break;}
00845 case 51:
00846 #line 256 "mut.y"
00847 { get_new_tonsystem (yyvsp[-7].identifier, yyvsp[-5].integer); ;
00848     break;}
00849 case 52:
00850 #line 258 "mut.y"
00851 { init_komplex_ton_list (); ;
00852     break;}
00853 case 53:
00854 #line 260 "mut.y"
00855 { get_new_tonsystem_negative (yyvsp[-8].identifier, yyvsp[-6].integer); ;
00856     break;}
00857 case 56:
00858 #line 266 "mut.y"
00859 { get_new_ton_in_tonsystem (yyvsp[0].identifier); ;
00860     break;}
00861 case 57:
00862 #line 267 "mut.y"
00863 { get_new_ton_in_tonsystem (NULL); ;
00864     break;}
00865 case 58:
00866 #line 268 "mut.y"
00867 { fatal_error(73,FEHLERZEILE); ;
00868     break;}
00869 case 59:
00870 #line 272 "mut.y"
00871 { get_new_name_in_parameterlist (yyvsp[0].identifier) ;
00872     break;}
00873 case 60:
00874 #line 274 "mut.y"
00875 { get_new_name_in_parameterlist (yyvsp[0].identifier) ;
00876     break;}
00877 case 61:
00878 #line 275 "mut.y"
00879 { fatal_error(74,FEHLERZEILE); ;
00880     break;}
00881 case 62:
00882 #line 280 "mut.y"
00883 {;
00884     break;}
00885 case 63:
00886 #line 281 "mut.y"
00887 {;
00888     break;}
00889 case 64:
00890 #line 282 "mut.y"
00891 { fatal_error(74,FEHLERZEILE); ;
00892     break;}
00893 case 65:
00894 #line 287 "mut.y"
00895 { get_new_name_in_argument_list (yyvsp[0].identifier)   ;
00896     break;}
00897 case 66:
00898 #line 288 "mut.y"
00899 { get_new_number_in_argument_list (yyvsp[0].integer) ;
00900     break;}
00901 case 67:
00902 #line 289 "mut.y"
00903 { get_new_number_in_argument_list (-(yyvsp[0].integer)) ;
00904     break;}
00905 case 71:
00906 #line 304 "mut.y"
00907 { init_umstimmung (yyvsp[0].identifier);
00908                       init_parameter_liste (); ;
00909     break;}
00910 case 72:
00911 #line 306 "mut.y"
00912 { eintrage_parameterliste_in_umstimmung (); ;
00913     break;}
00914 case 73:
00915 #line 308 "mut.y"
00916 { get_new_umstimmung (); ;
00917     break;}
00918 case 74:
00919 #line 311 "mut.y"
00920 { init_umstimmung (yyvsp[0].identifier);
00921                       init_parameter_liste (); ;
00922     break;}
00923 case 75:
00924 #line 314 "mut.y"
00925 { eintrage_parameterliste_in_umstimmung (); ;
00926     break;}
00927 case 76:
00928 #line 316 "mut.y"
00929 { get_new_umstimmung (); ;
00930     break;}
00931 case 77:
00932 #line 320 "mut.y"
00933 {;
00934     break;}
00935 case 78:
00936 #line 321 "mut.y"
00937 {;
00938     break;}
00939 case 79:
00940 #line 322 "mut.y"
00941 {;
00942     break;}
00943 case 80:
00944 #line 323 "mut.y"
00945 {;
00946     break;}
00947 case 81:
00948 #line 324 "mut.y"
00949 {;
00950     break;}
00951 case 82:
00952 #line 325 "mut.y"
00953 {;
00954     break;}
00955 case 83:
00956 #line 326 "mut.y"
00957 {;
00958     break;}
00959 case 84:
00960 #line 327 "mut.y"
00961 {;
00962     break;}
00963 case 85:
00964 #line 328 "mut.y"
00965 {;
00966     break;}
00967 case 86:
00968 #line 329 "mut.y"
00969 {;
00970     break;}
00971 case 87:
00972 #line 330 "mut.y"
00973 {fatal_error(75,FEHLERZEILE);;
00974     break;}
00975 case 88:
00976 #line 336 "mut.y"
00977 { get_umstimmung_taste_abs (zahl, yyvsp[-2].integer, NULL); ;
00978     break;}
00979 case 89:
00980 #line 338 "mut.y"
00981 { get_umstimmung_taste_abs (parameter, 0.0, yyvsp[-2].identifier); ;
00982     break;}
00983 case 90:
00984 #line 343 "mut.y"
00985 { get_umstimmung_taste_rel (zahl, yyvsp[-2].integer, NULL, '+'); ;
00986     break;}
00987 case 91:
00988 #line 345 "mut.y"
00989 { get_umstimmung_taste_rel (parameter, 0.0, yyvsp[-2].identifier, '+'); ;
00990     break;}
00991 case 92:
00992 #line 347 "mut.y"
00993 { get_umstimmung_taste_rel (zahl, yyvsp[-2].integer, NULL, '-'); ;
00994     break;}
00995 case 93:
00996 #line 349 "mut.y"
00997 { get_umstimmung_taste_rel (parameter, 0.0, yyvsp[-2].identifier, '-'); ;
00998     break;}
00999 case 94:
01000 #line 354 "mut.y"
01001 { get_umstimmung_breite_abs (zahl, yyvsp[-3].integer, NULL); ;
01002     break;}
01003 case 95:
01004 #line 356 "mut.y"
01005 { get_umstimmung_breite_abs (parameter, 0.0, yyvsp[-3].identifier); ;
01006     break;}
01007 case 96:
01008 #line 361 "mut.y"
01009 { get_umstimmung_breite_rel (zahl, yyvsp[-3].integer, NULL, '+'); ;
01010     break;}
01011 case 97:
01012 #line 363 "mut.y"
01013 { get_umstimmung_breite_rel (parameter, 0.0, yyvsp[-3].identifier, '+'); ;
01014     break;}
01015 case 98:
01016 #line 365 "mut.y"
01017 { get_umstimmung_breite_rel (zahl, yyvsp[-3].integer, NULL, '-'); ;
01018     break;}
01019 case 99:
01020 #line 367 "mut.y"
01021 { get_umstimmung_breite_rel (parameter, 0.0, yyvsp[-3].identifier, '-'); ;
01022     break;}
01023 case 100:
01024 #line 369 "mut.y"
01025 { get_umstimmung_breite_rel (zahl, yyvsp[-3].integer, NULL, '*'); ;
01026     break;}
01027 case 101:
01028 #line 371 "mut.y"
01029 { get_umstimmung_breite_rel (parameter, 0.0, yyvsp[-3].identifier, '*'); ;
01030     break;}
01031 case 102:
01032 #line 373 "mut.y"
01033 { get_umstimmung_breite_rel (zahl, yyvsp[-3].integer, NULL, '/'); ;
01034     break;}
01035 case 103:
01036 #line 375 "mut.y"
01037 { get_umstimmung_breite_rel (parameter, 0.0, yyvsp[-3].identifier, '/'); ;
01038     break;}
01039 case 104:
01040 #line 380 "mut.y"
01041 { init_umstimm_expression_list (); ;
01042     break;}
01043 case 105:
01044 #line 382 "mut.y"
01045 { get_umstimmung_tonhoehe_veraendert (); ;
01046     break;}
01047 case 106:
01048 #line 389 "mut.y"
01049 {;
01050     break;}
01051 case 107:
01052 #line 390 "mut.y"
01053 {;
01054     break;}
01055 case 108:
01056 #line 392 "mut.y"
01057 { init_komplex_ton_list();
01058                      get_new_umstimm_expression (NULL);
01059                    ;
01060     break;}
01061 case 109:
01062 #line 395 "mut.y"
01063 {;
01064     break;}
01065 case 110:
01066 #line 399 "mut.y"
01067 {;
01068     break;}
01069 case 111:
01070 #line 400 "mut.y"
01071 {;
01072     break;}
01073 case 112:
01074 #line 405 "mut.y"
01075 { init_komplex_ton_list();
01076                      get_new_umstimm_expression (NULL);
01077                    ;
01078     break;}
01079 case 114:
01080 #line 413 "mut.y"
01081 { get_new_umstimm_expression (yyvsp[0].identifier); ;
01082     break;}
01083 case 115:
01084 #line 414 "mut.y"
01085 { get_new_umstimm_expression ("@"); ;
01086     break;}
01087 case 116:
01088 #line 416 "mut.y"
01089 { init_komplex_ton_list (); ;
01090     break;}
01091 case 117:
01092 #line 418 "mut.y"
01093 { get_new_umstimm_expression_positive (yyvsp[-3].identifier); ;
01094     break;}
01095 case 118:
01096 #line 419 "mut.y"
01097 { init_komplex_ton_list (); ;
01098     break;}
01099 case 119:
01100 #line 421 "mut.y"
01101 { get_new_umstimm_expression_positive ( "@" ); ;
01102     break;}
01103 case 120:
01104 #line 422 "mut.y"
01105 { init_komplex_ton_list (); ;
01106     break;}
01107 case 121:
01108 #line 424 "mut.y"
01109 { get_new_umstimm_expression_negative (yyvsp[-3].identifier); ;
01110     break;}
01111 case 122:
01112 #line 425 "mut.y"
01113 { init_komplex_ton_list (); ;
01114     break;}
01115 case 123:
01116 #line 427 "mut.y"
01117 { get_new_umstimm_expression_negative ( "@" ); ;
01118     break;}
01119 case 124:
01120 #line 432 "mut.y"
01121 { init_komplex_ton_list (); ;
01122     break;}
01123 case 125:
01124 #line 434 "mut.y"
01125 { get_umstimmung_wiederholung_abs (); ;
01126     break;}
01127 case 126:
01128 #line 435 "mut.y"
01129 { init_komplex_ton_list (); ;
01130     break;}
01131 case 127:
01132 #line 437 "mut.y"
01133 { get_umstimmung_wiederholung_abs_negative (); ;
01134     break;}
01135 case 128:
01136 #line 441 "mut.y"
01137 { init_komplex_ton_list (); ;
01138     break;}
01139 case 129:
01140 #line 443 "mut.y"
01141 { get_umstimmung_wiederholung_rel_positive (); ;
01142     break;}
01143 case 130:
01144 #line 444 "mut.y"
01145 { init_komplex_ton_list (); ;
01146     break;}
01147 case 131:
01148 #line 446 "mut.y"
01149 { get_umstimmung_wiederholung_rel_negative (); ;
01150     break;}
01151 case 132:
01152 #line 450 "mut.y"
01153 { init_aktions_liste (); ;
01154     break;}
01155 case 133:
01156 #line 452 "mut.y"
01157 { get_umstimmung_umstimmungs_bund (); ;
01158     break;}
01159 case 134:
01160 #line 456 "mut.y"
01161 {;
01162     break;}
01163 case 135:
01164 #line 457 "mut.y"
01165 {;
01166     break;}
01167 case 136:
01168 #line 461 "mut.y"
01169 { init_argument_liste ();
01170                        get_new_aktion_aufruf_element (yyvsp[0].identifier); ;
01171     break;}
01172 case 137:
01173 #line 463 "mut.y"
01174 { init_argument_liste (); ;
01175     break;}
01176 case 138:
01177 #line 465 "mut.y"
01178 { get_new_aktion_aufruf_element (yyvsp[-4].identifier); ;
01179     break;}
01180 case 139:
01181 #line 467 "mut.y"
01182 { init_integersequenz ();;
01183     break;}
01184 case 140:
01185 #line 469 "mut.y"
01186 { get_new_aktion_midi_out_element (); ;
01187     break;}
01188 case 141:
01189 #line 473 "mut.y"
01190 { init_umstimmungs_case_liste (); ;
01191     break;}
01192 case 142:
01193 #line 475 "mut.y"
01194 { get_umstimmung_umstimm_case_zahl (yyvsp[-4].integer); ;
01195     break;}
01196 case 143:
01197 #line 476 "mut.y"
01198 { init_umstimmungs_case_liste (); ;
01199     break;}
01200 case 144:
01201 #line 478 "mut.y"
01202 { get_umstimmung_umstimm_case_parameter (yyvsp[-4].identifier); ;
01203     break;}
01204 case 145:
01205 #line 482 "mut.y"
01206 {;
01207     break;}
01208 case 146:
01209 #line 483 "mut.y"
01210 {;
01211     break;}
01212 case 147:
01213 #line 488 "mut.y"
01214 { init_aktions_liste (); ;
01215     break;}
01216 case 148:
01217 #line 490 "mut.y"
01218 { get_umstimmungs_case_zahl_element (yyvsp[-4].integer); ;
01219     break;}
01220 case 149:
01221 #line 492 "mut.y"
01222 { init_aktions_liste (); ;
01223     break;}
01224 case 150:
01225 #line 494 "mut.y"
01226 { get_umstimmungs_case_zahl_element (-(yyvsp[-4].integer)); ;
01227     break;}
01228 case 151:
01229 #line 496 "mut.y"
01230 { init_aktions_liste (); ;
01231     break;}
01232 case 152:
01233 #line 498 "mut.y"
01234 { get_umstimmungs_case_default_element (); ;
01235     break;}
01236 case 153:
01237 #line 503 "mut.y"
01238 { init_integersequenz ();;
01239     break;}
01240 case 154:
01241 #line 505 "mut.y"
01242 { get_umstimmung_midi_out (); ;
01243     break;}
01244 case 155:
01245 #line 510 "mut.y"
01246 {;
01247     break;}
01248 case 156:
01249 #line 514 "mut.y"
01250 {;
01251     break;}
01252 case 157:
01253 #line 515 "mut.y"
01254 {;
01255     break;}
01256 case 158:
01257 #line 520 "mut.y"
01258 { init_tastenliste (); ;
01259     break;}
01260 case 159:
01261 #line 522 "mut.y"
01262 { get_new_harmonie (yyvsp[-6].identifier, yyvsp[0].integer); ;
01263     break;}
01264 case 160:
01265 #line 524 "mut.y"
01266 { fatal_error(76,yyvsp[-2].identifier); ;
01267     break;}
01268 case 161:
01269 #line 528 "mut.y"
01270 { yyval.integer = -1; ;
01271     break;}
01272 case 162:
01273 #line 529 "mut.y"
01274 { yyval.integer = yyvsp[0].integer; ;
01275     break;}
01276 case 163:
01277 #line 533 "mut.y"
01278 {;
01279     break;}
01280 case 164:
01281 #line 534 "mut.y"
01282 {;
01283     break;}
01284 case 165:
01285 #line 538 "mut.y"
01286 { get_new_taste ( yyvsp[0].integer, '+'); ;
01287     break;}
01288 case 166:
01289 #line 539 "mut.y"
01290 { get_new_taste ( yyvsp[0].integer, '*'); ;
01291     break;}
01292 case 167:
01293 #line 543 "mut.y"
01294 {;
01295     break;}
01296 case 168:
01297 #line 547 "mut.y"
01298 {;
01299     break;}
01300 case 169:
01301 #line 548 "mut.y"
01302 { init_ausloeser ();
01303                          /* fr die Anfangsausloesung der Logik */
01304                        ;
01305     break;}
01306 case 170:
01307 #line 551 "mut.y"
01308 {;
01309     break;}
01310 case 171:
01311 #line 556 "mut.y"
01312 { get_new_logik (yyvsp[-3].identifier, NULL);
01313                 init_anweisungs_liste (); ;
01314     break;}
01315 case 172:
01316 #line 559 "mut.y"
01317 { vervollstaendige_logik (); ;
01318     break;}
01319 case 173:
01320 #line 561 "mut.y"
01321 { get_new_logik (yyvsp[-4].identifier, yyvsp[-1].identifier);
01322                 init_anweisungs_liste (); ;
01323     break;}
01324 case 174:
01325 #line 564 "mut.y"
01326 { vervollstaendige_logik (); ;
01327     break;}
01328 case 175:
01329 #line 568 "mut.y"
01330 {;
01331     break;}
01332 case 176:
01333 #line 569 "mut.y"
01334 {;
01335     break;}
01336 case 177:
01337 #line 574 "mut.y"
01338 { init_aktions_liste (); ;
01339     break;}
01340 case 178:
01341 #line 576 "mut.y"
01342 { get_new_anweisung (); ;
01343     break;}
01344 case 179:
01345 #line 578 "mut.y"
01346 { init_aktions_liste (); ;
01347     break;}
01348 case 180:
01349 #line 580 "mut.y"
01350 { get_new_anweisung (); ;
01351     break;}
01352 case 181:
01353 #line 585 "mut.y"
01354 { get_harmoniebezeichner (  yyvsp[-4].integer, yyvsp[-2].identifier,  yyvsp[0].integer); ;
01355     break;}
01356 case 182:
01357 #line 587 "mut.y"
01358 { get_harmoniebezeichner (-1, yyvsp[-2].identifier,  yyvsp[0].integer); ;
01359     break;}
01360 case 183:
01361 #line 589 "mut.y"
01362 { get_harmoniebezeichner (  yyvsp[-2].integer, yyvsp[0].identifier, -1); ;
01363     break;}
01364 case 184:
01365 #line 591 "mut.y"
01366 { get_harmoniebezeichner (-1, yyvsp[0].identifier, -1); ;
01367     break;}
01368 case 185:
01369 #line 595 "mut.y"
01370 { get_ausloeser_default (); ;
01371     break;}
01372 case 186:
01373 #line 596 "mut.y"
01374 { get_ausloeser_harmonie (); ;
01375     break;}
01376 case 187:
01377 #line 597 "mut.y"
01378 { get_ausloeser_harmonie_form (); ;
01379     break;}
01380 case 188:
01381 #line 598 "mut.y"
01382 { get_ausloeser_taste (yyvsp[0].identifier); ;
01383     break;}
01384 case 189:
01385 #line 599 "mut.y"
01386 { init_integersequenz (); ;
01387     break;}
01388 case 190:
01389 #line 601 "mut.y"
01390 { get_ausloeser_midi_in (); ;
01391     break;}
01392 case 191:
01393 #line 606 "mut.y"
01394 { get_new_integer_in_integersequenz (yyvsp[0].integer);;
01395     break;}
01396 case 192:
01397 #line 608 "mut.y"
01398 { get_new_integer_in_integersequenz (yyvsp[0].integer);;
01399     break;}
01400 case 193:
01401 #line 609 "mut.y"
01402 { fatal_error( 77, FEHLERZEILE ); ;
01403     break;}
01404 case 194:
01405 #line 614 "mut.y"
01406 {;
01407     break;}
01408 case 195:
01409 #line 618 "mut.y"
01410 {;
01411     break;}
01412 case 196:
01413 #line 619 "mut.y"
01414 {;
01415     break;}
01416 case 197:
01417 #line 624 "mut.y"
01418 { get_instrument_dekl (yyvsp[-3].integer, yyvsp[0].integer, yyvsp[0].integer, 0, & list_of_instrumente); ;
01419     break;}
01420 case 198:
01421 #line 626 "mut.y"
01422 { get_instrument_dekl (yyvsp[-5].integer, yyvsp[-2].integer, yyvsp[0].integer, 0, & list_of_instrumente); ;
01423     break;}
01424 case 199:
01425 #line 628 "mut.y"
01426 { get_instrument_dekl (yyvsp[-5].integer, 0, 0, yyvsp[-1].integer, & list_of_instrumente); ;
01427     break;}
01428 case 200:
01429 #line 630 "mut.y"
01430 { get_instrument_dekl (yyvsp[-6].integer, yyvsp[-3].integer, yyvsp[-3].integer, yyvsp[-1].integer, & list_of_instrumente); ;
01431     break;}
01432 case 201:
01433 #line 632 "mut.y"
01434 { get_instrument_dekl (yyvsp[-8].integer, yyvsp[-5].integer, yyvsp[-3].integer, yyvsp[-1].integer, & list_of_instrumente); ;
01435     break;}
01436 case 202:
01437 #line 636 "mut.y"
01438 { yyval.f_value = yyvsp[0].f_value ;
01439     break;}
01440 case 203:
01441 #line 637 "mut.y"
01442 { yyval.f_value = (double) yyvsp[0].integer ;
01443     break;}
01444 }
01445    /* the action file gets copied in in place of this dollarsign */
01446 #line 327 "bison.simple"
01447 
01448   yyvsp -= yylen;
01449   yyssp -= yylen;
01450 #ifdef YYLSP_NEEDED
01451   yylsp -= yylen;
01452 #endif
01453 
01454 #if YYDEBUG != 0
01455   if (yydebug)
01456     {
01457       short *ssp1 = yyss - 1;
01458       fprintf (stderr, "state stack now");
01459       while (ssp1 != yyssp)
01460         fprintf (stderr, " %d", *++ssp1);
01461       fprintf (stderr, "\n");
01462     }
01463 #endif
01464 
01465   *++yyvsp = yyval;
01466 
01467 #ifdef YYLSP_NEEDED
01468   yylsp++;
01469   if (yylen == 0)
01470     {
01471       yylsp->first_line = yylloc.first_line;
01472       yylsp->first_column = yylloc.first_column;
01473       yylsp->last_line = (yylsp-1)->last_line;
01474       yylsp->last_column = (yylsp-1)->last_column;
01475       yylsp->text = 0;
01476     }
01477   else
01478     {
01479       yylsp->last_line = (yylsp+yylen-1)->last_line;
01480       yylsp->last_column = (yylsp+yylen-1)->last_column;
01481     }
01482 #endif
01483 
01484   /* Now "shift" the result of the reduction.
01485      Determine what state that goes to,
01486      based on the state we popped back to
01487      and the rule number reduced by.  */
01488 
01489   yyn = yyr1[yyn];
01490 
01491   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
01492   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
01493     yystate = yytable[yystate];
01494   else
01495     yystate = yydefgoto[yyn - YYNTBASE];
01496 
01497   goto yynewstate;
01498 
01499 yyerrlab:   /* here on detecting error */
01500 
01501   if (! yyerrstatus)
01502     /* If not already recovering from an error, report this error.  */
01503     {
01504       ++yynerrs;
01505       yyerror("parse error");
01506     }
01507 
01508   if (yyerrstatus == 3)
01509     {
01510       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
01511 
01512       /* return failure if at end of input */
01513       if (yychar == YYEOF)
01514         YYABORT;
01515 
01516 #if YYDEBUG != 0
01517       if (yydebug)
01518         fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
01519 #endif
01520 
01521       yychar = YYEMPTY;
01522     }
01523 
01524   /* Else will try to reuse lookahead token
01525      after shifting the error token.  */
01526 
01527   yyerrstatus = 3;              /* Each real token shifted decrements this */
01528 
01529   goto yyerrhandle;
01530 
01531 yyerrdefault:  /* current state does not do anything special for the error token. */
01532 
01533 #if 0
01534   /* This is wrong; only states that explicitly want error tokens
01535      should shift them.  */
01536   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
01537   if (yyn) goto yydefault;
01538 #endif
01539 
01540 yyerrpop:   /* pop the current state because it cannot handle the error token */
01541 
01542   if (yyssp == yyss) YYABORT;
01543   yyvsp--;
01544   yystate = *--yyssp;
01545 #ifdef YYLSP_NEEDED
01546   yylsp--;
01547 #endif
01548 
01549 #if YYDEBUG != 0
01550   if (yydebug)
01551     {
01552       short *ssp1 = yyss - 1;
01553       fprintf (stderr, "Error: state stack now");
01554       while (ssp1 != yyssp)
01555         fprintf (stderr, " %d", *++ssp1);
01556       fprintf (stderr, "\n");
01557     }
01558 #endif
01559 
01560 yyerrhandle:
01561 
01562   yyn = yypact[yystate];
01563   if (yyn == YYFLAG)
01564     goto yyerrdefault;
01565 
01566   yyn += YYTERROR;
01567   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
01568     goto yyerrdefault;
01569 
01570   yyn = yytable[yyn];
01571   if (yyn < 0)
01572     {
01573       if (yyn == YYFLAG)
01574         goto yyerrpop;
01575       yyn = -yyn;
01576       goto yyreduce;
01577     }
01578   else if (yyn == 0)
01579     goto yyerrpop;
01580 
01581   if (yyn == YYFINAL)
01582     YYACCEPT;
01583 
01584 #if YYDEBUG != 0
01585   if (yydebug)
01586     fprintf(stderr, "Shifting error token, ");
01587 #endif
01588 
01589   *++yyvsp = yylval;
01590 #ifdef YYLSP_NEEDED
01591   *++yylsp = yylloc;
01592 #endif
01593 
01594   yystate = yyn;
01595   goto yynewstate;
01596 }
01597 #line 641 "mut.y"
01598 
01599 
01600 int yylex(void)
01601 {
01602     int c;
01603 
01604 start_lex:
01605 
01606     /* Ignore whitespace, get first nonwhitespace character */
01607     while ( anzahl_eingelesene_zeichen ++,
01608 
01609             isspace(c = toupper( intern_fgetc(quelldatei) ))
01610                     /* == ' '
01611           || c == '\t'
01612           || c == '\n'*/)  {
01613 
01614        if (c == '\n')
01615 #ifdef ACS_VERSION
01616         if (!(yylloc.first_line ++ % LINE_DRAW_QUANTUM))
01617            show_line_number(yylloc.first_line);
01618 #else
01619          yylloc.first_line ++;
01620 #endif
01621        }
01622 
01623     if (c == '"') {
01624        while (anzahl_eingelesene_zeichen ++,
01625 
01626               (c=intern_fgetc(quelldatei)) != '"' && c != EOF )
01627                     if (c == '\n') yylloc.first_line ++;
01628 
01629        goto start_lex;
01630     }
01631 
01632     if (c == EOF)
01633         return 0;
01634 
01635 
01636     /* char starts a number => parse the number. */
01637     if (isdigit(c)) {
01638 
01639 #if 1
01640         double zahl = 0.0;
01641         while (isdigit(c)) {
01642             zahl *= 10;
01643             zahl += ( c - '0' );
01644             anzahl_eingelesene_zeichen ++;
01645             c = intern_fgetc (quelldatei);
01646         }
01647         if (c == '.') {    /* dann nachkommastellen */
01648             double faktor = 1.0;
01649             while (anzahl_eingelesene_zeichen ++,
01650                    isdigit (c = intern_fgetc (quelldatei))) {
01651                 faktor /= 10;
01652                 zahl += faktor * ( c - '0' );
01653             }
01654             intern_ungetc (c, quelldatei);
01655             anzahl_eingelesene_zeichen --;
01656             yylval.f_value = zahl;
01657             return F_NUMBER;
01658         }
01659         else {
01660             intern_ungetc (c, quelldatei);
01661             anzahl_eingelesene_zeichen --;
01662 
01663             if (zahl > INT_MAX) {
01664                 yylval.f_value = zahl;
01665                 return F_NUMBER;
01666             }
01667             else {
01668                 yylval.integer = (int)zahl;
01669                 return INTEGER;
01670             }
01671         }
01672 #else
01673 
01674         intern_ungetc (c, quelldatei);
01675         anzahl_eingelesene_zeichen --;
01676         fscanf (quelldatei, "%lf", &yylval.f_value);
01677 
01678 #endif
01679 
01680 /*
01681  printf("f_number:%lf:\n", yylval.f_value);
01682 */
01683 
01684     }
01685 
01686     /* # starts a HEX-number => parse the number. */
01687     if (c == '#') {
01688         int help;
01689         if (fscanf (quelldatei, "%x", &help) == 0) {
01690             fatal_error (78, yylloc.first_line + 1);
01691             exit (1);
01692         }
01693         yylval.integer = help;
01694 
01695 /* printf("f_number:%lf:\n", yylval.f_value); */
01696 
01697         return INTEGER;
01698     }
01699 
01700     /* Test auf reserved word oder einen Identifier */
01701     if (isalpha (c) || (c == '_') || (c == '\'') ) {
01702 
01703 static struct {
01704     char *word;
01705     int token;
01706 } reserved_words [] = {
01707 /* Deutsche Schlsselworte : */
01708 { "INTERVALL"  , INTERVALL  },
01709 { "WURZEL"     , WURZEL     },
01710 { "TON"        , TON        },
01711 { "ton_system"  , ton_system  },
01712 { "UMSTIMMUNG" , UMSTIMMUNG },
01713 { "HARMONIE"   , HARMONIE   },
01714 { "LOGIK"      , LOGIK      },
01715 { "FORM"       , FORM       },
01716 { "MIDIKANAL" , INSTRUMENT },
01717 { "TASTE"      , TASTE      },
01718 { "MIDIIN"     , MIDI_IN    },
01719 { "MIDIOUT"    , MIDI_OUT   },
01720 { "ANSONSTEN"  , ANSONSTEN  },
01721 /* Englische Schlsselworte : */
01722 { "INTERVAL"  , INTERVALL  },
01723 { "ROOT"     , WURZEL     },
01724 { "TONE"        , TON        },
01725 { "TONESYSTEM"  , ton_system  },
01726 { "RETUNING" , UMSTIMMUNG },
01727 { "PATTERN"   , HARMONIE   },
01728 { "LOGIC"      , LOGIK      },
01729 { "SHIFTED"       , FORM       },
01730 { "MIDICHANNEL" , INSTRUMENT },
01731 { "KEY"      , TASTE      },
01732 { "ELSE"  , ANSONSTEN  },
01733 { NULL         , 0          }
01734 };
01735 
01736 
01737 #if 0
01738         char *symbuffer = xmalloc ((size_t)(MAX_IDENTIFIER_LEN + 1));
01739         int i=0;
01740 
01741         do {
01742             if (c == '\'') c = 'i';
01743             symbuffer[i++] = c;
01744             c = toupper(intern_fgetc (quelldatei));
01745         } while (c != EOF                &&
01746                  i < MAX_IDENTIFIER_LEN  &&
01747                  (isalnum (c) || (c == '_') || (c == '\'') ) );
01748 
01749         intern_ungetc (c, quelldatei);
01750         symbuffer[i] = '\0';
01751 #else
01752         int i = 0;
01753         int max_identifier_len = 10;
01754         char *symbuffer = (char*) xmalloc ((size_t) max_identifier_len);
01755 
01756         do {
01757             if (c == '\'') c = 'i';
01758 
01759             if ( i + 1 == max_identifier_len ) {
01760                 char * help = (char*) xrealloc (symbuffer, (size_t) (max_identifier_len += 10));
01761                 memmove (help, symbuffer, (size_t) max_identifier_len);
01762                 symbuffer = help;
01763             }
01764 
01765             symbuffer[i++] = c;
01766             c = toupper(intern_fgetc (quelldatei));
01767             anzahl_eingelesene_zeichen ++;
01768 
01769         } while (c != EOF                &&
01770                  (isalnum (c) || (c == '_') || (c == '\'') ) );
01771 
01772         intern_ungetc (c, quelldatei);
01773         anzahl_eingelesene_zeichen --;
01774         symbuffer[i] = '\0';
01775 
01776 #endif
01777 
01778 /* printf("symbuffer:%s:\n", symbuffer); */
01779 
01780         for (i=0; reserved_words[i].word; i++) {
01781             if ( ! strcmp (symbuffer, reserved_words[i].word)) {
01782                 xfree (symbuffer);
01783                 return reserved_words[i].token;
01784             }
01785         }
01786 
01787         yylval.identifier = symbuffer;
01788         return IDENTIFIER;
01789     }
01790 
01791     /* Any other character is a token by itself */
01792     switch (c) {
01793         case '+':
01794         case '-':
01795         case '*':
01796         case '/':
01797         case '[':
01798         case ']':
01799         case ':':
01800         case '=':
01801         case '(':
01802         case ')':
01803         case ',':
01804         case '~':
01805         case '@':
01806         case '<':
01807         case '>':
01808         case '{':
01809         case '}':
01810         case ';':
01811                return c;
01812     }
01813 
01814     fatal_error(2,c,yylloc.first_line + 1);
01815 
01816     return 0;  /* um Compilerwarnungen zu vermeiden */
01817 
01818 
01819 } /* yylex */
01820 
01821 void init_yylex (void)
01822 {
01823     yylloc.first_line = 0;
01824     anzahl_eingelesene_zeichen = 0;
01825 }
01826 
01827 void yyerror(char *s) {
01828 
01829 /* ignore it ! */
01830 
01831 } /* yyerror */
01832 
01833 
01834 
01835 /* END MUT_TAB.C */

Erzeugt am Sun Aug 21 2011 10:51:52 für Mutabor von doxygen 1.7.4