刘刊 > DynGig-Range-1.00 > DynGig::Range::String::Parse

Download:
DynGig-Range-1.00.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

DynGig::Range::String::Parse - Implements DynGig::Range::Interface::Parse.

GRAMMAR ^

Tokenizer and parser implement the base class BNF with the following differences.

<expression> ::=

  <multi> ( <operator> <multi> )* | <multi> ( <operator> <regex> )*

<regex> ::= <a subset of perl regex>

e.g.

 /^foobar$/i
 /[1-3]/

Range takes precedence on symbols that are common to both range and regex.

OBJECT ^

A variable-level HASH with levels alternating between numeric and non-numeric keys, and leaves as { '' => '' }.

e.g. 'abc000~4,123~4xyz,abc123xyz456,abc,xyz' is stored as

 '123':
   xyz:
     '': ''
 '124':
   xyz:
     '': ''
 abc:
   '': ''
   '000':
     '': ''
   '001':
     '': ''
   '002':
     '': ''
   '003':
     '': ''
   '004':
     '': ''
   '123':
     xyz:
       '456':
         '': ''
 xyz:
   '': ''

LITERAL ^

A rudimentary range form. e.g.

 'abc000~4'
 'xyz'
 '123'

NOTE ^

See DynGig::Range

syntax highlighting: