我需要C ++代码生成,这就是我使用ANTLR3的原因。 我想解析: 标识符(TOKEN_A(LEX_A | LEX_B | ANYTHING)TOK_B) 我这样实现它:
enum_default_value_coma
:
EQUAL
( valI0=SIGNED_INTEGER { m_oCurrentEnumValue.AddDefaultValue( static_cast< Int64 >( atoll( $valI0.text.c_str() ) ) ); }
| valU0=UNSIGNED_INTEGER { m_oCurrentEnumValue.AddDefaultValue( static_cast< UInt64 >( atoll( $valU0.text.c_str() ) ) ); }
| valS0=XXXXXX { m_oCurrentEnumValue.AddDefaultValue( $valS0.text ); }
)?
COMA { m_oCurrentEnum.AddValue( m_oCurrentEnumValue ); }
;
我不知道如何检测“其他任何东西”,XXXXXX。 我们有“其他”模式吗?
由于