Scarlet Line home page Scarlet Line - SOFTWARE DESIGN & DEVELOPMENT

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

Expand All
Collapse All
Contents

ebnf::code_block Locate in Contents

Declaration Locate in Contents

code_block[std::string & __result] ::=    { std::streamoff _start_line = $line;/* }*/
        '{' code_block_in ( code_block_sub code_block_in )* '}'
            {
            {
            std::ostringstream _line_def;
            _line_def << "#line " << _start_line << " \"" << $file << "\"" << std::endl;
            __result.append(_line_def.str());
            }
            __result += $2;
            __result += $3;
            __result.append("\n#line #");
            __result.append("line_number# \"#");
            __result.append("full_file_path#\"\n");
            }

Composition Locate in Contents

syntac_file code_block Concatenation Node class_definition production_rule symexp_union_element symexp_element '{' code_block_in<std::string> Iteration Node '}' Concatenation Node code_block_sub code_block_in

State Machine Locate in Contents

start:750:$0 final:751:$0 code_block_in<std::string>|{752|$2|753} code_block_sub|{765|$5|766} code_block_in|{767|$6|768} code_block_sub|{765|$5|766} code_block_in|{767|$6|768}