Rule Phrygian ( ) { return Sequence ( IgnoreCase ( "phr" ) , Optional ( Sequence ( IgnoreCase ( "y" ) , Optional ( Sequence ( IgnoreCase ( "g" ) , Optional ( Sequence ( IgnoreCase ( "i" ) , Optional ( Sequence ( IgnoreCase ( "a" ) , Optional ( IgnoreCase ( "n" ) ) ) ) ) ) ) ) ) ) ) . label ( Phrygian ) . suppressSubnodes ( ) ; }
minor with flat 2nd