Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.yy

    r201aeb9 rd48e529  
    1010// Created On       : Sat Sep  1 20:22:55 2001
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Sep 23 17:43:15 2017
    13 // Update Count     : 2829
     12// Last Modified On : Thu Sep 14 23:07:12 2017
     13// Update Count     : 2815
    1414//
    1515
     
    4343#define YYDEBUG_LEXER_TEXT (yylval)                                             // lexer loads this up each time
    4444#define YYDEBUG 1                                                                               // get the pretty debugging code to compile
    45 #define YYERROR_VERBOSE                                                                 // more information in syntax errors
     45#define YYERROR_VERBOSE
    4646
    4747#undef __GNUC_MINOR__
     
    117117bool forall = false;                                                                    // aggregate have one or more forall qualifiers ?
    118118
    119 // https://www.gnu.org/software/bison/manual/bison.html#Location-Type
    120 #define YYLLOC_DEFAULT(Cur, Rhs, N)                                                                                             \
    121 if ( N ) {                                                                                                                                              \
    122         (Cur).first_line   = YYRHSLOC( Rhs, 1 ).first_line;                                                     \
    123         (Cur).first_column = YYRHSLOC( Rhs, 1 ).first_column;                                           \
    124         (Cur).last_line    = YYRHSLOC( Rhs, N ).last_line;                                                      \
    125         (Cur).last_column  = YYRHSLOC( Rhs, N ).last_column;                                            \
    126         (Cur).filename     = YYRHSLOC( Rhs, 1 ).filename;                                                       \
    127 } else {                                                                                                                                                \
    128         (Cur).first_line   = (Cur).last_line = YYRHSLOC( Rhs, 0 ).last_line;            \
    129         (Cur).first_column = (Cur).last_column = YYRHSLOC( Rhs, 0 ).last_column;        \
    130         (Cur).filename     = YYRHSLOC( Rhs, 0 ).filename;                                                       \
    131 }
     119# define YYLLOC_DEFAULT(Cur, Rhs, N)                            \
     120do                                                              \
     121        if (N) {                                                      \
     122                (Cur).first_line   = YYRHSLOC(Rhs, 1).first_line;           \
     123                (Cur).first_column = YYRHSLOC(Rhs, 1).first_column;         \
     124                (Cur).last_line    = YYRHSLOC(Rhs, N).last_line;            \
     125                (Cur).last_column  = YYRHSLOC(Rhs, N).last_column;          \
     126                (Cur).filename     = YYRHSLOC(Rhs, 1).filename;             \
     127        } else {                                                      \
     128                (Cur).first_line   = (Cur).last_line   =                    \
     129                        YYRHSLOC(Rhs, 0).last_line;                               \
     130                (Cur).first_column = (Cur).last_column =                    \
     131                        YYRHSLOC(Rhs, 0).last_column;                             \
     132                (Cur).filename     = YYRHSLOC(Rhs, 0).filename;             \
     133        }                                                             \
     134while (0)
    132135%}
    133136
    134137%define parse.error verbose
    135138
    136 // Types declaration for productions
     139// Types declaration
    137140%union
    138141{
     
    170173%token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED
    171174%token BOOL COMPLEX IMAGINARY                                                   // C99
    172 %token INT128 FLOAT80 FLOAT128                                                  // GCC
    173175%token ZERO_T ONE_T                                                                             // CFA
    174176%token VALIST                                                                                   // GCC
     
    16041606
    16051607basic_type_name:
    1606         VOID
     1608        CHAR
     1609                { $$ = DeclarationNode::newBasicType( DeclarationNode::Char ); }
     1610        | DOUBLE
     1611                { $$ = DeclarationNode::newBasicType( DeclarationNode::Double ); }
     1612        | FLOAT
     1613                { $$ = DeclarationNode::newBasicType( DeclarationNode::Float ); }
     1614        | INT
     1615                { $$ = DeclarationNode::newBasicType( DeclarationNode::Int ); }
     1616        | LONG
     1617                { $$ = DeclarationNode::newLength( DeclarationNode::Long ); }
     1618        | SHORT
     1619                { $$ = DeclarationNode::newLength( DeclarationNode::Short ); }
     1620        | SIGNED
     1621                { $$ = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
     1622        | UNSIGNED
     1623                { $$ = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
     1624        | VOID
    16071625                { $$ = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    16081626        | BOOL                                                                                          // C99
    16091627                { $$ = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    1610         | CHAR
    1611                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    1612         | INT
    1613                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    1614         | INT128
    1615                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Int128 ); }
    1616         | FLOAT
    1617                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    1618         | FLOAT80
    1619                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Float80 ); }
    1620         | FLOAT128
    1621                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Float128 ); }
    1622         | DOUBLE
    1623                 { $$ = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    16241628        | COMPLEX                                                                                       // C99
    16251629                { $$ = DeclarationNode::newComplexType( DeclarationNode::Complex ); }
    16261630        | IMAGINARY                                                                                     // C99
    16271631                { $$ = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); }
    1628         | SIGNED
    1629                 { $$ = DeclarationNode::newSignedNess( DeclarationNode::Signed ); }
    1630         | UNSIGNED
    1631                 { $$ = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); }
    1632         | SHORT
    1633                 { $$ = DeclarationNode::newLength( DeclarationNode::Short ); }
    1634         | LONG
    1635                 { $$ = DeclarationNode::newLength( DeclarationNode::Long ); }
    16361632        | ZERO_T
    16371633                { $$ = DeclarationNode::newBuiltinType( DeclarationNode::Zero ); }
Note: See TracChangeset for help on using the changeset viewer.