========================
Booleans
========================

<?php
True;
true;
TRUE;
false;
False;
FALSE;

---

(program
  (php_tag)
  (expression_statement (boolean))
  (expression_statement (boolean))
  (expression_statement (boolean))
  (expression_statement (boolean))
  (expression_statement (boolean))
  (expression_statement (boolean)))

==========================
Floats
==========================

<?php

1.0;
1E432;
1.0E-3432;
1423.0E3432;
.5;
6.674_083e11;
107_925_284.88;

---

(program
  (php_tag)
  (expression_statement (float))
  (expression_statement (float))
  (expression_statement (float))
  (expression_statement (float))
  (expression_statement (float))
  (expression_statement (float))
  (expression_statement (float))
)

==========================
Integers
==========================

<?php

1234;
1_234_456;
0123;
0123_456;
0x1A;
0x1A_2B_3C;
0b111111111;
0b1111_1111_1111;
0o123;

---

(program
  (php_tag)
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
  (expression_statement (integer))
)

============================
Testing string scanner conformance
==============================

<?php
echo "\"\t\\'" . '\n\\\'a\\\b\\';

---

(program
  (php_tag)
  (echo_statement (binary_expression
    (encapsed_string (escape_sequence) (escape_sequence) (escape_sequence) (string_content))
    (string (string_content)
      (escape_sequence)
      (escape_sequence)
      (string_content)
      (escape_sequence)
      (string_content)
      (escape_sequence)))))

==========================
Shell command
==========================
<?php
`ls -la`;
`ls`;

---

(program
  (php_tag)
  (expression_statement (shell_command_expression (string_content)))
  (expression_statement (shell_command_expression (string_content))))
