From: PhyloPattern: regular expressions to identify complex patterns in phylogenetic trees
<node> | ::= | <leaf> | <internal_node> | <rake> |
---|---|---|
<leaf> | ::= | " [" <empty_list>, <tag_list> "]" |
<internal_node> | ::= | " [" "[" <node>, <node> "]", <tag_list> "]" |
<rake> | ::= | &(" [" <node_list> "]") |
<node_list> | ::= | <node> |
 | ::= | <node>, <node_list> |
<empty_list> | ::= | "[]" |
<tag_list> | ::= | <empty_list> |
 | ::= | " [" <filled_tag_list> "]" |
<filled_tag_list> | ::= | <tag> |
 | ::= | <tag>, <filled_tag_list> |
<tag> | ::= | <identifier> (<value>) |
<leaf_list> | ::= | <leaf> |
 | ::= | <leaf>, <leaf_list> |
<identifier> | ::= | <lower-case-letter> { <letter> | <digit>} |
 | ::= | ' { <character> } ' |
<value> | ::= | <identifier> | <number> |
<pattern> | ::= | <leaf> |
 | ::= | " [" "[" <pattern>, <pattern> "]", <tag_list> "]" |
 | ::= | &(" [" <pattern_list> "]") |
 | ::= | @ (<pattern>) |
 | ::= | $ (<pattern>) |
 | ::= | #(" [" <leaf_list> "]") |
<pattern_list> | ::= | <pattern> |
 | ::= | <pattern>, <pattern_list> |