%%
%% All keywords belonging to both PHP4 and PHP5
%%
%% @author Eric Bouwers
module languages/php/common/Keywords

exports
  sorts Keyword

  lexical syntax
      '__CLASS__'        -> Keyword
      '__FILE__'         -> Keyword
      '__FUNCTION__'     -> Keyword
      '__LINE__'         -> Keyword
      'and'              -> Keyword
      'array'            -> Keyword
      'as'               -> Keyword
      'break'            -> Keyword
      'case'             -> Keyword
      'class'            -> Keyword
      'continue'         -> Keyword
      'declare'          -> Keyword
      'default'          -> Keyword
      'die'              -> Keyword
      'do'               -> Keyword
      'echo'             -> Keyword
      'else'             -> Keyword
      'elseif'           -> Keyword
      'empty'            -> Keyword
      'enddeclare'       -> Keyword
      'endfor'           -> Keyword
      'endforeach'       -> Keyword
      'endif'            -> Keyword
      'endswitch'        -> Keyword
      'endwhile'         -> Keyword
      'eval'             -> Keyword
      'exit'             -> Keyword
      'extends'          -> Keyword
      'false'            -> Keyword
      'for'              -> Keyword
      'foreach'          -> Keyword
      'function'         -> Keyword
      'global'           -> Keyword
      'if'               -> Keyword
      'include'          -> Keyword
      'include_once'     -> Keyword
      'isset'            -> Keyword
      'list'             -> Keyword
      'new'              -> Keyword
      'null'             -> Keyword
      'or'               -> Keyword
      'parent'           -> Keyword
      'print'            -> Keyword
      'require'          -> Keyword
      'require_once'     -> Keyword
      'return'           -> Keyword
      'static'           -> Keyword
      'switch'           -> Keyword
      'this'             -> Keyword
      'true'             -> Keyword
      'unset'            -> Keyword
      'use'              -> Keyword
      'var'              -> Keyword
      'while'            -> Keyword
      'xor'              -> Keyword

  lexical restrictions
    '__CLASS__'     -/- [a-zA-Z0-9\_]
    '__FILE__'      -/- [a-zA-Z0-9\_]
    '__FUNCTION__'  -/- [a-zA-Z0-9\_]
    '__LINE__'      -/- [a-zA-Z0-9\_]
    'and'           -/- [a-zA-Z0-9\_]
    'array'         -/- [a-zA-Z0-9\_]
    'as'            -/- [a-zA-Z0-9\_]
    'break'         -/- [a-zA-Z0-9\_]
    'case'          -/- [a-zA-Z0-9\_]
    'class'         -/- [a-zA-Z0-9\_]
    'continue'      -/- [a-zA-Z0-9\_]
    'declare'       -/- [a-zA-Z0-9\_]
    'default'       -/- [a-zA-Z0-9\_]
    'die'           -/- [a-zA-Z0-9\_]
    'do'            -/- [a-zA-Z0-9\_]
    'echo'          -/- [a-zA-Z0-9\_]
    'else'          -/- [a-zA-Z0-9\_]
    'elseif'        -/- [a-zA-Z0-9\_]
    'empty'         -/- [a-zA-Z0-9\_]
    'enddeclare'    -/- [a-zA-Z0-9\_]
    'endfor'        -/- [a-zA-Z0-9\_]
    'endforeach'    -/- [a-zA-Z0-9\_]
    'endif'         -/- [a-zA-Z0-9\_]
    'endswitch'     -/- [a-zA-Z0-9\_]
    'endwhile'      -/- [a-zA-Z0-9\_]
    'eval'          -/- [a-zA-Z0-9\_]
    'exit'          -/- [a-zA-Z0-9\_]
    'extends'       -/- [a-zA-Z0-9\_]
    'false'         -/- [a-zA-Z0-9\_]
    'for'           -/- [a-zA-Z0-9\_]
    'foreach'       -/- [a-zA-Z0-9\_]
    'function'      -/- [a-zA-Z0-9\_]
    'global'        -/- [a-zA-Z0-9\_]
    'if'            -/- [a-zA-Z0-9\_]
    'include'       -/- [a-zA-Z0-9\_]
    'include_once'  -/- [a-zA-Z0-9\_]
    'isset'         -/- [a-zA-Z0-9\_]
    'list'          -/- [a-zA-Z0-9\_]
    'new'           -/- [a-zA-Z0-9\_]
    'null'          -/- [a-zA-Z0-9\_]
    'or'            -/- [a-zA-Z0-9\_]
    'parent'        -/- [a-zA-Z0-9\_]
    'print'         -/- [a-zA-Z0-9\_]
    'require'       -/- [a-zA-Z0-9\_]
    'require_once'  -/- [a-zA-Z0-9\_]
    'return'        -/- [a-zA-Z0-9\_]
    'static'        -/- [a-zA-Z0-9\_]
    'switch'        -/- [a-zA-Z0-9\_]
    'this'          -/- [a-zA-Z0-9\_]
    'true'          -/- [a-zA-Z0-9\_]
    'unset'         -/- [a-zA-Z0-9\_]
    'use'           -/- [a-zA-Z0-9\_]
    'var'           -/- [a-zA-Z0-9\_]
    'while'         -/- [a-zA-Z0-9\_]
    'xor'           -/- [a-zA-Z0-9\_]