This directory contains the source code for a simple Eiffel parser. It uses Gelex to generate class EIFFEL_SCANNER and Geyacc to generate classes EIFFEL_PARSER and EIFFEL_TOKENS. Class EIFFEL_PARSER has three creation procedures. `make' just creates a parser. `execute' creates a parser and parses the files given in the command line, one by one. `benchmark' expects the command line to be made up of a number 'nb' followed by a filename. It creates a parser and parses 'nb' times the file given as second argument. Note: This Eiffel parser is just a simple example. It is not intended to be perfect or to follow any Eiffel syntax standard. Moreover, it does not generate any abstract syntax tree and there is no output. To compile this example: 1. Use the script 'make scanner' to generate class EIFFEL_SCANNER if necessary. 2. Use the script 'make parser' to generate classes EIFFEL_PARSER and EIFFEL_TOKENS if necessary. 3. Choose either `execute' or `benchmark' as the creation prodecure of the root class EIFFEL_PARSER in your Ace file (ISE Eiffel: ise.ace, Halstenbach: hact.ace), your ESD file (Visual Eiffel: ve.esd) or your command line (SmallEiffel). 4. Use your favorite Eiffel compiler to compile the Eiffel system using the provided Ace file (ISE Eiffel: ise.ace, Halstenbach: hact.ace), ESD file (Visual Eiffel: ve.esd) or loadpath file (SmallEiffel: loadpath.se). If you have GNU make, you can alternatively type: 'make ise', 'make hact', 'make ve' or 'make se'. 5. Execute the Eiffel parser using eiffel_parser filename1 ... if you selected `execute' as creation procedure, or eiffel_parser nb filename if you selected `benchmark', where `filename', `filename1', etc. are filenames containing Eiffel classes and `nb' is an integer. -- Copyright (c) 1997-2000, Eric Bezault mailto:ericb@gobosoft.com http://www.gobosoft.com