| | 2 | |
| | 3 | == Redesign the Preprocessor == |
| | 4 | |
| | 5 | === 1. Preprocessor === |
| | 6 | 1). Input: Raw '''char stream''' read from source files |
| | 7 | |
| | 8 | 2). Output: A pp-token stream |
| | 9 | |
| | 10 | === 2. PP Token Converter === |
| | 11 | 1). Input: A pp-token stream |
| | 12 | |
| | 13 | 2). Output: A CIVL-C token stream. |
| | 14 | |
| | 15 | 3). Functionality: |
| | 16 | |
| | 17 | Based on a specific programming language (C/CIVL-C or Fortran), the convertor analyzes |
| | 18 | each pp-token and generates a corresponding !CIVLCToken for each of them. |
| | 19 | |
| | 20 | === 3. Language Based Parser === |
| | 21 | 1). Input: A CIVLCToken stream |
| | 22 | |
| | 23 | 2). Output: A CIVL AST |
| | 24 | |
| | 25 | |
| | 26 | == Meeting Notes for Fortran Front-End == |
| | 27 | === 01-08-2019 === |
| | 28 | 0). The preprocessor will only create and handle pp-tokens (preprocess tokens). |
| | 29 | |
| | 30 | 1). All language specific tokens & keywords should be created after the preprocess procedure. |
| | 31 | |
| | 32 | 2). Language grammar based converters (C/CIVL-C & Fortran) should be developed for generating CIVLC tokens from pp-tokens. |
| | 33 | |
| | 34 | 3). Different parsers will be used for pars the CIVL-C token stream |
| | 35 | |