私が使用している正規表現は、flexでプリプロセッサを実装するためのものです。 このプリプロセッサはとてもシンプルです。 それは、次の規則に従う:プリプロセッサディレクティブは大文字で識別子が続きます。#define "#"で始まり#defineではないすべてのテキストの正規表現
- プリプロセッサ識別子のユースケースは、
#
記号で始まります。例えば
:私がやった
#define CONSTANT 100
//...
int x = #CONSTANT;
ので、まず最初に、文字列が 'D' が続くか 'が続いていない '#' で始まる
#define {
//store the identifier following #define in a lookup table
//do the relevant error checking
}
NO_POUND_DEFINE {
//The string should begin with a '#' sign but not with `#define`
//check if the string following '#' is upper case or not
//if in upper case do the lookup otherwise throw an error
}
どのような言語ですか? #defineにマッチする '#define'はどうでしょうか? – NullUserException