// Looping Construct (For loop node)
case NODETYPE_LOOP:
WRITE_8(Buffer, Offset, Node->For.bCheckAfter);
-// printf("Node %p, Loop Tag %p\n", Node, Node->For.Tag);
WRITE_STR(Buffer, Offset, Node->For.Tag);
Offset += AST_WriteNode(Buffer, Offset, Node->For.Init);
Offset += AST_WriteNode(Buffer, Offset, Node->For.Condition);
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);