my $grammar = q{
startrule: create_table_syntax
create_table_syntax: 'CREATE TABLE' '(' column_definition(s /,/) ')'
column_definition: column_name data_type column_attributes(?)
column_name: /\w+/
data_type: "INT" | "VARCHAR"
column_attributes: key_or_not_null
key_or_not_null: primary(?) 'KEY'
}
####
::=
[PRIMARY] KEY
| NOT NULL [WITH DEFAULT]
####
primary: 'primary'