1 /*----------------------------------------------------------------------- 2 3 File : cio_basicparser.h 4 5 Author: Stephan Schulz 6 7 Contents 8 9 Parsing routines for useful C build-in ans some general CLIB 10 datatypes not covered by the scanner. 11 12 Copyright 1998, 1999 by the author. 13 This code is released under the GNU General Public Licence and 14 the GNU Lesser General Public License. 15 See the file COPYING in the main E directory for details.. 16 Run "eprover -h" for contact information. 17 18 Changes 19 20 <1> Mon Sep 8 16:34:11 MET DST 1997 21 New 22 23 -----------------------------------------------------------------------*/ 24 25 #ifndef CIO_BASICPARSER 26 27 #define CIO_BASICPARSER 28 29 #include <clb_ddarrays.h> 30 #include <clb_pstacks.h> 31 #include <cio_scanner.h> 32 33 /*---------------------------------------------------------------------*/ 34 /* Data type declarations */ 35 /*---------------------------------------------------------------------*/ 36 37 typedef enum 38 { 39 SNNoNumber, 40 SNInteger, 41 SNRational, 42 SNFloat 43 }StrNumType; 44 45 46 /*---------------------------------------------------------------------*/ 47 /* Exported Functions and Variables */ 48 /*---------------------------------------------------------------------*/ 49 50 51 long ParseInt(Scanner_p in); 52 double ParseFloat(Scanner_p in); 53 StrNumType ParseNumString(Scanner_p in); 54 long DDArrayParse(Scanner_p in, DDArray_p array, bool brackets); 55 char* ParseFilename(Scanner_p in); 56 char* ParsePlainFilename(Scanner_p in); 57 char* ParseBasicInclude(Scanner_p in); 58 char* ParseDottedId(Scanner_p in); 59 void AcceptDottedId(Scanner_p in, char* expected); 60 char* ParseContinous(Scanner_p in); 61 62 void ParseSkipParenthesizedExpr(Scanner_p in); 63 64 #endif 65 66 /*---------------------------------------------------------------------*/ 67 /* End of File */ 68 /*---------------------------------------------------------------------*/ 69 70 71 72 73 74