macross/lexer.h

33 lines
1.0 KiB
C

#ifndef LEXER_H_
#define LEXER_H_
int yylex (void);
int lexer (void);
void initializeLexDispatchTable (void);
bool isMacrossLiteralCharacter (char c);
void snarfAlphanumericString (char c, char *buffer);
int lexIdentifier (char c);
int lexNumber (char c);
int fancyAtoI (char *buffer, int base);
int digitValue (char c);
int lexLiteral (char c);
int lexCharacterConstant (void);
int getStringCharacter (FILE *input);
int lexStringConstant (void);
int lexOperator (char firstC);
char controlCharacter (char c);
char skipWhitespaceAndComments (void);
int popInputFileStack (void);
void pushInputFileStack (stringType *fileName);
void resynchronizeInput (void);
void saveLineForListing (stringType *line);
void saveEOLForListing (void);
void saveIndexForListing (statementKindType kindOfStatement, int cumulativeLineNumber);
void saveEndMifForListing (int cumulativeLineNumber);
void saveListingOff (void);
void saveListingOn (void);
char *myfgets (char *buffer, int length, FILE *stream);
int readAnotherLine (void);
#endif