CombParserTest.php 873 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. require __DIR__ . '/../../vendor/autoload.php';
  3. use Parse\CombinatorParser;
  4. use Parse\StringParser;
  5. {
  6. $parser = new CombinatorParser(
  7. array(
  8. new StringParser("Hello"),
  9. new StringParser(" "),
  10. new StringParser("World!")
  11. )
  12. );
  13. try {
  14. var_dump($parser->parse("Hello World!")
  15. === array("Hello", " ", "World!"));
  16. } catch (ParseException $e) {
  17. var_dump(false);
  18. }
  19. $parser = new CombinatorParser(
  20. array(
  21. new StringParser("Hello"),
  22. new StringParser(" "),
  23. new StringParser("World!")
  24. ),
  25. function ($hello, $space, $world) {
  26. return $hello;
  27. }
  28. );
  29. try {
  30. var_dump($parser->parse("Hello World!") === "Hello");
  31. } catch (ParseException $e) {
  32. var_dump(false);
  33. }
  34. }