Grammar explorer

PHP 8.5 Production

reserved-non-modifiers

Read left to right. Select any rule to explore it.

reserved-non-modifiers railroad diagramRead left to right. Branches are alternatives, bypasses are optional, and loops repeat. Select a production to explore it. The EBNF and linked references follow below."and""array""as""break""callable""case""catch""class""clone""const""continue""declare""default""do""echo""else""elseif""empty""enddeclare""endfor""endforeach""endif""endswitch""endwhile""enum""eval""exit""die""extends""finally""fn""for""foreach""function""global""goto""if""implements""include""include_once""instanceof""insteadof""interface""isset""list""match""namespace""new""or""print""require""require_once""return""switch""throw""trait""try""unset""use""var""while""xor""yield"Explore production: magic-constantmagic-constant
Production LiteralBranch: choiceBypass: optionalLoop: repeat
EBNF source
reserved-non-modifiers =
    "and" | "array" | "as" | "break" | "callable" | "case" | "catch" | "class" | "clone" | "const" | "continue" | "declare" | "default" | "do" | "echo" | "else" | "elseif" | "empty" | "enddeclare" | "endfor" | "endforeach" | "endif" | "endswitch" | "endwhile" | "enum" | "eval" | "exit" | "die" | "extends" | "finally" | "fn" | "for" | "foreach" | "function" | "global" | "goto" | "if" | "implements" | "include" | "include_once" | "instanceof" | "insteadof" | "interface" | "isset" | "list" | "match" | "namespace" | "new" | "or" | "print" | "require" | "require_once" | "return" | "switch" | "throw" | "trait" | "try" | "unset" | "use" | "var" | "while" | "xor" | "yield"
    | magic-constant ;

Explore next

Referenced by 2

Take it with you

The grammar, in plain text.

For reading, building tools, and exploring PHP.
Free to use under the MIT license.

A shared understanding of PHP.

php-grammar is an open source project documenting PHP syntax in a consistent, tool-independent format. The EBNF describes syntax; the accompanying specification defines lexical rules and contextual constraints.

Explore the project and contribute