4.8 Grammar

spec  ::=  sect spec
spec  ::=  sect
sect  ::=  definitions INDENT deflist DEDENT
sect  ::=  SRCCODE
sect  ::=  statelist INDENT rulelist DEDENT
statelist  ::=  IDENT
statelist  ::=  statelist , IDENT
deflist  ::=  IDENT ¨ regexp ¨ \n
deflist  ::=  deflist IDENT ¨ regexp ¨ EOL
rulelist  ::=  ¨ rulepat ¨ SRCCODE
rulelist  ::=  rulelist ¨ rulepat ¨ SRCCODE
rulepat  ::=  optanchor regexp
rulepat  ::=  <<EOF>>
optanchor  ::=  ^
optanchor  ::= 
regexp  ::=  reclause
regexp  ::=  regexp reclause
reclause  ::=  reclause +
reclause  ::=  reclause *
reclause  ::=  reclause ?
reclause  ::=  reclause | reclause
reclause  ::=  ( regexp )
reclause  ::=  IDENT
reclause  ::=  cclass
reclause  ::=  CHAR
reclause  ::=  .
cclass  ::=  [ optinvert ranges ]
optinvert  ::=  ^
optinvert  ::= 
ranges  ::=  range
ranges  ::=  ranges range
range  ::=  CHAR
range  ::=  CHAR - CHAR
range  ::=  [:alnum:]
range  ::=  [:alpha:]
range  ::=  [:blank:]
range  ::=  [:cntrl:]
range  ::=  [:digit:]
range  ::=  [:graph:]
range  ::=  [:lower:]
range  ::=  [:print:]
range  ::=  [:punct:]
range  ::=  [:space:]
range  ::=  [:upper:]
range  ::=  [:xdigit:]
Download entire grammar as text.
See the PyGgy Home Page.