]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/tools/build/src/engine/parse.c
update sources to v12.2.3
[ceph.git] / ceph / src / boost / tools / build / src / engine / parse.c
index 71c38764e1a2229f77eef22edfb32ae8cdeb9c39..42f64f06e779e1ea34c419530a1a44b2804d9f58 100644 (file)
 
 static PARSE * yypsave;
 
-void parse_file( OBJECT * f, FRAME * frame )
+static void parse_impl( FRAME * frame )
 {
-    /* Suspend scan of current file and push this new file in the stream. */
-    yyfparse( f );
 
     /* Now parse each block of rules and execute it. Execute it outside of the
      * parser so that recursive calls to yyrun() work (no recursive yyparse's).
@@ -62,6 +60,22 @@ void parse_file( OBJECT * f, FRAME * frame )
 }
 
 
+void parse_file( OBJECT * f, FRAME * frame )
+{
+    /* Suspend scan of current file and push this new file in the stream. */
+    yyfparse( f );
+
+    parse_impl( frame );
+}
+
+
+void parse_string( OBJECT * name, const char * * lines, FRAME * frame )
+{
+    yysparse( name, lines );
+    parse_impl( frame );
+}
+
+
 void parse_save( PARSE * p )
 {
     yypsave = p;