annotate vendor/nikic/php-parser/test/code/parser/expr/logic.test @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 5fb285c0d0e3
children
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@13 24 0: Stmt_Expression(
Chris@13 25 expr: Expr_BinaryOp_BooleanAnd(
Chris@13 26 left: Expr_Variable(
Chris@13 27 name: a
Chris@13 28 comments: array(
Chris@13 29 0: // boolean ops
Chris@13 30 )
Chris@13 31 )
Chris@13 32 right: Expr_Variable(
Chris@13 33 name: b
Chris@13 34 )
Chris@0 35 comments: array(
Chris@0 36 0: // boolean ops
Chris@0 37 )
Chris@0 38 )
Chris@0 39 comments: array(
Chris@0 40 0: // boolean ops
Chris@0 41 )
Chris@0 42 )
Chris@13 43 1: Stmt_Expression(
Chris@13 44 expr: Expr_BinaryOp_BooleanOr(
Chris@13 45 left: Expr_Variable(
Chris@13 46 name: a
Chris@13 47 )
Chris@13 48 right: Expr_Variable(
Chris@13 49 name: b
Chris@13 50 )
Chris@0 51 )
Chris@0 52 )
Chris@13 53 2: Stmt_Expression(
Chris@0 54 expr: Expr_BooleanNot(
Chris@0 55 expr: Expr_Variable(
Chris@0 56 name: a
Chris@0 57 )
Chris@0 58 )
Chris@0 59 )
Chris@13 60 3: Stmt_Expression(
Chris@13 61 expr: Expr_BooleanNot(
Chris@13 62 expr: Expr_BooleanNot(
Chris@13 63 expr: Expr_Variable(
Chris@13 64 name: a
Chris@13 65 )
Chris@0 66 )
Chris@0 67 )
Chris@0 68 )
Chris@13 69 4: Stmt_Expression(
Chris@13 70 expr: Expr_BinaryOp_LogicalAnd(
Chris@0 71 left: Expr_Variable(
Chris@0 72 name: a
Chris@0 73 comments: array(
Chris@13 74 0: // logical ops
Chris@0 75 )
Chris@0 76 )
Chris@0 77 right: Expr_Variable(
Chris@0 78 name: b
Chris@0 79 )
Chris@0 80 comments: array(
Chris@13 81 0: // logical ops
Chris@0 82 )
Chris@0 83 )
Chris@13 84 comments: array(
Chris@13 85 0: // logical ops
Chris@13 86 )
Chris@13 87 )
Chris@13 88 5: Stmt_Expression(
Chris@13 89 expr: Expr_BinaryOp_LogicalOr(
Chris@0 90 left: Expr_Variable(
Chris@13 91 name: a
Chris@0 92 )
Chris@0 93 right: Expr_Variable(
Chris@13 94 name: b
Chris@13 95 )
Chris@13 96 )
Chris@13 97 )
Chris@13 98 6: Stmt_Expression(
Chris@13 99 expr: Expr_BinaryOp_LogicalXor(
Chris@13 100 left: Expr_Variable(
Chris@13 101 name: a
Chris@13 102 )
Chris@13 103 right: Expr_Variable(
Chris@13 104 name: b
Chris@13 105 )
Chris@13 106 )
Chris@13 107 )
Chris@13 108 7: Stmt_Expression(
Chris@13 109 expr: Expr_BinaryOp_BooleanOr(
Chris@13 110 left: Expr_BinaryOp_BooleanAnd(
Chris@13 111 left: Expr_Variable(
Chris@13 112 name: a
Chris@13 113 comments: array(
Chris@13 114 0: // precedence
Chris@13 115 )
Chris@13 116 )
Chris@13 117 right: Expr_Variable(
Chris@13 118 name: b
Chris@13 119 )
Chris@13 120 comments: array(
Chris@13 121 0: // precedence
Chris@13 122 )
Chris@13 123 )
Chris@13 124 right: Expr_BinaryOp_BooleanAnd(
Chris@13 125 left: Expr_Variable(
Chris@13 126 name: c
Chris@13 127 )
Chris@13 128 right: Expr_Variable(
Chris@13 129 name: d
Chris@13 130 )
Chris@13 131 )
Chris@13 132 comments: array(
Chris@13 133 0: // precedence
Chris@0 134 )
Chris@0 135 )
Chris@0 136 comments: array(
Chris@0 137 0: // precedence
Chris@0 138 )
Chris@0 139 )
Chris@13 140 8: Stmt_Expression(
Chris@13 141 expr: Expr_BinaryOp_BooleanAnd(
Chris@13 142 left: Expr_BinaryOp_BooleanAnd(
Chris@13 143 left: Expr_Variable(
Chris@13 144 name: a
Chris@13 145 )
Chris@13 146 right: Expr_BinaryOp_BooleanOr(
Chris@13 147 left: Expr_Variable(
Chris@13 148 name: b
Chris@13 149 )
Chris@13 150 right: Expr_Variable(
Chris@13 151 name: c
Chris@13 152 )
Chris@13 153 )
Chris@13 154 )
Chris@13 155 right: Expr_Variable(
Chris@13 156 name: d
Chris@13 157 )
Chris@13 158 )
Chris@13 159 )
Chris@13 160 9: Stmt_Expression(
Chris@13 161 expr: Expr_Assign(
Chris@13 162 var: Expr_Variable(
Chris@0 163 name: a
Chris@0 164 )
Chris@13 165 expr: Expr_BinaryOp_BooleanOr(
Chris@0 166 left: Expr_Variable(
Chris@0 167 name: b
Chris@0 168 )
Chris@0 169 right: Expr_Variable(
Chris@0 170 name: c
Chris@0 171 )
Chris@0 172 )
Chris@0 173 )
Chris@0 174 )
Chris@13 175 10: Stmt_Expression(
Chris@13 176 expr: Expr_BinaryOp_LogicalOr(
Chris@13 177 left: Expr_Assign(
Chris@13 178 var: Expr_Variable(
Chris@13 179 name: a
Chris@13 180 )
Chris@13 181 expr: Expr_Variable(
Chris@13 182 name: b
Chris@13 183 )
Chris@0 184 )
Chris@0 185 right: Expr_Variable(
Chris@0 186 name: c
Chris@0 187 )
Chris@0 188 )
Chris@0 189 )
Chris@0 190 )