[BACK]Return to lowparse.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/lowparse.h between version 1.3 and 1.4

version 1.3, 2001/05/03 13:41:07 version 1.4, 2001/05/23 12:34:45
Line 1 
Line 1 
   #ifndef LOWPARSE_H
   #define LOWPARSE_H
   
 /* $OpenPackages$ */  /* $OpenPackages$ */
 /* $OpenBSD$ */  /* $OpenBSD$ */
   
Line 27 
Line 30 
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */   */
 #ifndef LOWPARSE_H  /* low-level parsing module:
 #define LOWPARSE_H   *      select input stream to parse, and do high-speed processing of
 extern void Parse_FromFile(char *, FILE *);   *      lines: skipping comments, handling continuation lines, or skipping
 extern Boolean Parse_NextFile(void);   *      over dead conditionals.
    *
    * Basic template:
    *
    * Parse_Fromxxx(source);
    * do {
    *      while ((line = Parse_ReadNormalLine(&buf)) != NULL) {
    *              handle line, use Parse_Fromxxx to push includes,
    *              Parse_ReadNextConditional to get over non-conditional lines.
    *              or Parse_ReadUnparsedLine to handle special cases manually.
    *      }
    * } while (Parse_NextFile());
    */
   
   /* Initialization and cleanup */
 #ifdef CLEANUP  #ifdef CLEANUP
 extern void LowParse_Init(void);  extern void LowParse_Init(void);
 extern void LowParse_End(void);  extern void LowParse_End(void);
   #else
   #define LowParse_Init()
   #define LowParse_End()
 #endif  #endif
 extern char *ParseReadLine(Buffer);  
 extern char *ParseSkipGetLine(Buffer);  /* Selection of input stream */
 extern char *ParseGetLine(Buffer, const char *);  /* Parse_FromFile(filename, filehandle);
 extern void Finish_Errors(void);   *      Push given filehandle on the input stack, using filename for diagnostic
    *      messages.  The module assumes ownership of the filehandle and of
    *      the filename: provide copies if necessary.  */
   extern void Parse_FromFile(const char *, FILE *);
   /* Parse_FromString(str, lineno);
    *      Push expanded string str on the input stack, assuming it starts at
    *      lineno in the current file.  This is used to reparse .for loops
    *      after the variable has been expanded, hence no need to respecify
    *      the filename. The module assumes ownership of the string: provide a
    *      copy if necessary.  */
   extern void Parse_FromString(char *, unsigned long);
   
   /* Error reporting, and tagging of read structures. */
   /* lineno = Parse_Getlineno();
    *      Returns the current lineno. */
   extern unsigned long Parse_Getlineno(void);
   /* name = Parse_Getfilename();
    *      Returns the current filename.  Safe to keep without copying.  */
   extern const char *Parse_Getfilename(void);
   
   /* continue = Parse_NextFile();
    *      Advance parsing to the next file in the input stack. Returns true
    *      if there is parsing left to do.
    */
   extern bool Parse_NextFile(void);
   
   
   /* line = Parse_ReadNormalLine(buf);
    *      Reads next line into buffer and return its contents.  Handles line
    *      continuation, remove extra blanks, and skip trivial comments.  tabs at
    *      beginning of line are left alone, to be able to recognize target
    *      lines. */
   extern char *Parse_ReadNormalLine(Buffer);
   
   /* line = ParseReadNextConditionalLine(buf);
    *      Returns next conditional line, skipping over everything else. */
   extern char *Parse_ReadNextConditionalLine(Buffer);
   /* line = ParseReadUnparsedLine(buf, type);
    *      Reads line without parsing anything beyond continuations.
    *      Handle special cases such as conditional lines, or lines that
    *      need a reparse (loops). */
   extern char *Parse_ReadUnparsedLine(Buffer, const char *);
   /* Parse_ReportErrors();
    *      At end of parsing, report on fatal errors.
    */
   extern void Parse_ReportErrors(void);
 #endif  #endif

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4