grammar PIL::Native::Syntax; rule literal { nil | true | false | | | | | } rule stringLiteral { " <-['"]>+ " } rule singleQuoteStringLiteral { ' <-[']> ' } rule naturalOrFloat { | . } rule integer { \d+ } rule identifier { <[$@%&:]> <-[ \n\t.`!,;()[\]{}<>#]>* } rule method { <-[ \n\t()0123456789.`!]> <-[ \n\t();,.`!]>* } rule pointySub { -\> } rule pointySubParams { ? } rule pointySubBody { \{ \} } rule expressionList { [; | ;? ] } rule expression { ? } rule expressionStmt { \( \) | | | | | } rule call { <[`.!]> } rule methodCall { ? } rule argList { \( ? \) } rule selfExpression { self } rule variableExpression { } rule arrayExpression { \[ \] } rule hashExpression { \{ \} } rule pairExpression { =\> } rule expressionCommaList { [ , ]? } rule identifierCommaList { [ , ]? } rule pairExpressionCommaList { [ , ]? }