Scarlet Line home page Scarlet Line - SOFTWARE DESIGN & DEVELOPMENT

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

Expand All
Collapse All
Contents

ebnf::hex_value Locate in Contents

Declaration Locate in Contents

hex_value[parser_type & tree, vertex_token parent_value, arc_token & current_link] ::=
    {
    unsigned char _val1 = 0, _val2 = 0;
    }
        hex_char[_val1] ("-" hex_char[_val2])?
            {
            if (_val2 && _val2 < _val1)
                {
                std::cerr << $file << ':' << $line << ": warning: abnf hex value range invalid " << _val1 << "-" << _val2 << std::endl;
                $report_position(std::cerr);
                _val2 = _val1;
                }
            current_link = (_val1==_val2?tree.insert_terminal(parent_value, _val1):tree.insert_terminal_range(parent_value, _val1, _val2));
            }

Composition Locate in Contents

abnf_value hex_value Concatenation Node hex_char Alternation Node Concatenation Node @ '\\-' hex_char

State Machine Locate in Contents

start:971:$0 hex_char|{973|$1|974} final:972:$0 hex_char|{973|$5|974}