Skip to content

Commit 9fbdf4b

Browse files
committed
ansi-c: add "" around C++ keywords
For consistency with the other tokens, add quotes "" around the C++ keywords.
1 parent ce7029f commit 9fbdf4b

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
@@ -834,73 +834,73 @@ enable_or_disable ("enable"|"disable")
834834
/* C++ Keywords and Operators */
835835
%}
836836

837-
alignas { return conditional_keyword(PARSER.cpp11, TOK_ALIGNAS); } // C++11
838-
alignof { return conditional_keyword(PARSER.cpp11, TOK_ALIGNOF); } // C++11
839-
and { return conditional_keyword(PARSER.cpp98, TOK_ANDAND); }
840-
and_eq { return conditional_keyword(PARSER.cpp98, TOK_ANDASSIGN); }
841-
bool { return conditional_keyword(PARSER.cpp98, TOK_BOOL); }
842-
catch { return conditional_keyword(PARSER.cpp98, TOK_CATCH); }
843-
char16_t { // C++11, but Visual Studio uses typedefs
837+
"alignas" { return conditional_keyword(PARSER.cpp11, TOK_ALIGNAS); } // C++11
838+
"alignof" { return conditional_keyword(PARSER.cpp11, TOK_ALIGNOF); } // C++11
839+
"and" { return conditional_keyword(PARSER.cpp98, TOK_ANDAND); }
840+
"and_eq" { return conditional_keyword(PARSER.cpp98, TOK_ANDASSIGN); }
841+
"bool" { return conditional_keyword(PARSER.cpp98, TOK_BOOL); }
842+
"catch" { return conditional_keyword(PARSER.cpp98, TOK_CATCH); }
843+
"char16_t" { // C++11, but Visual Studio uses typedefs
844844
return conditional_keyword(
845845
PARSER.cpp11 &&
846846
PARSER.mode != configt::ansi_ct::flavourt::VISUAL_STUDIO,
847847
TOK_CHAR16_T);
848848
}
849-
char32_t { // C++11, but Visual Studio uses typedefs
849+
"char32_t" { // C++11, but Visual Studio uses typedefs
850850
return conditional_keyword(
851851
PARSER.cpp11 &&
852852
PARSER.mode != configt::ansi_ct::flavourt::VISUAL_STUDIO,
853853
TOK_CHAR32_T);
854854
}
855-
class { return conditional_keyword(PARSER.cpp98, TOK_CLASS); }
856-
compl { return conditional_keyword(PARSER.cpp98, '~'); }
857-
constexpr { return conditional_keyword(PARSER.cpp11, TOK_CONSTEXPR); } // C++11
858-
delete { return conditional_keyword(PARSER.cpp98, TOK_DELETE); }
859-
decltype { return conditional_keyword(PARSER.cpp11, TOK_DECLTYPE); } // C++11
860-
explicit { return conditional_keyword(PARSER.cpp98, TOK_EXPLICIT); }
861-
false { return conditional_keyword(PARSER.cpp98, TOK_FALSE); }
862-
friend { return conditional_keyword(PARSER.cpp98, TOK_FRIEND); }
863-
mutable { return conditional_keyword(PARSER.cpp98, TOK_MUTABLE); }
864-
namespace { return conditional_keyword(PARSER.cpp98, TOK_NAMESPACE); }
865-
new { return conditional_keyword(PARSER.cpp98, TOK_NEW); }
866-
nodiscard { return conditional_keyword(PARSER.cpp11, TOK_NODISCARD); } // C++11
867-
noexcept { return conditional_keyword(PARSER.cpp11, TOK_NOEXCEPT); } // C++11
868-
noreturn { return conditional_keyword(PARSER.cpp11, TOK_NORETURN); } // C++11
869-
not { return conditional_keyword(PARSER.cpp98, '!'); }
870-
not_eq { return conditional_keyword(PARSER.cpp98, TOK_NE); }
871-
nullptr { return conditional_keyword(PARSER.cpp11, TOK_NULLPTR); } // C++11
872-
operator { return conditional_keyword(PARSER.cpp98, TOK_OPERATOR); }
873-
or { return conditional_keyword(PARSER.cpp98, TOK_OROR); }
874-
or_eq { return conditional_keyword(PARSER.cpp98, TOK_ORASSIGN); }
875-
private { return conditional_keyword(PARSER.cpp98, TOK_PRIVATE); }
876-
protected { return conditional_keyword(PARSER.cpp98, TOK_PROTECTED); }
877-
public { return conditional_keyword(PARSER.cpp98, TOK_PUBLIC); }
878-
static_assert { // C++11, but Visual Studio supports it in all modes
855+
"class" { return conditional_keyword(PARSER.cpp98, TOK_CLASS); }
856+
"compl" { return conditional_keyword(PARSER.cpp98, '~'); }
857+
"constexpr" { return conditional_keyword(PARSER.cpp11, TOK_CONSTEXPR); } // C++11
858+
"delete" { return conditional_keyword(PARSER.cpp98, TOK_DELETE); }
859+
"decltype" { return conditional_keyword(PARSER.cpp11, TOK_DECLTYPE); } // C++11
860+
"explicit" { return conditional_keyword(PARSER.cpp98, TOK_EXPLICIT); }
861+
"false" { return conditional_keyword(PARSER.cpp98, TOK_FALSE); }
862+
"friend" { return conditional_keyword(PARSER.cpp98, TOK_FRIEND); }
863+
"mutable" { return conditional_keyword(PARSER.cpp98, TOK_MUTABLE); }
864+
"namespace" { return conditional_keyword(PARSER.cpp98, TOK_NAMESPACE); }
865+
"new" { return conditional_keyword(PARSER.cpp98, TOK_NEW); }
866+
"nodiscard" { return conditional_keyword(PARSER.cpp11, TOK_NODISCARD); } // C++11
867+
"noexcept" { return conditional_keyword(PARSER.cpp11, TOK_NOEXCEPT); } // C++11
868+
"noreturn" { return conditional_keyword(PARSER.cpp11, TOK_NORETURN); } // C++11
869+
"not" { return conditional_keyword(PARSER.cpp98, '!'); }
870+
"not_eq" { return conditional_keyword(PARSER.cpp98, TOK_NE); }
871+
"nullptr" { return conditional_keyword(PARSER.cpp11, TOK_NULLPTR); } // C++11
872+
"operator" { return conditional_keyword(PARSER.cpp98, TOK_OPERATOR); }
873+
"or" { return conditional_keyword(PARSER.cpp98, TOK_OROR); }
874+
"or_eq" { return conditional_keyword(PARSER.cpp98, TOK_ORASSIGN); }
875+
"private" { return conditional_keyword(PARSER.cpp98, TOK_PRIVATE); }
876+
"protected" { return conditional_keyword(PARSER.cpp98, TOK_PROTECTED); }
877+
"public" { return conditional_keyword(PARSER.cpp98, TOK_PUBLIC); }
878+
"static_assert" { // C++11, but Visual Studio supports it in all modes
879879
// as a keyword, even though the documentation claims
880880
// it's a macro.
881881
return conditional_keyword(
882882
PARSER.cpp11 ||
883883
PARSER.mode == configt::ansi_ct::flavourt::VISUAL_STUDIO,
884884
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
return conditional_keyword(
898898
PARSER.cpp98 &&
899899
PARSER.mode!=configt::ansi_ct::flavourt::CODEWARRIOR,
900900
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 { return conditional_keyword(
917+
"__decltype" { return conditional_keyword(
918918
PARSER.cpp98 &&
919919
(PARSER.mode==configt::ansi_ct::flavourt::GCC ||
920920
PARSER.mode==configt::ansi_ct::flavourt::CLANG),

0 commit comments

Comments
 (0)