Augment MATCH_NEWLINE() in the preprocessor so its usage looks like an ordinary case...
[cparser] / tokens_preprocessor.inc
index 9fb7966..e10b76f 100644 (file)
@@ -1,3 +1,20 @@
+#ifndef TS
+#define TS(x,str,val)
+#endif
+
+TS(IDENTIFIER,         "identifier", = 256)
+TS(NUMBER,             "number",)
+TS(CHARACTER_CONSTANT, "character constant",)
+TS(STRING_LITERAL,     "string literal",)
+TS(HEADERNAME,         "headername",)
+TS(PUNCTUATOR,         "punctuator",)
+
+#define ALTERNATE(name, val)          T(_CXX, name, #name,  val)
+#define PUNCTUATOR(name, string, val) T(_ALL, name, string, val)
+#include "tokens_punctuator.inc"
+#undef PUNCTUATOR
+#undef ALTERNATE
+
 #define S(x)   T(_ALL,x,#x,)
 
 S(if)
@@ -15,6 +32,8 @@ S(pragma)
 
 S(defined)
 T(_ALL, va_args, "__VA_ARGS__",)
+T(_MS, __COUNTER__, "__COUNTER__",)
+T(_MS, __TIMESTAMP__, "__TIMESTAMP__",)
 
 S(STDC)
 S(ON)
@@ -25,5 +44,3 @@ S(FENV_ACCESS)
 S(CX_LIMITED_RANGE)
 
 #undef S
-
-#define TP_LAST_TOKEN  (TP_CX_LIMITED_RANGE + 1)