Skip to content

Commit 2fecf08

Browse files
committed
ansi-c: add "" around C++ keywords
For consistency with the other tokens, add quotes "" around the C++ keywords.
1 parent 88adbbc commit 2fecf08

File tree

1 file changed

+45
-45
lines changed

1 file changed

+45
-45
lines changed

src/ansi-c/scanner.l

+45-45
Original file line numberDiff line numberDiff line change
@@ -832,48 +832,48 @@ enable_or_disable ("enable"|"disable")
832832
/* C++ Keywords and Operators */
833833
%}
834834

835-
alignas { return conditional_keyword(PARSER.cpp11, TOK_ALIGNAS); } // C++11
836-
alignof { return conditional_keyword(PARSER.cpp11, TOK_ALIGNOF); } // C++11
837-
and { return conditional_keyword(PARSER.cpp98, TOK_ANDAND); }
838-
and_eq { return conditional_keyword(PARSER.cpp98, TOK_ANDASSIGN); }
839-
bool { return conditional_keyword(PARSER.cpp98, TOK_BOOL); }
840-
catch { return conditional_keyword(PARSER.cpp98, TOK_CATCH); }
841-
char16_t { // C++11, but Visual Studio uses typedefs
835+
"alignas" { return conditional_keyword(PARSER.cpp11, TOK_ALIGNAS); } // C++11
836+
"alignof" { return conditional_keyword(PARSER.cpp11, TOK_ALIGNOF); } // C++11
837+
"and" { return conditional_keyword(PARSER.cpp98, TOK_ANDAND); }
838+
"and_eq" { return conditional_keyword(PARSER.cpp98, TOK_ANDASSIGN); }
839+
"bool" { return conditional_keyword(PARSER.cpp98, TOK_BOOL); }
840+
"catch" { return conditional_keyword(PARSER.cpp98, TOK_CATCH); }
841+
"char16_t" { // C++11, but Visual Studio uses typedefs
842842
if(PARSER.mode == configt::ansi_ct::flavourt::VISUAL_STUDIO)
843843
return make_identifier();
844844
else
845845
return conditional_keyword(PARSER.cpp11, TOK_CHAR16_T);
846846
}
847-
char32_t { // C++11, but Visual Studio uses typedefs
847+
"char32_t" { // C++11, but Visual Studio uses typedefs
848848
if(PARSER.mode == configt::ansi_ct::flavourt::VISUAL_STUDIO)
849849
return make_identifier();
850850
else
851851
return conditional_keyword(PARSER.cpp11, TOK_CHAR32_T);
852852
}
853-
class { return conditional_keyword(PARSER.cpp98, TOK_CLASS); }
854-
compl { return conditional_keyword(PARSER.cpp98, '~'); }
855-
constexpr { return conditional_keyword(PARSER.cpp11, TOK_CONSTEXPR); } // C++11
856-
delete { return conditional_keyword(PARSER.cpp98, TOK_DELETE); }
857-
decltype { return conditional_keyword(PARSER.cpp11, TOK_DECLTYPE); } // C++11
858-
explicit { return conditional_keyword(PARSER.cpp98, TOK_EXPLICIT); }
859-
false { return conditional_keyword(PARSER.cpp98, TOK_FALSE); }
860-
friend { return conditional_keyword(PARSER.cpp98, TOK_FRIEND); }
861-
mutable { return conditional_keyword(PARSER.cpp98, TOK_MUTABLE); }
862-
namespace { return conditional_keyword(PARSER.cpp98, TOK_NAMESPACE); }
863-
new { return conditional_keyword(PARSER.cpp98, TOK_NEW); }
864-
nodiscard { return conditional_keyword(PARSER.cpp11, TOK_NODISCARD); } // C++11
865-
noexcept { return conditional_keyword(PARSER.cpp11, TOK_NOEXCEPT); } // C++11
866-
noreturn { return conditional_keyword(PARSER.cpp11, TOK_NORETURN); } // C++11
867-
not { return conditional_keyword(PARSER.cpp98, '!'); }
868-
not_eq { return conditional_keyword(PARSER.cpp98, TOK_NE); }
869-
nullptr { return conditional_keyword(PARSER.cpp11, TOK_NULLPTR); } // C++11
870-
operator { return conditional_keyword(PARSER.cpp98, TOK_OPERATOR); }
871-
or { return conditional_keyword(PARSER.cpp98, TOK_OROR); }
872-
or_eq { return conditional_keyword(PARSER.cpp98, TOK_ORASSIGN); }
873-
private { return conditional_keyword(PARSER.cpp98, TOK_PRIVATE); }
874-
protected { return conditional_keyword(PARSER.cpp98, TOK_PROTECTED); }
875-
public { return conditional_keyword(PARSER.cpp98, TOK_PUBLIC); }
876-
static_assert { // C++11, but Visual Studio supports it in all modes
853+
"class" { return conditional_keyword(PARSER.cpp98, TOK_CLASS); }
854+
"compl" { return conditional_keyword(PARSER.cpp98, '~'); }
855+
"constexpr" { return conditional_keyword(PARSER.cpp11, TOK_CONSTEXPR); } // C++11
856+
"delete" { return conditional_keyword(PARSER.cpp98, TOK_DELETE); }
857+
"decltype" { return conditional_keyword(PARSER.cpp11, TOK_DECLTYPE); } // C++11
858+
"explicit" { return conditional_keyword(PARSER.cpp98, TOK_EXPLICIT); }
859+
"false" { return conditional_keyword(PARSER.cpp98, TOK_FALSE); }
860+
"friend" { return conditional_keyword(PARSER.cpp98, TOK_FRIEND); }
861+
"mutable" { return conditional_keyword(PARSER.cpp98, TOK_MUTABLE); }
862+
"namespace" { return conditional_keyword(PARSER.cpp98, TOK_NAMESPACE); }
863+
"new" { return conditional_keyword(PARSER.cpp98, TOK_NEW); }
864+
"nodiscard" { return conditional_keyword(PARSER.cpp11, TOK_NODISCARD); } // C++11
865+
"noexcept" { return conditional_keyword(PARSER.cpp11, TOK_NOEXCEPT); } // C++11
866+
"noreturn" { return conditional_keyword(PARSER.cpp11, TOK_NORETURN); } // C++11
867+
"not" { return conditional_keyword(PARSER.cpp98, '!'); }
868+
"not_eq" { return conditional_keyword(PARSER.cpp98, TOK_NE); }
869+
"nullptr" { return conditional_keyword(PARSER.cpp11, TOK_NULLPTR); } // C++11
870+
"operator" { return conditional_keyword(PARSER.cpp98, TOK_OPERATOR); }
871+
"or" { return conditional_keyword(PARSER.cpp98, TOK_OROR); }
872+
"or_eq" { return conditional_keyword(PARSER.cpp98, TOK_ORASSIGN); }
873+
"private" { return conditional_keyword(PARSER.cpp98, TOK_PRIVATE); }
874+
"protected" { return conditional_keyword(PARSER.cpp98, TOK_PROTECTED); }
875+
"public" { return conditional_keyword(PARSER.cpp98, TOK_PUBLIC); }
876+
"static_assert" { // C++11, but Visual Studio supports it in all modes
877877
// as a keyword, even though the documentation claims
878878
// it's a macro.
879879
if(PARSER.mode == configt::ansi_ct::flavourt::VISUAL_STUDIO)
@@ -883,24 +883,24 @@ static_assert { // C++11, but Visual Studio supports it in all modes
883883
else
884884
return conditional_keyword(PARSER.cpp11, TOK_STATIC_ASSERT);
885885
}
886-
template { return conditional_keyword(PARSER.cpp98, TOK_TEMPLATE); }
887-
this { return conditional_keyword(PARSER.cpp98, TOK_THIS); }
888-
thread_local { return conditional_keyword(PARSER.cpp11, TOK_THREAD_LOCAL); } // C++11
889-
throw { return conditional_keyword(PARSER.cpp98, TOK_THROW); }
890-
true { return conditional_keyword(PARSER.cpp98, TOK_TRUE); }
891-
typeid { return conditional_keyword(PARSER.cpp98, TOK_TYPEID); }
892-
typename { return conditional_keyword(PARSER.cpp98, TOK_TYPENAME); }
893-
using { return conditional_keyword(PARSER.cpp98, TOK_USING); }
894-
virtual { return conditional_keyword(PARSER.cpp98, TOK_VIRTUAL); }
895-
wchar_t { // CodeWarrior doesn't have wchar_t built in,
886+
"template" { return conditional_keyword(PARSER.cpp98, TOK_TEMPLATE); }
887+
"this" { return conditional_keyword(PARSER.cpp98, TOK_THIS); }
888+
"thread_local" { return conditional_keyword(PARSER.cpp11, TOK_THREAD_LOCAL); } // C++11
889+
"throw" { return conditional_keyword(PARSER.cpp98, TOK_THROW); }
890+
"true" { return conditional_keyword(PARSER.cpp98, TOK_TRUE); }
891+
"typeid" { return conditional_keyword(PARSER.cpp98, TOK_TYPEID); }
892+
"typename" { return conditional_keyword(PARSER.cpp98, TOK_TYPENAME); }
893+
"using" { return conditional_keyword(PARSER.cpp98, TOK_USING); }
894+
"virtual" { return conditional_keyword(PARSER.cpp98, TOK_VIRTUAL); }
895+
"wchar_t" { // CodeWarrior doesn't have wchar_t built in,
896896
// and MSC has a command-line option to turn it off
897897
if(PARSER.mode==configt::ansi_ct::flavourt::CODEWARRIOR)
898898
return make_identifier();
899899
else
900900
return conditional_keyword(PARSER.cpp98, TOK_WCHAR_T);
901901
}
902-
xor { return conditional_keyword(PARSER.cpp98, '^'); }
903-
xor_eq { return conditional_keyword(PARSER.cpp98, TOK_XORASSIGN); }
902+
"xor" { return conditional_keyword(PARSER.cpp98, '^'); }
903+
"xor_eq" { return conditional_keyword(PARSER.cpp98, TOK_XORASSIGN); }
904904
".*" { return cpp_operator(TOK_DOTPM); }
905905
"->*" { return cpp_operator(TOK_ARROWPM); }
906906
"::" { if(PARSER.cpp98)
@@ -914,7 +914,7 @@ xor_eq { return conditional_keyword(PARSER.cpp98, TOK_XORASSIGN); }
914914
}
915915
}
916916

917-
__decltype { if(PARSER.cpp98 &&
917+
"__decltype" { if(PARSER.cpp98 &&
918918
(PARSER.mode==configt::ansi_ct::flavourt::GCC ||
919919
PARSER.mode==configt::ansi_ct::flavourt::CLANG))
920920
return conditional_keyword(PARSER.cpp98, TOK_DECLTYPE);

0 commit comments

Comments
 (0)