/**
 * Evaluation of complete PHP documents.
 */
module php/strategy/const-prop/analysis/common/main

// Main evaluation rule
strategies

  /**
   * TemplateDocument
   */
  document-const-prop(main|) =
    TemplateDocument(map(eval-php-lit-or-echo(main|)))
      
  /**
   * Full Document
   */
  document-const-prop(main|) =
    Document(map(eval-php-lit-or-echo(main|))
            ,id
            ,map(main)
            ,id
            ,map(eval-php-lit-or-echo(main|))
            )
  
  /**
   * Document without end-tag
   */
  document-const-prop(main|) =
    Document(map(eval-php-lit-or-echo(main|))
            ,id
            ,map(main)
            )
  
  eval-php-lit-or-echo(main|) =
     InlineEcho(id,main,id,id)
  <+ Literal(id)