このエラーが発生する理由を理解しようとしています。
switch (token.type.GetName())
{
case PascalTokenType.BEGIN.name: // ERROR: A CONSTANT VALUE IS EXPECTED
{
CompoundStatementParser compoundParser = new CompoundStatementParser(this);
statementNode = compoundParser.parse(token);
break;
}
}
GetName()
両方とも文字列をname
返します。オブジェクトは次のようになります。
public static readonly PascalTokenType BEGIN = new PascalTokenType("BEGIN");
この問題をステートメントに変更することで回避できることはわかっていますif
が、これが完了すると、少なくとも20の条件が発生するので、そうはしません。BEGIN.name
実行時まで割り当てられていないからだと思いますか?