Reserved word

[email protected] (Gilles J. Seguin)
Newsgroups gmane.comp.documentation.synopsis
Message-ID <[email protected]>
missing reserved words for g++, see attachment

some have added comment "with in C not C++",
added for completeness only.
tata.cc (text/x-c++src, 5.5 KB)
#if defined(__GNUG__) || defined(_GNUG_SYNTAX)
  { "_Bool",            RID_BOOL,       0 }, in C not C++ ??
  { "_Complex",         RID_COMPLEX,    0 },
  { "__FUNCTION__",     RID_FUNCTION_NAME, 0 },
  { "__PRETTY_FUNCTION__", RID_PRETTY_FUNCTION_NAME, 0 },
  { "__alignof",        RID_ALIGNOF,    0 },
  my_keywords["__alignof__"] = Token::SIZEOF;
  { "__asm",            RID_ASM,        0 },
  my_keywords["__asm__"] = Token::ATTRIBUTE;
  { "__attribute",      RID_ATTRIBUTE,  0 },
  my_keywords["__attribute__"] = Token::ATTRIBUTE;
  { "__builtin_choose_expr", RID_CHOOSE_EXPR, 0 },
  { "__builtin_types_compatible_p", RID_TYPES_COMPATIBLE_P, 0 },
  { "__builtin_va_arg", RID_VA_ARG,     0 },
  { "__complex",        RID_COMPLEX,    0 },
  my_keywords["__complex__"] = Token::Ignore;
  my_keywords["__const"] = Token::CONST;
  { "__const__",        RID_CONST,      0 },
  my_keywords["__extension__"] = Token::EXTENSION;
  { "__func__",         RID_C99_FUNCTION_NAME, 0 },
  { "__imag",           RID_IMAGPART,   0 },
  my_keywords["__imag__"] = Token::Ignore;
  my_keywords["__inline"] = Token::INLINE;
  my_keywords["__inline__"] = Token::INLINE;
  { "__null",           RID_NULL,       0 },
  { "__label__",        RID_LABEL,      0 },
  { "__offsetof",       RID_OFFSETOF,   0 },
  { "__offsetof__",     RID_OFFSETOF,   0 },
  { "__ptrbase",        RID_PTRBASE,    0 }, in C not C++ ??
  { "__ptrbase__",      RID_PTRBASE,    0 }, in C not C++ ??
  { "__ptrextent",      RID_PTREXTENT,  0 }, in C not C++ ??
  { "__ptrextent__",    RID_PTREXTENT,  0 }, in C not C++ ??
  { "__ptrvalue",       RID_PTRVALUE,   0 }, in C not C++ ??
  { "__ptrvalue__",     RID_PTRVALUE,   0 }, in C not C++ ??
  { "__real",           RID_REALPART,   0 },
  my_keywords["__real__"] = Token::Ignore;
  my_keywords["__restrict"] = Token::Ignore;
  my_keywords["__restrict__"] = Token::Ignore;
  my_keywords["__signed"] = Token::SIGNED;
  my_keywords["__signed__"] = Token::SIGNED;
 { "__thread",         RID_THREAD,     0 },
  my_keywords["__typeof"] = Token::TYPEOF;
  my_keywords["__typeof__"] = Token::TYPEOF;
  { "__volatile",       RID_VOLATILE,   0 },
  { "__volatile__",     RID_VOLATILE,   0 },
#endif
#if defined(_MSC_VER)
  my_keywords["cdecl"] = Token::Ignore;
  my_keywords["_cdecl"] = Token::Ignore;
  my_keywords["__cdecl"] = Token::Ignore;
  my_keywords["_fastcall"] = Token::Ignore;
  my_keywords["__fastcall"] = Token::Ignore;
  my_keywords["_based"] = Token::Ignore;
  my_keywords["__based"] = Token::Ignore;
  my_keywords["_asm"] = Token::ASM;
  my_keywords["__asm"] = Token::ASM;
  my_keywords["_inline"] = Token::INLINE;
  my_keywords["__inline"] = Token::INLINE;
  my_keywords["_stdcall"] = Token::Ignore;
  my_keywords["__stdcall"] = Token::Ignore;
  my_keywords["__declspec"] = Token::DECLSPEC;
  my_keywords["__int8"] = Token::CHAR;
  my_keywords["__int16"] = Token::SHORT;
  my_keywords["__int32"] = Token::INT;
  my_keywords["__int64"] = Token::INT64;
