operators

File operators.str
Author unknown
Since unknown

Holds the rules to evaluate the operators of PHP.




Statistics


General
Lines of code 670
Stratego
Module number 1 (100% documented)
Constructor number 0
Overlay number 0
Strategy number 58 (34% documented)
Rule number 14 (28% documented)
DynamicRule number 0



Strategy summary


assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove) Assignment operators http://www operators.str
assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove) A reference assign assigns the RHS as a reference to the LHS operators.str
assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove) n/a operators.str
assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove) n/a operators.str
assign-to-array(Strategy main, Strategy set, Strategy get, Strategy valid-put, Strategy valid-remove) Assigning to an array is special when the array is the globals-array operators.str
assign-to-array(Strategy main, Strategy set, Strategy get, Strategy valid-put, Strategy valid-remove) n/a operators.str
assign-to-variable(Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove) Assignment to a variable is special if the RHS is an array operators.str
generic-aritmetic-operator(Strategy s) n/a operators.str
generic-aritmetic-operator(Strategy s, Strategy transform) n/a operators.str
generic-assign-to-array(Strategy main, Strategy get, Strategy valid-put, Strategy valid-remove) Generic action for assigning a value to an array operators.str
generic-cast-operator(Strategy s) n/a operators.str
generic-comparison-operator(Strategy s, Strategy comp) Generic comparison operator operators.str
generic-equal-operator Shortcut for generic-comparison-operator(id,equal) operators.str
generic-equal-operator(Strategy s) Shortcut for generic-comparison-operator(s,equal) operators.str
generic-logical-op(Strategy s1, Strategy s2, ATerm val1, ATerm val2) n/a operators.str
generic-reference-assign-to-array(Strategy main, Strategy get, Strategy valid-put, Strategy valid-remove) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) Arithmetic Operators see: http://www operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) Exceptions add div: - Dividing by zero results in false - When an int is divided by an int the result is a int, unless the value is not a fraction operators.str
operator-const-prop(Strategy main) Comparison Operators see: http://www operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) Logical operators http://www operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) String operators http://www operators.str
operator-const-prop(Strategy main) Increment / Decrement operators http://www operators.str
operator-const-prop(Strategy main) Section for null operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) Section for integers operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) Section for Strings operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
operator-const-prop(Strategy main) n/a operators.str
results-in-zero-value Passes if the given php-simple-value will result in a value of 0 operators.str
string-case-gt Case sensitive equivalent of string-gt operators.str
string-case-lt Case sensitive equivalent of string-lt operators.str

Rule summary


php-combine-incremented-char-lists Combining char-lists that are incremented operators.str
php-combine-incremented-char-lists n/a operators.str
php-combine-incremented-char-lists n/a operators.str
php-combine-incremented-char-lists n/a operators.str
php-combine-incremented-char-lists n/a operators.str
php-decrement-char Make sure that we stay in the right range operators.str
php-decrement-char n/a operators.str
php-decrement-char n/a operators.str
php-decrement-string-value Decrementation of a string operators.str
php-decrement-string-value n/a operators.str
php-increment-char n/a operators.str
php-increment-char n/a operators.str
php-increment-char n/a operators.str
php-increment-string-value Incrementing a string operators.str



Strategy details


ATerm assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove)
File operators.str
Author unknown
Since unknown
 

Assignment operatorshttp://www.php.net/manual/en/language.operators.assignment.php



 
ATerm assign-operator-const-prop(Strategy main, Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove)
File operators.str
Author unknown
Since unknown
 

A reference assign assigns the RHS as a reference to the LHS. Both locationswill point to the same value-location.



 
ATerm assign-to-array(Strategy main, Strategy set, Strategy get, Strategy valid-put, Strategy valid-remove)
File operators.str
Author unknown
Since unknown
 

Assigning to an array is special when the array is the globals-array.Otherwise it is a simple generic assignment.



 
ATerm assign-to-variable(Strategy get, Strategy set, Strategy valid-get, Strategy valid-put, Strategy valid-remove)
File operators.str
Author unknown
Since unknown
 

Assignment to a variable is special if the RHS is an array. In that casethe assignment needs to copy the array. Since it is possible that a secondanalysis is done, we need to copy the array again with the same newarray-id. If there is no assignment we need to undefine the mapping to the variable,it is not known anymore what the properties are.



 
ATerm generic-assign-to-array(Strategy main, Strategy get, Strategy valid-put, Strategy valid-remove)
File operators.str
Author unknown
Since unknown
 

Generic action for assigning a value to an array. This strategy workson a three-tuple and delivers a value to be returned.


type (arrayvariable, key-expression, expression to assign)

 
ATerm generic-comparison-operator(Strategy s, Strategy comp)
File operators.str
Author unknown
Since unknown
 
Parameters
Strategy s s Term -> Term
Strategy comp comp (x,y) -> _

Generic comparison operator. Matches a tuple,applies 's' to the terms and compares the termsusing the 'comp' strategy. Builds True() if comp succeeds,False() otherwise.


type (term, term) -> PHPBoolean(Boolean)

 
ATerm generic-equal-operator
File operators.str
Author unknown
Since unknown
 

Shortcut for generic-comparison-operator(id,equal)



 
ATerm generic-equal-operator(Strategy s)
File operators.str
Author unknown
Since unknown
 

Shortcut for generic-comparison-operator(s,equal)



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Arithmetic Operatorssee: http://www.php.net/manual/en/language.operators.arithmetic.php



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Exceptions add div:- Dividing by zero results in false- When an int is divided by an int the result is a int,unless the value is not a fraction.



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Comparison Operatorssee: http://www.php.net/manual/en/language.operators.comparison.php



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Logical operatorshttp://www.php.net/manual/en/language.operators.logical.php



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

String operatorshttp://www.php.net/manual/en/language.operators.string.php



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Increment / Decrement operatorshttp://www.php.net/manual/en/language.operators.increment.php



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Section for null



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Section for integers



 
ATerm operator-const-prop(Strategy main)
File operators.str
Author unknown
Since unknown
 

Section for Strings



 
ATerm results-in-zero-value
File operators.str
Author unknown
Since unknown
 

Passes if the given php-simple-value will result in avalue of 0.


type PHPSimpleValue -> PHPSimpleValue

 
ATerm string-case-gt
File operators.str
Author unknown
Since unknown
 

Case sensitive equivalent of string-gt



 
ATerm string-case-lt
File operators.str
Author unknown
Since unknown
 

Case sensitive equivalent of string-lt



 

Rule details


ATerm php-combine-incremented-char-lists
File operators.str
Author unknown
Since unknown
 

Combining char-lists that are incremented. Lot of special cases for shortlists.



 
ATerm php-decrement-char
File operators.str
Author unknown
Since unknown
 

Make sure that we stay in the right range.



 
ATerm php-decrement-string-value
File operators.str
Author unknown
Since unknown
 

Decrementation of a string. A single-char-string can be decremented.Other strings are ignored.



 
ATerm php-increment-string-value
File operators.str
Author unknown
Since unknown
 

Incrementing a string. Increment latest charachter and maybe updatethe one before that if the Z or z is passed.