| 1 | 1. Assumptions:
|
|---|
| 2 | A1. Fixed form: No WS between characters/digits in identifiers, keywords and constants.
|
|---|
| 3 | A2. If col:5 is not blank (WS), col:6 should be blank.
|
|---|
| 4 | A3. Line continuation should not break any identifier, keyword or constants.
|
|---|
| 5 | A4. No comment appears in a continued statement
|
|---|
| 6 |
|
|---|
| 7 | 2. Incomplete rules:
|
|---|
| 8 | R507:
|
|---|
| 9 | * R1510 generic stmt
|
|---|
| 10 | R514:
|
|---|
| 11 | * R1111 change team construct
|
|---|
| 12 | * R1148 select rank construct
|
|---|
| 13 | R726: derived type def
|
|---|
| 14 | * Sub-rules are not completed and tested.
|
|---|
| 15 | R901: 'RE', 'IM' for complex number fields
|
|---|
| 16 | R926: 'STAT', 'TEAM' and 'TEAM_NUMBER' for image selector spec
|
|---|
| 17 | R928: 'ERRMSG', 'MOLD', 'SOURCE', 'STAT'
|
|---|
| 18 | R931: One branch unfinished.
|
|---|
| 19 | R936: unfinished.
|
|---|
| 20 |
|
|---|
| 21 | 3. Deprecated rules:
|
|---|
| 22 | R605-08:
|
|---|
| 23 | * default_logical_variable
|
|---|
| 24 | * scalar_default_logical_variable
|
|---|
| 25 | R607-08:
|
|---|
| 26 | * default_char_variable
|
|---|
| 27 | * scalar_default_char_variable
|
|---|
| 28 |
|
|---|
| 29 | ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
|
|---|
| 30 |
|
|---|
| 31 | // R605
|
|---|
| 32 | default_logical_variable
|
|---|
| 33 | : variable
|
|---|
| 34 | { action.default_logical_variable(); }
|
|---|
| 35 | ;
|
|---|
| 36 |
|
|---|
| 37 | scalar_default_logical_variable
|
|---|
| 38 | : variable
|
|---|
| 39 | { action.scalar_default_logical_variable(); }
|
|---|
| 40 | ;
|
|---|
| 41 |
|
|---|
| 42 |
|
|---|
| 43 | // R607
|
|---|
| 44 |
|
|---|
| 45 | scalar_default_char_variable
|
|---|
| 46 | : variable
|
|---|
| 47 | { action.scalar_default_char_variable(); }
|
|---|
| 48 | ;
|
|---|
| 49 |
|
|---|
| 50 | ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
|
|---|
| 51 |
|
|---|
| 52 | TODO: Clean up all Token declarations
|
|---|
| 53 |
|
|---|
| 54 |
|
|---|
| 55 | TODO:
|
|---|
| 56 | 1). Revert the PreprocessorTokenSource and let the PP2Fortran converter to handle the PPNUMBER token
|
|---|
| 57 | (Involved case: '4x4' in a comment line like '! a 4x4 matrix')
|
|---|
| 58 | 2). Check the conversion for '..' as T_DOT_DOT and 'CONTIGUOUS' for T_CONTIGUOUS
|
|---|
| 59 |
|
|---|
| 60 | Ant for new grammar file:
|
|---|
| 61 |
|
|---|
| 62 |
|
|---|
| 63 | <target name="nfp" depends="fParserDependencies" unless="FortranParser08UpToDate">
|
|---|
| 64 | <java classname="org.antlr.Tool" classpathref="antlr.class.path" fork="true" failonerror="true" dir="${fortran.grammar.dir}">
|
|---|
| 65 | <arg value="-verbose" />
|
|---|
| 66 | <arg value="FortranParser2018.g" />
|
|---|
| 67 | </java>
|
|---|
| 68 | </target>
|
|---|
| 69 |
|
|---|
| 70 | |
|---|