#endif
  my_keywords["asm"] = Token::ATTRIBUTE;
  my_keywords["auto"] = Token::AUTO;
  my_keywords["bool"] = Token::BOOLEAN;
  my_keywords["break"] = Token::BREAK;
  my_keywords["case"] = Token::CASE;
  my_keywords["catch"] = Token::CATCH;
  my_keywords["char"] = Token::CHAR;
  my_keywords["class"] = Token::CLASS;
  my_keywords["const"] = Token::CONST;
  { "const_cast",       RID_CONSTCAST,  0 },
  my_keywords["continue"] = Token::CONTINUE;
  my_keywords["default"] = Token::DEFAULT;
  my_keywords["delete"] = Token::DELETE;
  my_keywords["do"] = Token::DO;
  my_keywords["double"] = Token::DOUBLE;
  { "dynamic_cast",     RID_DYNCAST,    0 },
  my_keywords["else"] = Token::ELSE;
  my_keywords["enum"] = Token::ENUM;
lex.c:  { "explicit",           RID_EXPLICIT,   0 },
  { "export",           RID_EXPORT,     0 },
  my_keywords["extern"] = Token::EXTERN;
  { "false",            RID_FALSE,      0 },
  my_keywords["float"] = Token::FLOAT;
  my_keywords["for"] = Token::FOR;
  my_keywords["friend"] = Token::FRIEND;
  my_keywords["goto"] = Token::GOTO;
  my_keywords["if"] = Token::IF;
  my_keywords["inline"] = Token::INLINE;
  my_keywords["int"] = Token::INT;
  my_keywords["long"] = Token::LONG;
  my_keywords["mutable"] = Token::MUTABLE;
  my_keywords["namespace"] = Token::NAMESPACE;
  my_keywords["new"] = Token::NEW;
  my_keywords["operator"] = Token::OPERATOR;
  my_keywords["private"] = Token::PRIVATE;
  my_keywords["protected"] = Token::PROTECTED;
  my_keywords["public"] = Token::PUBLIC;
  my_keywords["register"] = Token::REGISTER;
  { "restrict",         RID_RESTRICT,   D_C89 }, in C not C++ ??
  { "reinterpret_cast", RID_REINTCAST,  0 },
  my_keywords["return"] = Token::RETURN;
  my_keywords["short"] = Token::SHORT;
  my_keywords["signed"] = Token::SIGNED;
  my_keywords["sizeof"] = Token::SIZEOF;
  my_keywords["static"] = Token::STATIC;
  { "static_cast",      RID_STATCAST,   0 },
  my_keywords["struct"] = Token::STRUCT;
  my_keywords["switch"] = Token::SWITCH;
  my_keywords["template"] = Token::TEMPLATE;
  my_keywords["this"] = Token::THIS;
  my_keywords["throw"] = Token::THROW;
  { "true",             RID_TRUE,       0 },
  my_keywords["try"] = Token::TRY;
  my_keywords["typedef"] = Token::TYPEDEF;
  my_keywords["typeid"] = Token::TYPEID;
  my_keywords["typename"] = Token::CLASS; // FIXME !!
  { "typeof",           RID_TYPEOF,     D_EXT },
  my_keywords["union"] = Token::UNION;
  my_keywords["unsigned"] = Token::UNSIGNED;
  my_keywords["using"] = Token::USING;
  my_keywords["virtual"] = Token::VIRTUAL;
  my_keywords["void"] = Token::VOID;
  my_keywords["volatile"] = Token::VOLATILE;
  my_keywords["wchar_t"] = Token::WCHAR;
  my_keywords["while"] = Token::WHILE;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.