mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-09-08 17:54:40 +00:00
Made ASM parenthesis hard.
This commit is contained in:
parent
341d8c5556
commit
02d7170a4c
@ -275,7 +275,7 @@ public class AsmFragmentInstance {
|
|||||||
@Override
|
@Override
|
||||||
public Object visitAsmExprPar(KickCParser.AsmExprParContext ctx) {
|
public Object visitAsmExprPar(KickCParser.AsmExprParContext ctx) {
|
||||||
AsmParameter sub = (AsmParameter) this.visit(ctx.asmExpr());
|
AsmParameter sub = (AsmParameter) this.visit(ctx.asmExpr());
|
||||||
String param = "(" + sub.getParam() + ")";
|
String param = "[" + sub.getParam() + "]";
|
||||||
return new AsmParameter(param, sub.isZp());
|
return new AsmParameter(param, sub.isZp());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@ asmParamMode
|
|||||||
;
|
;
|
||||||
|
|
||||||
asmExpr
|
asmExpr
|
||||||
: '(' asmExpr ')' #asmExprPar
|
: '[' asmExpr ']' #asmExprPar
|
||||||
| asmExpr ( '<<' | '>>' ) asmExpr #asmExprBinary
|
| asmExpr ( '<<' | '>>' ) asmExpr #asmExprBinary
|
||||||
| ('+' | '-' | '<' | '>' ) asmExpr #asmExprUnary
|
| ('+' | '-' | '<' | '>' ) asmExpr #asmExprUnary
|
||||||
| asmExpr ('*' | '/' ) asmExpr #asmExprBinary
|
| asmExpr ('*' | '/' ) asmExpr #asmExprBinary
|
||||||
|
@ -3213,18 +3213,18 @@ public class KickCParser extends Parser {
|
|||||||
setState(382);
|
setState(382);
|
||||||
_errHandler.sync(this);
|
_errHandler.sync(this);
|
||||||
switch (_input.LA(1)) {
|
switch (_input.LA(1)) {
|
||||||
case T__1:
|
case T__21:
|
||||||
{
|
{
|
||||||
_localctx = new AsmExprParContext(_localctx);
|
_localctx = new AsmExprParContext(_localctx);
|
||||||
_ctx = _localctx;
|
_ctx = _localctx;
|
||||||
_prevctx = _localctx;
|
_prevctx = _localctx;
|
||||||
|
|
||||||
setState(369);
|
setState(369);
|
||||||
match(T__1);
|
match(T__21);
|
||||||
setState(370);
|
setState(370);
|
||||||
asmExpr(0);
|
asmExpr(0);
|
||||||
setState(371);
|
setState(371);
|
||||||
match(T__2);
|
match(T__22);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case T__25:
|
case T__25:
|
||||||
@ -3592,20 +3592,20 @@ public class KickCParser extends Parser {
|
|||||||
"\u016b\u0171\3\2\2\2\u016c\u016d\7\4\2\2\u016d\u016e\5\62\32\2\u016e\u016f"+
|
"\u016b\u0171\3\2\2\2\u016c\u016d\7\4\2\2\u016d\u016e\5\62\32\2\u016e\u016f"+
|
||||||
"\7\5\2\2\u016f\u0171\3\2\2\2\u0170\u0159\3\2\2\2\u0170\u015a\3\2\2\2\u0170"+
|
"\7\5\2\2\u016f\u0171\3\2\2\2\u0170\u0159\3\2\2\2\u0170\u015a\3\2\2\2\u0170"+
|
||||||
"\u015c\3\2\2\2\u0170\u0160\3\2\2\2\u0170\u0166\3\2\2\2\u0170\u016c\3\2"+
|
"\u015c\3\2\2\2\u0170\u0160\3\2\2\2\u0170\u0166\3\2\2\2\u0170\u016c\3\2"+
|
||||||
"\2\2\u0171\61\3\2\2\2\u0172\u0173\b\32\1\2\u0173\u0174\7\4\2\2\u0174\u0175"+
|
"\2\2\u0171\61\3\2\2\2\u0172\u0173\b\32\1\2\u0173\u0174\7\30\2\2\u0174"+
|
||||||
"\5\62\32\2\u0175\u0176\7\5\2\2\u0176\u0181\3\2\2\2\u0177\u0178\t\t\2\2"+
|
"\u0175\5\62\32\2\u0175\u0176\7\31\2\2\u0176\u0181\3\2\2\2\u0177\u0178"+
|
||||||
"\u0178\u0181\5\62\32\n\u0179\u0181\7B\2\2\u017a\u0181\7C\2\2\u017b\u017c"+
|
"\t\t\2\2\u0178\u0181\5\62\32\n\u0179\u0181\7B\2\2\u017a\u0181\7C\2\2\u017b"+
|
||||||
"\7\6\2\2\u017c\u017d\7B\2\2\u017d\u0181\7\7\2\2\u017e\u0181\79\2\2\u017f"+
|
"\u017c\7\6\2\2\u017c\u017d\7B\2\2\u017d\u0181\7\7\2\2\u017e\u0181\79\2"+
|
||||||
"\u0181\7\67\2\2\u0180\u0172\3\2\2\2\u0180\u0177\3\2\2\2\u0180\u0179\3"+
|
"\2\u017f\u0181\7\67\2\2\u0180\u0172\3\2\2\2\u0180\u0177\3\2\2\2\u0180"+
|
||||||
"\2\2\2\u0180\u017a\3\2\2\2\u0180\u017b\3\2\2\2\u0180\u017e\3\2\2\2\u0180"+
|
"\u0179\3\2\2\2\u0180\u017a\3\2\2\2\u0180\u017b\3\2\2\2\u0180\u017e\3\2"+
|
||||||
"\u017f\3\2\2\2\u0181\u018d\3\2\2\2\u0182\u0183\f\13\2\2\u0183\u0184\t"+
|
"\2\2\u0180\u017f\3\2\2\2\u0181\u018d\3\2\2\2\u0182\u0183\f\13\2\2\u0183"+
|
||||||
"\5\2\2\u0184\u018c\5\62\32\f\u0185\u0186\f\t\2\2\u0186\u0187\t\n\2\2\u0187"+
|
"\u0184\t\5\2\2\u0184\u018c\5\62\32\f\u0185\u0186\f\t\2\2\u0186\u0187\t"+
|
||||||
"\u018c\5\62\32\n\u0188\u0189\f\b\2\2\u0189\u018a\t\7\2\2\u018a\u018c\5"+
|
"\n\2\2\u0187\u018c\5\62\32\n\u0188\u0189\f\b\2\2\u0189\u018a\t\7\2\2\u018a"+
|
||||||
"\62\32\t\u018b\u0182\3\2\2\2\u018b\u0185\3\2\2\2\u018b\u0188\3\2\2\2\u018c"+
|
"\u018c\5\62\32\t\u018b\u0182\3\2\2\2\u018b\u0185\3\2\2\2\u018b\u0188\3"+
|
||||||
"\u018f\3\2\2\2\u018d\u018b\3\2\2\2\u018d\u018e\3\2\2\2\u018e\63\3\2\2"+
|
"\2\2\2\u018c\u018f\3\2\2\2\u018d\u018b\3\2\2\2\u018d\u018e\3\2\2\2\u018e"+
|
||||||
"\2\u018f\u018d\3\2\2\2)>GMRW^einu|\u0081\u0086\u0093\u00a6\u00ae\u00b6"+
|
"\63\3\2\2\2\u018f\u018d\3\2\2\2)>GMRW^einu|\u0081\u0086\u0093\u00a6\u00ae"+
|
||||||
"\u00b9\u00be\u00ca\u00d0\u00d7\u00da\u00dc\u00e7\u00fd\u0107\u012e\u0130"+
|
"\u00b6\u00b9\u00be\u00ca\u00d0\u00d7\u00da\u00dc\u00e7\u00fd\u0107\u012e"+
|
||||||
"\u0138\u013e\u0144\u014a\u014e\u0156\u0170\u0180\u018b\u018d";
|
"\u0130\u0138\u013e\u0144\u014a\u014e\u0156\u0170\u0180\u018b\u018d";
|
||||||
public static final ATN _ATN =
|
public static final ATN _ATN =
|
||||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||||
static {
|
static {
|
||||||
|
Loading…
Reference in New Issue
Block a user