Chris@0: Assignments Chris@0: ----- Chris@0: >= $b; Chris@0: $a **= $b; Chris@0: Chris@0: // chained assign Chris@0: $a = $b *= $c **= $d; Chris@0: Chris@0: // by ref assign Chris@0: $a =& $b; Chris@0: Chris@0: // list() assign Chris@0: list($a) = $b; Chris@0: list($a, , $b) = $c; Chris@0: list($a, list(, $c), $d) = $e; Chris@0: Chris@0: // inc/dec Chris@0: ++$a; Chris@0: $a++; Chris@0: --$a; Chris@0: $a--; Chris@0: ----- Chris@0: array( Chris@0: 0: Expr_Assign( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: comments: array( Chris@0: 0: // simple assign Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: comments: array( Chris@0: 0: // simple assign Chris@0: ) Chris@0: ) Chris@0: 1: Expr_AssignOp_BitwiseAnd( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: comments: array( Chris@0: 0: // combined assign Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: comments: array( Chris@0: 0: // combined assign Chris@0: ) Chris@0: ) Chris@0: 2: Expr_AssignOp_BitwiseOr( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 3: Expr_AssignOp_BitwiseXor( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 4: Expr_AssignOp_Concat( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 5: Expr_AssignOp_Div( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 6: Expr_AssignOp_Minus( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 7: Expr_AssignOp_Mod( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 8: Expr_AssignOp_Mul( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 9: Expr_AssignOp_Plus( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 10: Expr_AssignOp_ShiftLeft( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 11: Expr_AssignOp_ShiftRight( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 12: Expr_AssignOp_Pow( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: ) Chris@0: 13: Expr_Assign( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: comments: array( Chris@0: 0: // chained assign Chris@0: ) Chris@0: ) Chris@0: expr: Expr_AssignOp_Mul( Chris@0: var: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: expr: Expr_AssignOp_Pow( Chris@0: var: Expr_Variable( Chris@0: name: c Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: d Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: comments: array( Chris@0: 0: // chained assign Chris@0: ) Chris@0: ) Chris@0: 14: Expr_AssignRef( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: comments: array( Chris@0: 0: // by ref assign Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: comments: array( Chris@0: 0: // by ref assign Chris@0: ) Chris@0: ) Chris@0: 15: Expr_Assign( Chris@0: var: Expr_List( Chris@0: items: array( Chris@0: 0: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: ) Chris@0: comments: array( Chris@0: 0: // list() assign Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: comments: array( Chris@0: 0: // list() assign Chris@0: ) Chris@0: ) Chris@0: 16: Expr_Assign( Chris@0: var: Expr_List( Chris@0: items: array( Chris@0: 0: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: 1: null Chris@0: 2: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: b Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: c Chris@0: ) Chris@0: ) Chris@0: 17: Expr_Assign( Chris@0: var: Expr_List( Chris@0: items: array( Chris@0: 0: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: 1: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_List( Chris@0: items: array( Chris@0: 0: null Chris@0: 1: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: c Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: 2: Expr_ArrayItem( Chris@0: key: null Chris@0: value: Expr_Variable( Chris@0: name: d Chris@0: ) Chris@0: byRef: false Chris@0: ) Chris@0: ) Chris@0: ) Chris@0: expr: Expr_Variable( Chris@0: name: e Chris@0: ) Chris@0: ) Chris@0: 18: Expr_PreInc( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: comments: array( Chris@0: 0: // inc/dec Chris@0: ) Chris@0: ) Chris@0: 19: Expr_PostInc( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: ) Chris@0: 20: Expr_PreDec( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: ) Chris@0: 21: Expr_PostDec( Chris@0: var: Expr_Variable( Chris@0: name: a Chris@0: ) Chris@0: ) Chris@0: )