Merge pull request #23 from CajunAvenger/arrow-alias

Add -> as alias for :=
This commit is contained in:
GenevensiS
2024-10-01 17:03:26 +02:00
committed by GitHub
+3 -3
View File
@@ -122,7 +122,7 @@ bool isOper (wxUniChar c) { return wxStrchr(_("+-*/!.@%^&:=<>;,"),c) != nullptr
bool isLparen(wxUniChar c) { return c==_('(') || c==_('[') || c==_('{'); } bool isLparen(wxUniChar c) { return c==_('(') || c==_('[') || c==_('{'); }
bool isRparen(wxUniChar c) { return c==_(')') || c==_(']') || c==_('}'); } bool isRparen(wxUniChar c) { return c==_(')') || c==_(']') || c==_('}'); }
bool isDigitOrDot(wxUniChar c) { return isDigit(c) || c==_('.'); } bool isDigitOrDot(wxUniChar c) { return isDigit(c) || c==_('.'); }
bool isLongOper(StringView s) { return s==_(":=") || s==_("==") || s==_("!=") || s==_("<=") || s==_(">="); } bool isLongOper(StringView s) { return s==_(":=") || s==_("==") || s==_("!=") || s==_("<=") || s==_(">=") || s==_("->"); }
// moveme // moveme
// ----------------------------------------------------------------------------- : Tokenizing // ----------------------------------------------------------------------------- : Tokenizing
@@ -351,7 +351,7 @@ enum Precedence
{ PREC_ALL { PREC_ALL
, PREC_NEWLINE // newline ; , PREC_NEWLINE // newline ;
, PREC_SEQ // ; , PREC_SEQ // ;
, PREC_SET // := , PREC_SET // := ->
, PREC_AND // and or , PREC_AND // and or
, PREC_CMP // == != < > <= >= , PREC_CMP // == != < > <= >=
, PREC_ADD // + - , PREC_ADD // + -
@@ -736,7 +736,7 @@ ExprType parseOper(TokenIterator& input, Script& script, Precedence minPrec, Ins
} }
script.addInstruction(I_POP); // discard result of first expression script.addInstruction(I_POP); // discard result of first expression
type = parseOper(input, script, PREC_SET); type = parseOper(input, script, PREC_SET);
} else if (minPrec <= PREC_SET && token==_(":=")) { } else if (minPrec <= PREC_SET && (token==_(":=") || token==_("->"))) {
// We made a mistake, the part before the := should be a variable name, // We made a mistake, the part before the := should be a variable name,
// not an expression. Remove that instruction. // not an expression. Remove that instruction.
Instruction& instr = script.getInstructions().back(); Instruction& instr = script.getInstructions().back();