@Commit_point_set:
IDENTIFIER | IDENTIFIER ...
@Condition: ... (Optional)
- @HB_Condition: ...
+ @HB_Condition:
+ IDENTIFIER :: <C_CPP_Condition>
@HB_Condition: ...
@ID: ... (Optional, use default ID)
@Check: (Optional)
<LESS_THAN: "<">
|
<GREATER_THAN: ">">
+|
+ <GREATER_EQUALS: ">=">
+|
+ <LESS_EQUALS: "<=">
+|
+ <LOGICAL_EQUALS: "==">
+|
+ <NOT_EQUALS: "!=">
+|
+ <LOGICAL_AND: "&&">
+|
+ <LOGICAL_OR: "||">
+|
+ <XOR: "^">
|
<QUESTION_MARK: "?">
|
<COLON: ":">
+|
+ <DOUBLECOLON: "::">
|
<SEMI_COLON: ";">
|
t = <OPEN_BRACKET> | t = <CLOSE_BRACKET> | t = <HB_SYMBOL> | t = <COMMA> |
t = <DOT> | t = <STAR> | t = <NEGATE> | t = <AND> | t = <OR> | t = <MOD> | t = <PLUS> |
t = <PLUSPLUS> | t = <MINUS> | t = <MINUSMINUS> | t = <DIVIDE> | t = <BACKSLASH> |
- t = <LESS_THAN> | t = <GREATER_THAN> | t = <QUESTION_MARK> | t = <COLON> |
+ t = <LESS_THAN> | t = <GREATER_THAN> | t = <GREATER_EQUALS> | t = <LESS_EQUALS> |
+ t = <LOGICAL_EQUALS> | t = <NOT_EQUALS> | t = <LOGICAL_AND> | t = <LOGICAL_OR> | t = <XOR>
+ t = <QUESTION_MARK> | t = <COLON> | t = <DOUBLECOLON> |
t = <SEMI_COLON> | t = <STRING_LITERAL> | t = <CHARACTER_LITERAL> |
t = <INTEGER_LITERAL> | t = <FLOATING_POINT_LITERAL>
)
{
text.append(t.image);
- text.append("\n");
+ if (t.image.equals(";") || t.image.equals("\\")
+ || t.image.equals("{") || t.image.equals("}"))
+ text.append("\n");
+ else
+ text.append(" ");
}
)+
{
<INTERFACE> <IDENTIFIER>
<COMMIT_POINT_SET> <IDENTIFIER> (<OR> <IDENTIFIER>)*
(<CONDITION> C_CPP_CODE())?
- (<HB_CONDITION> C_CPP_CODE())*
+ (<HB_CONDITION> <IDENTIFIER> C_CPP_CODE())*
(<ID> C_CPP_CODE())?
(<CHECK> C_CPP_CODE())?
(<ACTION> C_CPP_CODE())?