When you call the parser you can pass options as following :

var reader = require('php-parser');
reader.parseCode('<?php echo true;', {
  parser: {
    debug: false, 
    locations: false,
    extractDoc: false,
    suppressErrors: false
  ast: {
    withPositions: true,
    withSource: true
  lexer: {
    all_tokens: false,
    comment_tokens: false,
    mode_eval: false,
    asp_tags: false,
    short_tags: false


  • debug : enables debug output, useful for handling parsing errors when extending the library.

  • locations : attach location nodes to AST - see more details

  • extractDoc : extracting comments blocks - see more details

  • suppressErrors: graceful parsing mode, when an error is raised it's ignored see more details


  • all_tokens : extract all tokens (same output as token_get_all function in PHP)

  • comment_tokens: extract also comments tokens (used when all_tokens is false)

  • mode_eval: ignoring open or close tags, the input is directly a PHP script

  • asp_tags: handles ASP like tags <% and %>

  • short_tags : handle short opening tag <?

Last updated