Scarlet Line home page Scarlet Line - SOFTWARE DESIGN & DEVELOPMENT

[Home]->[Documentation]->[Syntac Universal Parser]->[Other Grammars]->[Extended Backus-Naur form (EBNF)]->[Symbols]->[label_name_rest]

Expand All
Collapse All
Contents

ebnf::label_name_rest Locate in Contents

Declaration Locate in Contents

label_name_rest[std::string & __name] ::=
    '[ \t]*' ( '[A-Z_a-z0-9]' | '[!\'"#$%&\'()*+,\-\./:;<=?@\[\\\]^`{|}~]' )        {            if (!$1.empty())                {                __name.append("_");                }            if (!$3.empty())                {                __name += $3;                }            else                {                __name.append("_");                if ($4[0] != ':' && $4[0] != '-')                    {                    __name.append(1, syntac::htoa( ($4[0] & 0xF0) >> 4 ));                    __name.append(1, syntac::htoa( $4[0] & 0x0F ));                    __name.append("_");
                    }
                }
        }

Composition Locate in Contents

label label_name_rest Concatenation Node Iteration Node Alternation Node '[\\t ]' '[0-9A-Z_a-z]' '[!

State Machine Locate in Contents

start:827:$0 final:828:$0