Changeset e15853c for src/Parser
- Timestamp:
 - Feb 14, 2019, 10:26:59 AM (7 years ago)
 - Branches:
 - ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, persistent-indexer, pthread-emulation, qualifiedEnum
 - Children:
 - 70a3e16, 85d44c6
 - Parents:
 - e782290
 - Location:
 - src/Parser
 - Files:
 - 
      
- 5 edited
 
- 
          
  ExpressionNode.cc (modified) (2 diffs)
 - 
          
  ParseNode.h (modified) (2 diffs)
 - 
          
  TypeData.cc (modified) (4 diffs)
 - 
          
  lex.ll (modified) (2 diffs)
 - 
          
  parser.yy (modified) (3 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
src/Parser/ExpressionNode.cc
re782290 re15853c 10 10 // Created On : Sat May 16 13:17:07 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 7 22:35:29201913 // Update Count : 90 012 // Last Modified On : Wed Feb 13 18:07:38 2019 13 // Update Count : 902 14 14 // 15 15 … … 233 233 Expression * build_constantFloat( string & str ) { 234 234 static const BasicType::Kind kind[2][12] = { 235 { BasicType::Float, BasicType::Double, BasicType::LongDouble, BasicType:: __float80, BasicType::__float128, BasicType::_Float16, BasicType::_Float32, BasicType::_Float32x, BasicType::_Float64, BasicType::_Float64x, BasicType::_Float128, BasicType::_Float128x },236 { BasicType::FloatComplex, BasicType::DoubleComplex, BasicType::LongDoubleComplex, (BasicType::Kind)-1, (BasicType::Kind)-1, BasicType:: _Float16Complex, BasicType::_Float32Complex, BasicType::_Float32xComplex, BasicType::_Float64Complex, BasicType::_Float64xComplex, BasicType::_Float128Complex, BasicType::_Float128xComplex },235 { BasicType::Float, BasicType::Double, BasicType::LongDouble, BasicType::uuFloat80, BasicType::uuFloat128, BasicType::uFloat16, BasicType::uFloat32, BasicType::uFloat32x, BasicType::uFloat64, BasicType::uFloat64x, BasicType::uFloat128, BasicType::uFloat128x }, 236 { BasicType::FloatComplex, BasicType::DoubleComplex, BasicType::LongDoubleComplex, (BasicType::Kind)-1, (BasicType::Kind)-1, BasicType::uFloat16Complex, BasicType::uFloat32Complex, BasicType::uFloat32xComplex, BasicType::uFloat64Complex, BasicType::uFloat64xComplex, BasicType::uFloat128Complex, BasicType::uFloat128xComplex }, 237 237 }; 238 238  - 
      
src/Parser/ParseNode.h
re782290 re15853c 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Feb 1 16:48:10201913 // Update Count : 86 612 // Last Modified On : Wed Feb 13 17:36:49 2019 13 // Update Count : 867 14 14 // 15 15 … … 208 208 // These enumerations must harmonize with their names in DeclarationNode.cc. 209 209 enum BasicType { Void, Bool, Char, Int, Int128, 210 Float, Double, LongDouble, Float80,Float128,211 _Float16, _Float32, _Float32x, _Float64, _Float64x, _Float128, _Float128x, NoBasicType };210 Float, Double, LongDouble, uuFloat80, uuFloat128, 211 uFloat16, uFloat32, uFloat32x, uFloat64, uFloat64x, uFloat128, uFloat128x, NoBasicType }; 212 212 static const char * basicTypeNames[]; 213 213 enum ComplexType { Complex, NoComplexType, Imaginary }; // Imaginary unsupported => parse, but make invisible and print error message  - 
      
src/Parser/TypeData.cc
re782290 re15853c 10 10 // Created On : Sat May 16 15:12:51 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Feb 8 09:36:26201913 // Update Count : 64 512 // Last Modified On : Wed Feb 13 18:16:23 2019 13 // Update Count : 649 14 14 // 15 15 … … 629 629 } // if 630 630 631 ret = BasicType:: _Bool;631 ret = BasicType::Bool; 632 632 break; 633 633 … … 668 668 case DeclarationNode::Double: 669 669 case DeclarationNode::LongDouble: // not set until below 670 case DeclarationNode:: Float80:671 case DeclarationNode:: Float128:672 case DeclarationNode:: _Float16:673 case DeclarationNode:: _Float32:674 case DeclarationNode:: _Float32x:675 case DeclarationNode:: _Float64:676 case DeclarationNode:: _Float64x:677 case DeclarationNode:: _Float128:678 case DeclarationNode:: _Float128x:670 case DeclarationNode::uuFloat80: 671 case DeclarationNode::uuFloat128: 672 case DeclarationNode::uFloat16: 673 case DeclarationNode::uFloat32: 674 case DeclarationNode::uFloat32x: 675 case DeclarationNode::uFloat64: 676 case DeclarationNode::uFloat64x: 677 case DeclarationNode::uFloat128: 678 case DeclarationNode::uFloat128x: 679 679 static BasicType::Kind floattype[2][12] = { 680 { BasicType::FloatComplex, BasicType::DoubleComplex, BasicType::LongDoubleComplex, (BasicType::Kind)-1, (BasicType::Kind)-1, BasicType:: _Float16Complex, BasicType::_Float32Complex, BasicType::_Float32xComplex, BasicType::_Float64Complex, BasicType::_Float64xComplex, BasicType::_Float128Complex, BasicType::_Float128xComplex, },681 { BasicType::Float, BasicType::Double, BasicType::LongDouble, BasicType:: __float80, BasicType::__float128, BasicType::_Float16, BasicType::_Float32, BasicType::_Float32x, BasicType::_Float64, BasicType::_Float64x, BasicType::_Float128, BasicType::_Float128x, },680 { BasicType::FloatComplex, BasicType::DoubleComplex, BasicType::LongDoubleComplex, (BasicType::Kind)-1, (BasicType::Kind)-1, BasicType::uFloat16Complex, BasicType::uFloat32Complex, BasicType::uFloat32xComplex, BasicType::uFloat64Complex, BasicType::uFloat64xComplex, BasicType::uFloat128Complex, BasicType::uFloat128xComplex, }, 681 { BasicType::Float, BasicType::Double, BasicType::LongDouble, BasicType::uuFloat80, BasicType::uuFloat128, BasicType::uFloat16, BasicType::uFloat32, BasicType::uFloat32x, BasicType::uFloat64, BasicType::uFloat64x, BasicType::uFloat128, BasicType::uFloat128x, }, 682 682 }; 683 683 … … 695 695 genTSError( DeclarationNode::complexTypeNames[ td->complextype ], td->basictype ); 696 696 } // if 697 if ( (td->basictype == DeclarationNode:: Float80 || td->basictype == DeclarationNode::Float128) && td->complextype == DeclarationNode::Complex ) { // gcc unsupported697 if ( (td->basictype == DeclarationNode::uuFloat80 || td->basictype == DeclarationNode::uuFloat128) && td->complextype == DeclarationNode::Complex ) { // gcc unsupported 698 698 genTSError( DeclarationNode::complexTypeNames[ td->complextype ], td->basictype ); 699 699 } // if  - 
      
src/Parser/lex.ll
re782290 re15853c 10 10 * Created On : Sat Sep 22 08:58:10 2001 11 11 * Last Modified By : Peter A. Buhr 12 * Last Modified On : Mon Feb 4 22:49:19201913 * Update Count : 70 112 * Last Modified On : Wed Feb 13 17:33:53 2019 13 * Update Count : 702 14 14 */ 15 15 … … 247 247 finally { KEYWORD_RETURN(FINALLY); } // CFA 248 248 float { KEYWORD_RETURN(FLOAT); } 249 __float80 { KEYWORD_RETURN( FLOAT80); } // GCC250 float80 { KEYWORD_RETURN( FLOAT80); } // GCC251 __float128 { KEYWORD_RETURN( FLOAT128); } // GCC252 float128 { KEYWORD_RETURN( FLOAT128); } // GCC253 _Float16 { FLOATXX( _FLOAT16); } // GCC254 _Float32 { FLOATXX( _FLOAT32); } // GCC255 _Float32x { FLOATXX( _FLOAT32X); } // GCC256 _Float64 { FLOATXX( _FLOAT64); } // GCC257 _Float64x { FLOATXX( _FLOAT64X); } // GCC258 _Float128 { FLOATXX( _FLOAT128); } // GCC259 _Float128x { FLOATXX( _FLOAT128); } // GCC249 __float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 250 float80 { KEYWORD_RETURN(uuFLOAT80); } // GCC 251 __float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 252 float128 { KEYWORD_RETURN(uuFLOAT128); } // GCC 253 _Float16 { FLOATXX(uFLOAT16); } // GCC 254 _Float32 { FLOATXX(uFLOAT32); } // GCC 255 _Float32x { FLOATXX(uFLOAT32X); } // GCC 256 _Float64 { FLOATXX(uFLOAT64); } // GCC 257 _Float64x { FLOATXX(uFLOAT64X); } // GCC 258 _Float128 { FLOATXX(uFLOAT128); } // GCC 259 _Float128x { FLOATXX(uFLOAT128); } // GCC 260 260 for { KEYWORD_RETURN(FOR); } 261 261 forall { KEYWORD_RETURN(FORALL); } // CFA  - 
      
src/Parser/parser.yy
re782290 re15853c 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Feb 1 16:26:47201913 // Update Count : 406 112 // Last Modified On : Wed Feb 13 17:56:23 2019 13 // Update Count : 4064 14 14 // 15 15 … … 263 263 %token VOID CHAR SHORT INT LONG FLOAT DOUBLE SIGNED UNSIGNED 264 264 %token BOOL COMPLEX IMAGINARY // C99 265 %token INT128 FLOAT80 FLOAT128// GCC266 %token _FLOAT16 _FLOAT32 _FLOAT32X _FLOAT64 _FLOAT64X _FLOAT128 // GCC265 %token INT128 uuFLOAT80 uuFLOAT128 // GCC 266 %token uFLOAT16 uFLOAT32 uFLOAT32X uFLOAT64 uFLOAT64X uFLOAT128 // GCC 267 267 %token ZERO_T ONE_T // CFA 268 268 %token VALIST // GCC … … 1774 1774 | DOUBLE 1775 1775 { $$ = DeclarationNode::newBasicType( DeclarationNode::Double ); } 1776 | FLOAT801777 { $$ = DeclarationNode::newBasicType( DeclarationNode:: Float80 ); }1778 | FLOAT1281779 { $$ = DeclarationNode::newBasicType( DeclarationNode:: Float128 ); }1780 | _FLOAT161781 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float16 ); }1782 | _FLOAT321783 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float32 ); }1784 | _FLOAT32X1785 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float32x ); }1786 | _FLOAT641787 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float64 ); }1788 | _FLOAT64X1789 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float64x ); }1790 | _FLOAT1281791 { $$ = DeclarationNode::newBasicType( DeclarationNode:: _Float128 ); }1776 | uuFLOAT80 1777 { $$ = DeclarationNode::newBasicType( DeclarationNode::uuFloat80 ); } 1778 | uuFLOAT128 1779 { $$ = DeclarationNode::newBasicType( DeclarationNode::uuFloat128 ); } 1780 | uFLOAT16 1781 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat16 ); } 1782 | uFLOAT32 1783 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat32 ); } 1784 | uFLOAT32X 1785 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat32x ); } 1786 | uFLOAT64 1787 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat64 ); } 1788 | uFLOAT64X 1789 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat64x ); } 1790 | uFLOAT128 1791 { $$ = DeclarationNode::newBasicType( DeclarationNode::uFloat128 ); } 1792 1792 | COMPLEX // C99 1793 1793 { $$ = DeclarationNode::newComplexType( DeclarationNode::Complex ); }  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.