annotate vendor/nikic/php-parser/test/code/parser/expr/logic.test @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
rev   line source
Chris@0 1 Logical operators
Chris@0 2 -----
Chris@0 3 <?php
Chris@0 4
Chris@0 5 // boolean ops
Chris@0 6 $a && $b;
Chris@0 7 $a || $b;
Chris@0 8 !$a;
Chris@0 9 !!$a;
Chris@0 10
Chris@0 11 // logical ops
Chris@0 12 $a and $b;
Chris@0 13 $a or $b;
Chris@0 14 $a xor $b;
Chris@0 15
Chris@0 16 // precedence
Chris@0 17 $a && $b || $c && $d;
Chris@0 18 $a && ($b || $c) && $d;
Chris@0 19
Chris@0 20 $a = $b || $c;
Chris@0 21 $a = $b or $c;
Chris@0 22 -----
Chris@0 23 array(
Chris@0 24 0: Expr_BinaryOp_BooleanAnd(
Chris@0 25 left: Expr_Variable(
Chris@0 26 name: a
Chris@0 27 comments: array(
Chris@0 28 0: // boolean ops
Chris@0 29 )
Chris@0 30 )
Chris@0 31 right: Expr_Variable(
Chris@0 32 name: b
Chris@0 33 )
Chris@0 34 comments: array(
Chris@0 35 0: // boolean ops
Chris@0 36 )
Chris@0 37 )
Chris@0 38 1: Expr_BinaryOp_BooleanOr(
Chris@0 39 left: Expr_Variable(
Chris@0 40 name: a
Chris@0 41 )
Chris@0 42 right: Expr_Variable(
Chris@0 43 name: b
Chris@0 44 )
Chris@0 45 )
Chris@0 46 2: Expr_BooleanNot(
Chris@0 47 expr: Expr_Variable(
Chris@0 48 name: a
Chris@0 49 )
Chris@0 50 )
Chris@0 51 3: Expr_BooleanNot(
Chris@0 52 expr: Expr_BooleanNot(
Chris@0 53 expr: Expr_Variable(
Chris@0 54 name: a
Chris@0 55 )
Chris@0 56 )
Chris@0 57 )
Chris@0 58 4: Expr_BinaryOp_LogicalAnd(
Chris@0 59 left: Expr_Variable(
Chris@0 60 name: a
Chris@0 61 comments: array(
Chris@0 62 0: // logical ops
Chris@0 63 )
Chris@0 64 )
Chris@0 65 right: Expr_Variable(
Chris@0 66 name: b
Chris@0 67 )
Chris@0 68 comments: array(
Chris@0 69 0: // logical ops
Chris@0 70 )
Chris@0 71 )
Chris@0 72 5: Expr_BinaryOp_LogicalOr(
Chris@0 73 left: Expr_Variable(
Chris@0 74 name: a
Chris@0 75 )
Chris@0 76 right: Expr_Variable(
Chris@0 77 name: b
Chris@0 78 )
Chris@0 79 )
Chris@0 80 6: Expr_BinaryOp_LogicalXor(
Chris@0 81 left: Expr_Variable(
Chris@0 82 name: a
Chris@0 83 )
Chris@0 84 right: Expr_Variable(
Chris@0 85 name: b
Chris@0 86 )
Chris@0 87 )
Chris@0 88 7: Expr_BinaryOp_BooleanOr(
Chris@0 89 left: Expr_BinaryOp_BooleanAnd(
Chris@0 90 left: Expr_Variable(
Chris@0 91 name: a
Chris@0 92 comments: array(
Chris@0 93 0: // precedence
Chris@0 94 )
Chris@0 95 )
Chris@0 96 right: Expr_Variable(
Chris@0 97 name: b
Chris@0 98 )
Chris@0 99 comments: array(
Chris@0 100 0: // precedence
Chris@0 101 )
Chris@0 102 )
Chris@0 103 right: Expr_BinaryOp_BooleanAnd(
Chris@0 104 left: Expr_Variable(
Chris@0 105 name: c
Chris@0 106 )
Chris@0 107 right: Expr_Variable(
Chris@0 108 name: d
Chris@0 109 )
Chris@0 110 )
Chris@0 111 comments: array(
Chris@0 112 0: // precedence
Chris@0 113 )
Chris@0 114 )
Chris@0 115 8: Expr_BinaryOp_BooleanAnd(
Chris@0 116 left: Expr_BinaryOp_BooleanAnd(
Chris@0 117 left: Expr_Variable(
Chris@0 118 name: a
Chris@0 119 )
Chris@0 120 right: Expr_BinaryOp_BooleanOr(
Chris@0 121 left: Expr_Variable(
Chris@0 122 name: b
Chris@0 123 )
Chris@0 124 right: Expr_Variable(
Chris@0 125 name: c
Chris@0 126 )
Chris@0 127 )
Chris@0 128 )
Chris@0 129 right: Expr_Variable(
Chris@0 130 name: d
Chris@0 131 )
Chris@0 132 )
Chris@0 133 9: Expr_Assign(
Chris@0 134 var: Expr_Variable(
Chris@0 135 name: a
Chris@0 136 )
Chris@0 137 expr: Expr_BinaryOp_BooleanOr(
Chris@0 138 left: Expr_Variable(
Chris@0 139 name: b
Chris@0 140 )
Chris@0 141 right: Expr_Variable(
Chris@0 142 name: c
Chris@0 143 )
Chris@0 144 )
Chris@0 145 )
Chris@0 146 10: Expr_BinaryOp_LogicalOr(
Chris@0 147 left: Expr_Assign(
Chris@0 148 var: Expr_Variable(
Chris@0 149 name: a
Chris@0 150 )
Chris@0 151 expr: Expr_Variable(
Chris@0 152 name: b
Chris@0 153 )
Chris@0 154 )
Chris@0 155 right: Expr_Variable(
Chris@0 156 name: c
Chris@0 157 )
Chris@0 158 )
Chris@0 159 )