Scarlet Line home page Scarlet Line - SOFTWARE DESIGN & DEVELOPMENT

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

Expand All
Collapse All
Contents

ebnf::label_name_first Locate in Contents

Declaration Locate in Contents

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

Composition Locate in Contents

label label_name_first Alternation Node '[A-Z_a-z]' '[0-9]' '[!

State Machine Locate in Contents

start:824:$0 final:825:$0