MCPcopy Create free account
hub / github.com/boostorg/build / parse_impl

Function parse_impl

src/engine/parse.cpp:33–60  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

31static PARSE * yypsave;
32
33static void parse_impl( FRAME * frame )
34{
35
36 /* Now parse each block of rules and execute it. Execute it outside of the
37 * parser so that recursive calls to yyrun() work (no recursive yyparse's).
38 */
39
40 for ( ; ; )
41 {
42 PARSE * p;
43 FUNCTION * func;
44
45 /* Filled by yyparse() calling parse_save(). */
46 yypsave = 0;
47
48 /* If parse error or empty parse, outta here. */
49 if ( yyparse() || !( p = yypsave ) )
50 break;
51
52 /* Run the parse tree. */
53 func = function_compile( p );
54 parse_free( p );
55 list_free( function_run( func, frame, stack_global() ) );
56 function_free( func );
57 }
58
59 yyfdone();
60}
61
62
63void parse_file( OBJECT * f, FRAME * frame )

Callers 2

parse_fileFunction · 0.85
parse_stringFunction · 0.85

Calls 8

yyparseFunction · 0.85
function_compileFunction · 0.85
parse_freeFunction · 0.85
list_freeFunction · 0.85
function_runFunction · 0.85
stack_globalFunction · 0.85
function_freeFunction · 0.85
yyfdoneFunction · 0.85

Tested by

no test coverage detected