Match
(vl-parse-range-expression &key (tokstream 'tokstream) (config 'config)) → (mv errmsg? value new-tokstream)
In Verilog-2005 the rule boils down to:
range_expression ::= expression | expression ':' expression | expression '+:' expression | expression '-:' expression
In SystemVerilog-2012 the rule is identical, but just split up across several additional productions.
range_expression ::= expression | part_select_range part_select_range ::= constant_range | indexed_range constant_range ::= expression ':' expression indexed_range ::= expression '+:' expression | expression '-:' expression