Changes in src/CodeGen/OperatorTable.cc [98538288:7102540]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/OperatorTable.cc
r98538288 r7102540 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sat Jul 15 17:12:22 201713 // Update Count : 1 512 // Last Modified On : Mon Feb 10 18:12:12 2020 13 // Update Count : 17 14 14 // 15 15 … … 24 24 namespace { 25 25 const OperatorInfo tableValues[] = { 26 { "?[?]", "", "_operator_index", "Index", OT_INDEX},27 { "?{}", "=", "_constructor", "Constructor", OT_CTOR},28 { "^?{}", "", "_destructor", "Destructor", OT_DTOR},29 { "?()", "", "_operator_call", "Call Operator", OT_CALL},30 { "?++", "++", "_operator_postincr", "Postfix Increment", OT_POSTFIXASSIGN},31 { "?--", "--", "_operator_postdecr", "Postfix Decrement", OT_POSTFIXASSIGN},32 { "*?", "*", "_operator_deref", "Dereference", OT_PREFIX},33 { "+?", "+", "_operator_unaryplus", "Plus", OT_PREFIX},34 { "-?", "-", "_operator_unaryminus", "Minus", OT_PREFIX},35 { "~?", "~", "_operator_bitnot", "Bitwise Not", OT_PREFIX},36 { "!?", "!", "_operator_lognot", "Logical Not", OT_PREFIX},37 { "++?", "++", "_operator_preincr", "Prefix Increment", OT_PREFIXASSIGN},38 { "--?", "--", "_operator_predecr", "Prefix Decrement", OT_PREFIXASSIGN},39 { "?\\?", "\\", "_operator_exponential", "Exponentiation", OT_INFIX},40 { "?*?", "*", "_operator_multiply", "Multiplication", OT_INFIX},41 { "?/?", "/", "_operator_divide", "Division", OT_INFIX},42 { "?%?", "%", "_operator_modulus", "Modulo", OT_INFIX},43 { "?+?", "+", "_operator_add", "Addition", OT_INFIX},44 { "?-?", "-", "_operator_subtract", "Substraction", OT_INFIX},45 { "?<<?", "<<", "_operator_shiftleft", "Shift Left", OT_INFIX},46 { "?>>?", ">>", "_operator_shiftright", "Shift Right", OT_INFIX},47 { "?<?", "<", "_operator_less", "Less-than", OT_INFIX},48 { "?>?", ">", "_operator_greater", "Greater-than", OT_INFIX},49 { "?<=?", "<=", "_operator_lessequal", "Less-than-or-Equal", OT_INFIX},50 { "?>=?", ">=", "_operator_greaterequal", "Greater-than-or-Equal", OT_INFIX},51 { "?==?", "==", "_operator_equal", "Equality", OT_INFIX},52 { "?!=?", "!=", "_operator_notequal", "Not-Equal", OT_INFIX},53 { "?&?", "&", "_operator_bitand", "Bitwise And", OT_INFIX},54 { "?^?", "^", "_operator_bitxor", "Bitwise Xor", OT_INFIX},55 { "?|?", "|", "_operator_bitor", "Bitwise Or", OT_INFIX},56 { "?=?", "=", "_operator_assign", "Assignment", OT_INFIXASSIGN},57 { "?\\=?", "\\=", "_operator_expassign", "Exponentiation Assignment", OT_INFIXASSIGN},58 { "?*=?", "*=", "_operator_multassign", "Multiplication Assignment", OT_INFIXASSIGN},59 { "?/=?", "/=", "_operator_divassign", "Division Assignment", OT_INFIXASSIGN},60 { "?%=?", "%=", "_operator_modassign", "Modulo Assignment", OT_INFIXASSIGN},61 { "?+=?", "+=", "_operator_addassign", "Addition Assignment", OT_INFIXASSIGN},62 { "?-=?", "-=", "_operator_subassign", "Substrction Assignment", OT_INFIXASSIGN},63 { "?<<=?", "<<=", "_operator_shiftleftassign", "Shift Left Assignment", OT_INFIXASSIGN},64 { "?>>=?", ">>=", "_operator_shiftrightassign", "Shift Right Assignment", OT_INFIXASSIGN},65 { "?&=?", "&=", "_operator_bitandassign", "Bitwise And Assignment", OT_INFIXASSIGN},66 { "?^=?", "^=", "_operator_bitxorassign", "Bitwise Xor Assignment", OT_INFIXASSIGN},67 { "?|=?", "|=", "_operator_bitorassign", "Bitwise Or Assignment", OT_INFIXASSIGN},26 { "?[?]", "", "_operator_index", OT_INDEX }, 27 { "?{}", "=", "_constructor", OT_CTOR }, 28 { "^?{}", "", "_destructor", OT_DTOR }, 29 { "?()", "", "_operator_call", OT_CALL }, 30 { "?++", "++", "_operator_postincr", OT_POSTFIXASSIGN }, 31 { "?--", "--", "_operator_postdecr", OT_POSTFIXASSIGN }, 32 { "*?", "*", "_operator_deref", OT_PREFIX }, 33 { "+?", "+", "_operator_unaryplus", OT_PREFIX }, 34 { "-?", "-", "_operator_unaryminus", OT_PREFIX }, 35 { "~?", "~", "_operator_bitnot", OT_PREFIX }, 36 { "!?", "!", "_operator_lognot", OT_PREFIX }, 37 { "++?", "++", "_operator_preincr", OT_PREFIXASSIGN }, 38 { "--?", "--", "_operator_predecr", OT_PREFIXASSIGN }, 39 { "?\\?", "\\", "_operator_exponential", OT_INFIX }, 40 { "?*?", "*", "_operator_multiply", OT_INFIX }, 41 { "?/?", "/", "_operator_divide", OT_INFIX }, 42 { "?%?", "%", "_operator_modulus", OT_INFIX }, 43 { "?+?", "+", "_operator_add", OT_INFIX }, 44 { "?-?", "-", "_operator_subtract", OT_INFIX }, 45 { "?<<?", "<<", "_operator_shiftleft", OT_INFIX }, 46 { "?>>?", ">>", "_operator_shiftright", OT_INFIX }, 47 { "?<?", "<", "_operator_less", OT_INFIX }, 48 { "?>?", ">", "_operator_greater", OT_INFIX }, 49 { "?<=?", "<=", "_operator_lessequal", OT_INFIX }, 50 { "?>=?", ">=", "_operator_greaterequal", OT_INFIX }, 51 { "?==?", "==", "_operator_equal", OT_INFIX }, 52 { "?!=?", "!=", "_operator_notequal", OT_INFIX }, 53 { "?&?", "&", "_operator_bitand", OT_INFIX }, 54 { "?^?", "^", "_operator_bitxor", OT_INFIX }, 55 { "?|?", "|", "_operator_bitor", OT_INFIX }, 56 { "?=?", "=", "_operator_assign", OT_INFIXASSIGN }, 57 { "?\\=?", "\\=", "_operator_expassign", OT_INFIXASSIGN }, 58 { "?*=?", "*=", "_operator_multassign", OT_INFIXASSIGN }, 59 { "?/=?", "/=", "_operator_divassign", OT_INFIXASSIGN }, 60 { "?%=?", "%=", "_operator_modassign", OT_INFIXASSIGN }, 61 { "?+=?", "+=", "_operator_addassign", OT_INFIXASSIGN }, 62 { "?-=?", "-=", "_operator_subassign", OT_INFIXASSIGN }, 63 { "?<<=?", "<<=", "_operator_shiftleftassign", OT_INFIXASSIGN }, 64 { "?>>=?", ">>=", "_operator_shiftrightassign", OT_INFIXASSIGN }, 65 { "?&=?", "&=", "_operator_bitandassign", OT_INFIXASSIGN }, 66 { "?^=?", "^=", "_operator_bitxorassign", OT_INFIXASSIGN }, 67 { "?|=?", "|=", "_operator_bitorassign", OT_INFIXASSIGN }, 68 68 }; 69 69 … … 87 87 std::map< std::string, OperatorInfo >::const_iterator i = table.find( funcName ); 88 88 if ( i == table.end() ) { 89 if ( isPrefix( funcName, "?`" ) ) { 90 // handle literal suffixes, which are user-defined postfix operators 89 if ( isPrefix( funcName, "?`" ) ) { // user-defined postfix operator ? 91 90 info.inputName = funcName; 92 91 info.symbol = funcName.substr(2); 93 info.outputName = toString( "__ operator_literal_", info.symbol );92 info.outputName = toString( "__postfix_call_", info.symbol ); 94 93 info.type = OT_POSTFIX; 95 94 return true; … … 105 104 OperatorInfo info; 106 105 return operatorLookup( funcName, info ); 107 }108 109 std::string operatorFriendlyName( const std::string & funcName ) {110 OperatorInfo info;111 if( operatorLookup( funcName, info ) ) {112 return info.friendlyName;113 }114 return "";115 106 } 116 107
Note: See TracChangeset
for help on using the changeset viewer.