Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 1 addition & 63 deletions eudplib/epscript/cpp/parser/epparser.lemon
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ expr(A)::= expr(B) PERIOD NAME(C). [MEMBER] {
}

expr(A)::= expr(B) LSQBRACKET expr(C) RSQBRACKET. [SUBSCRIPT] {
B->data = B->data + "[" + C->data + "]";
B->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete C;
A = mkTokenTemp(B);
}
Expand Down Expand Up @@ -727,68 +727,6 @@ expr(A) ::= PLUS expr(B). [UNARY] { B->data = "+" + B->data; A = mkTokenTemp(
expr(A) ::= MINUS expr(B). [UNARY] { B->data = "-" + B->data; A = mkTokenTemp(B); }
expr(A) ::= BITNOT expr(B). [UNARY] { B->data = "~" + B->data; A = mkTokenTemp(B); }

expr(A) ::= expr(B) PERIOD NAME(C) EQ expr(D). [EQ] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = binopConcat(C, "==", D);
}
expr(A) ::= expr(B) PERIOD NAME(C) NE expr(D). [NE] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = negate(binopConcat(C, "==", D));
}
expr(A) ::= expr(B) PERIOD NAME(C) LE expr(D). [LE] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = binopConcat(C, "<=", D);
}
expr(A) ::= expr(B) PERIOD NAME(C) GE expr(D). [GE] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = binopConcat(C, ">=", D);
}
expr(A) ::= expr(B) PERIOD NAME(C) LT expr(D). [LT] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = negate(binopConcat(C, ">=", D));
}
expr(A) ::= expr(B) PERIOD NAME(C) GT expr(D). [GT] {
C->data = "_ATTC(" + B->data + ", '" + C->data + "')";
delete B;
A = negate(binopConcat(C, "<=", D));
}

expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET EQ expr(D). [EQ] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = binopConcat(C, "==", D);
}
expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET NE expr(D). [NE] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = negate(binopConcat(C, "==", D));
}
expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET LE expr(D). [LE] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = binopConcat(C, "<=", D);
}
expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET GE expr(D). [GE] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = binopConcat(C, ">=", D);
}
expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET LT expr(D). [LT] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = negate(binopConcat(C, ">=", D));
}
expr(A) ::= expr(B) LSQBRACKET expr(C) RSQBRACKET GT expr(D). [GT] {
C->data = "_ARRC(" + B->data + ", " + C->data + ")";
delete B;
A = negate(binopConcat(C, "<=", D));
}

expr(A) ::= expr(B) EQ expr(C). { A = binopConcat(B, "==", C); }
expr(A) ::= expr(B) NE expr(C). { A = negate(binopConcat(B, "==", C)); }

Expand Down
Loading