Gramatica Regular Fortran
Gramatica Regular Fortran
100
<ID>::=<letra>(<letra>|<digito>|_)*
<letra>::= a|b|c||z|A|B|C||Z
<digito>::= 0|1|2||9
101
<entero>::=(+|-)?<digito>
102
<decimal>::=<digito> . <digito>
103
<cadena>::= <ascii>*
<ascii>::=cualquier caracter
<delimitadores>::= |nl|tab|esc
104 105 106 107 108 109
<signos_agrupacion>::= ( | ) | { | } | [ | ]
110 111 112
<signos_puntuacion>::= ; | . | , |
<operadores>::= <op_arit>|<op_logico>|<op_relacional>
113 114 115 116
<op_arit>::= +|_|/|*
<op_logico>::= .AND.|.OR.|.NOT.
<op_relacional>::= .EQ.|.GT.|.LT.|.GE.|.LE.|.NE.
117 118
<signos_asignacion>::= :: | =
<comentarios>::= <lnea>
119
<lnea>::= !
<palabras_reservadas>::= PROGRAM|GOTO|IF|SELECT|WHILE|DO|READ|THEN|END|
|INTEGER|IMPLICIT|NONE|DEFAULT|REAL|COMPLEX|LOGICAL|
| CHARACTER|CASE|PRINT|EQ|GT|LT|LE|NE|LG|EG|
AND|OR|NOT|FALSE|TRUE