case NODETYPE_BWAND: case NODETYPE_LOGICALAND:
case NODETYPE_BWOR: case NODETYPE_LOGICALOR:
case NODETYPE_BWXOR: case NODETYPE_LOGICALXOR:
- case NODETYPE_EQUALS:
+ case NODETYPE_EQUALS: case NODETYPE_NOTEQUALS:
case NODETYPE_LESSTHAN: case NODETYPE_LESSTHANEQUAL:
case NODETYPE_GREATERTHAN: case NODETYPE_GREATERTHANEQUAL:
Offset += AST_WriteNode(Buffer, Offset, Node->BinOp.Left);
case NODETYPE_BWAND: case NODETYPE_LOGICALAND:
case NODETYPE_BWOR: case NODETYPE_LOGICALOR:
case NODETYPE_BWXOR: case NODETYPE_LOGICALXOR:
- case NODETYPE_EQUALS:
+ case NODETYPE_EQUALS: case NODETYPE_NOTEQUALS:
case NODETYPE_LESSTHAN: case NODETYPE_LESSTHANEQUAL:
case NODETYPE_GREATERTHAN: case NODETYPE_GREATERTHANEQUAL:
AST_FreeNode( Node->BinOp.Left );
{
tAST_Node *ret = AST_int_AllocateNode(Parser, NODETYPE_ASSIGN, 0);
- if( Dest->Type != NODETYPE_VARIABLE && Dest->Type != NODETYPE_ELEMENT ) {
+ if( Dest->Type != NODETYPE_VARIABLE && Dest->Type != NODETYPE_ELEMENT && Dest->Type != NODETYPE_INDEX )
+ {
free(ret);
SyntaxError(Parser, 1, "Assign target is not a variable or attribute (instead %i)",
Dest->Type);