* IBM SAA CPI Fortran Reference SC26-4357 extended for XLF
* (C) Copyright IBM Corporation 1990, 1998
* All Rights Reserved
formsize
size 72
lists
states if fs si fk ik format sf se sd sc sb sa istr ck string remark comment errline end inline cmdline d6 d5 d4 d3 d2 s6 s5 s4 s3 s2 s1
symbols tab cmpiler drective nonexec if format ho t1 t2 x1 x2 name punctuation rcommand program operator q1 q2 qa qb number comment remark space debug digit five all zero end any
classes label sub comment error code
states
state s1 spacetrap
fonts tab _ comment C five _ space _ debug D cmpiler D digit L remark R any I
changes tab cmdline five s6 cmpiler inline comment comment remark remark space s2 debug s2 digit d2 any s2
unknown errline
end
state s2 spacetrap
fonts tab _ space _ cmpiler D digit L remark R any I
changes tab cmdline space s3 cmpiler inline digit d3 remark remark any s3
unknown errline
end
state s3 spacetrap
fonts tab _ space _ cmpiler D digit L remark R any I
changes tab cmdline space s4 cmpiler inline digit d4 remark remark any s4
unknown errline
end
state s4 spacetrap
fonts tab _ space _ cmpiler D digit L remark R any I
changes tab cmdline space s5 cmpiler inline digit d5 remark remark any s5
unknown errline
end
state s5 spacetrap
fonts tab _ space _ cmpiler D digit L remark R any I
changes tab cmdline space s6 cmpiler inline digit d6 remark remark any s6
unknown errline
end
state s6 spacetrap
*check for continuation line.
fonts tab _ space _ cmpiler D zero N any F
changes tab cmdline space cmdline cmpiler inline zero cmdline any inline
end
state d2 spacetrap
fonts tab _ space _ digit L
changes tab cmdline space d3 digit d3
unknown errline
end
state d3 spacetrap
fonts tab _ space _ digit L
changes tab cmdline space d4 digit d4
unknown errline
end
state d4 spacetrap
fonts tab _ space _ digit L
changes tab cmdline space d5 digit d5
unknown errline
end
state d5 spacetrap
fonts tab _ space _ digit L
changes tab cmdline space d6 digit d6
unknown errline
end
state d6 spacetrap
fonts tab _ space _ zero N
changes tab cmdline space cmdline zero cmdline
unknown errline
end
state remark
fonts all R
end
state comment
fonts all C
end
state errline
fonts all E
end
state cmdline
fonts tab _ end KK nonexec M program S rcommand K cmpiler D format M name A drective D remark R
changes end end remark remark name inline program inline rcommand inline cmpiler inline nonexec inline drective inline format format
unknown errline
end
state end
fonts rcommand K nonexec M program V cmpiler KD format KM name KA number A punctuation A drective KD remark KR
changes remark remark name inline number inline punctuation inline program inline rcommand inline cmpiler inline nonexec inline drective inline format format
unknown errline
end
state inline
fonts tab _ remark R rcommand K program S nonexec M ho N t1 N t2 N x1 N x2 N operator P name A punctuation P number N q1 Q q2 Q drective D any E
changes remark remark q1 string q2 sa
end
state string
fonts q1 Q qa Q
changes q1 inline
return istr
end
state istr spacetrap
fonts five _
changes five ck
unknown s1
end
state ck spacetrap
*check it is a continuation line, for continued string
fonts tab _ space _ zero N any F
changes tab cmdline space cmdline zero cmdline any string
end
state sa
fonts q2 Q qb Q
changes q2 inline
return sb
end
state sb spacetrap
fonts five _
changes five sc
unknown s1
end
state sc spacetrap
*check it is a continuation line, for continued string
fonts tab _ space _ zero N any F
changes tab cmdline space cmdline zero cmdline any sa
end
state format
fonts punctuation P if A q1 Q q2 Q any E
changes q1 fs q2 sd
return if
end
state fs
* string in a Format statement
fonts q1 Q qa Q
changes q1 format
return si
end
state si spacetrap
fonts five _
changes five fk
unknown s1
end
state fk spacetrap
*check it is a continuation line, for continued string in a FORMAT
fonts tab _ space _ zero N any F
changes tab cmdline space cmdline zero cmdline any fs
end
state sd
* string in a Format statement
fonts q2 Q qb Q
changes q2 format
return se
end
state se spacetrap
fonts five _
changes five sf
unknown s1
end
state sf spacetrap
*check it is a continuation line, for continued string in a FORMAT
fonts tab _ space _ zero N any F
changes tab cmdline space cmdline zero cmdline any sd
end
state if spacetrap
fonts five _
changes five ik
unknown s1
end
state ik spacetrap
*check it is a continuation line, for continued FORMAT
fonts tab _ space _ zero N any F
changes tab cmdline space cmdline zero cmdline any format
end
symbols
symbol all
form
!
symbol tab
form
T
symbol space
form
' '
symbol any
form
.
symbol five
form
' '
*one extra space - escape sequence
symbol digit
form
0
symbol remark
form
'!'
symbol comment
form
[' >C','*']
symbol debug
form
' >D'
symbol zero
form
'0'
symbol cmpiler
alphalist upper single ['@']({[$,'_','$']})
@PROCESS
symbol drective
form
['@','%']({[$,'_','$']})
symbol name
form
[A,a,'_','$']({[$,'_','$']})
symbol end
alphalist upper single &
END
symbol punctuation
sizelist small
!
%
(
)
*
+
,
-
.
/
:
;
<
=
>
\
_
* hollerith constant
symbol ho
form
[#]['H','h']($)
* binary and octal typeless constants type o'1234' or b"1234"
symbol t1
form
['O','o','b','B']['"',''''](#)['"','''']
* binary and octal typeless constants type '1234'o or "1234"b
symbol t2
form
['"',''''](#)['"','''']['O','o','b','B']
* hex typeless constants type '1234'x or "1234"X
symbol x1
form
['z','Z''X','x']['"','''']($)['"','''']
* hex typeless constants type '1234'x or "1234"x
symbol x2
form
['"',''''](#,$)['"','''']['z','Z''X','x']
symbol number
form
[#('.'),'.'](#)([' >E',' >D']('-','+')#)
symbol qa
form
/''''''
symbol q1
form
''''
symbol qb
form
/'""'
symbol q2
form
'"'
symbol program
alphalist upper small [A,a,'_','$']({[&,'_','$']})
ASSIGNMENT
BLOCK
BLOCKDATA
DATA
ENDBLOCKDATA
ENDFUNCTION
ENDINTERFACE
ENDMODULE
ENDPROGRAM
ENDSUBROUTINE
ENTRY
EXTRINSIC
FUNCTION
MODULE
OPERATOR
PROCEDURE
PROGRAM
PURE
RECURSIVE
RESULT
SUBROUTINE
symbol format
alphalist upper single &
FORMAT
symbol if
form
[$,'$','_']
symbol nonexec
alphalist upper large [A,a,'_','$']({[&,'_','$']})
%VAL
%REF
@PROCESS
ALLOCATABLE
AUTOMATIC
BYTE
CHARACTER
COMMON
COMPLEX
DATA
DIMENSION
DOUBLE
DOUBLECOMPLEX
DOUBLEPRECISION
EJECT
ENDTYPE
EQUIVALENCE
EXTERNAL
HPF
HPF_LOCAL
HPF_SERIAL
IMPLICIT
IN
INCLUDE
INOUT
INTEGER
INTENT
INTRINSIC
KIND
LEN
LOGICAL
NAMELIST
NONE
ONLY
OPTIONAL
OUT
PARAMETER
POINTER
PRECISION
PRIVATE
PUBLIC
REAL
SAVE
SEQUENCE
SOURCEFORM
STATIC
TARGET
TYPE
USE
VIRTUAL
VOLATILE
symbol rcommand
alphalist upper large [A,a,'_','$']({[&,'_','$']})