home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / viscobv7.zip / vac22os2 / ibmcobol / macros / f13.ppr < prev    next >
Text File  |  1998-02-24  |  8KB  |  543 lines

  1.  
  2.  * Parser Profile for IBM XLF FORTRAN
  3.  * IBM SAA CPI Fortran Reference SC26-4357 extended for XLF
  4.  *    (C) Copyright IBM Corporation 1990, 1998
  5.  *    All Rights Reserved
  6.  
  7. formsize
  8. size 132
  9.  
  10. lists
  11.  
  12. 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
  13.  
  14. 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
  15.  
  16. classes label sub comment error code
  17.  
  18.  
  19. states
  20.  
  21. state s1 spacetrap
  22. fonts tab _ comment C five _ space _ debug D cmpiler D digit L remark R any I
  23. changes tab cmdline five s6 cmpiler inline comment comment remark remark space s2 debug s2 digit d2 any s2
  24. unknown errline
  25. end
  26.  
  27. state s2 spacetrap
  28. fonts tab _ space _ cmpiler D digit L remark R any I
  29. changes tab cmdline space s3 cmpiler inline digit d3 remark remark any s3
  30. unknown errline
  31. end
  32.  
  33. state s3 spacetrap
  34. fonts tab _ space _ cmpiler D digit L remark R any I
  35. changes tab cmdline space s4 cmpiler inline digit d4 remark remark any s4
  36. unknown errline
  37. end
  38.  
  39. state s4 spacetrap
  40. fonts tab _ space _ cmpiler D digit L remark R any I
  41. changes tab cmdline space s5 cmpiler inline digit d5 remark remark any s5
  42. unknown errline
  43. end
  44.  
  45. state s5 spacetrap
  46. fonts tab _ space _ cmpiler D digit L remark R any I
  47. changes tab cmdline space s6 cmpiler inline digit d6 remark remark any s6
  48. unknown errline
  49. end
  50.  
  51. state s6 spacetrap
  52.  *check for continuation line.
  53. fonts tab _ space _ cmpiler D zero N any F
  54. changes tab cmdline space cmdline cmpiler inline zero cmdline any inline
  55. end
  56.  
  57. state d2 spacetrap
  58. fonts tab _ space _ digit L
  59. changes tab cmdline space d3 digit d3
  60. unknown errline
  61. end
  62.  
  63. state d3 spacetrap
  64. fonts tab _ space _ digit L
  65. changes tab cmdline space d4 digit d4
  66. unknown errline
  67. end
  68.  
  69. state d4 spacetrap
  70. fonts tab _ space _ digit L
  71. changes tab cmdline space d5 digit d5
  72. unknown errline
  73. end
  74.  
  75. state d5 spacetrap
  76. fonts tab _ space _ digit L
  77. changes tab cmdline space d6 digit d6
  78. unknown errline
  79. end
  80.  
  81. state d6 spacetrap
  82. fonts tab _ space _ zero N
  83. changes tab cmdline space cmdline zero cmdline
  84. unknown errline
  85. end
  86.  
  87. state remark
  88. fonts all R
  89. end
  90.  
  91. state comment
  92. fonts all C
  93. end
  94.  
  95. state errline
  96. fonts all E
  97. end
  98.  
  99. state cmdline
  100. fonts  tab _  end KK nonexec M program S rcommand K cmpiler D format M name A drective D remark R
  101. changes end end remark remark name inline program inline rcommand inline cmpiler inline nonexec inline drective inline format format
  102. unknown errline
  103. end
  104.  
  105. state end
  106. fonts  rcommand K nonexec M program V cmpiler KD format KM name KA number A punctuation A drective KD remark KR
  107. changes remark remark name inline number inline punctuation inline program inline rcommand inline cmpiler inline nonexec inline drective inline format format
  108. unknown errline
  109. end
  110.  
  111. state inline
  112. 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
  113. changes remark remark q1 string q2 sa
  114. end
  115.  
  116. state string
  117. fonts q1 Q qa Q
  118. changes q1 inline
  119. return istr
  120. end
  121.  
  122. state istr spacetrap
  123. fonts five _
  124. changes five ck
  125. unknown s1
  126. end
  127.  
  128. state ck spacetrap
  129.  *check it is a continuation line, for continued string
  130. fonts tab _ space _ zero N any F
  131. changes tab cmdline space cmdline zero cmdline any string
  132. end
  133.  
  134. state sa
  135. fonts q2 Q qb Q
  136. changes q2 inline
  137. return sb
  138. end
  139.  
  140. state sb spacetrap
  141. fonts five _
  142. changes five sc
  143. unknown s1
  144. end
  145.  
  146. state sc spacetrap
  147.  *check it is a continuation line, for continued string
  148. fonts tab _ space _ zero N any F
  149. changes tab cmdline space cmdline zero cmdline any sa
  150. end
  151.  
  152. state format
  153. fonts punctuation P if A q1 Q q2 Q any E
  154. changes q1 fs q2 sd
  155. return if
  156. end
  157.  
  158. state fs
  159.  * string in a Format statement
  160. fonts q1 Q qa Q
  161. changes q1 format
  162. return si
  163. end
  164.  
  165. state si spacetrap
  166. fonts five _
  167. changes five fk
  168. unknown s1
  169. end
  170.  
  171. state fk spacetrap
  172.  *check it is a continuation line, for continued string in a FORMAT
  173. fonts tab _ space _ zero N any F
  174. changes tab cmdline space cmdline zero cmdline any fs
  175. end
  176.  
  177. state sd
  178.  * string in a Format statement
  179. fonts q2 Q qb Q
  180. changes q2 format
  181. return se
  182. end
  183.  
  184. state se spacetrap
  185. fonts five _
  186. changes five sf
  187. unknown s1
  188. end
  189.  
  190. state sf spacetrap
  191.  *check it is a continuation line, for continued string in a FORMAT
  192. fonts tab _ space _ zero N any F
  193. changes tab cmdline space cmdline zero cmdline any sd
  194. end
  195.  
  196. state if spacetrap
  197. fonts five _
  198. changes five ik
  199. unknown s1
  200. end
  201.  
  202. state ik spacetrap
  203.  *check it is a continuation line, for continued FORMAT
  204. fonts tab _ space _ zero N any F
  205. changes tab cmdline space cmdline zero cmdline any format
  206. end
  207.  
  208.  
  209. symbols
  210.  
  211. symbol all
  212. form
  213. !
  214.  
  215. symbol tab
  216. form
  217. T
  218.  
  219. symbol space
  220. form
  221. '  '
  222.  
  223. symbol any
  224. form
  225. .
  226.  
  227. symbol five
  228. form
  229. '      '
  230.      *one extra space - escape sequence
  231.  
  232. symbol digit
  233. form
  234. 0
  235.  
  236. symbol remark
  237. form
  238. '!'
  239.  
  240. symbol comment
  241. form
  242. [' >C','*']
  243.  
  244. symbol debug
  245. form
  246. ' >D'
  247.  
  248. symbol zero
  249. form
  250. '0'
  251.  
  252. symbol cmpiler
  253. alphalist upper single ['@']({[$,'_','$']})
  254. @PROCESS
  255.  
  256. symbol drective
  257. form
  258. ['@','%']({[$,'_','$']})
  259.  
  260. symbol name
  261. form
  262. [A,a,'_','$']({[$,'_','$']})
  263.  
  264. symbol end
  265. alphalist upper single &
  266. END
  267.  
  268. symbol punctuation
  269. sizelist small
  270. !
  271. %
  272. (
  273. )
  274. *
  275. +
  276. ,
  277. -
  278. .
  279. /
  280. :
  281. ;
  282. <
  283. =
  284. >
  285. \
  286. _
  287.  
  288.  
  289.  * hollerith constant
  290. symbol ho
  291. form
  292. [#]['H','h']($)
  293.  
  294.  * binary and octal typeless constants type o'1234' or b"1234"
  295. symbol t1
  296. form
  297. ['O','o','b','B']['"',''''](#)['"','''']
  298.  
  299.  * binary and octal typeless constants type '1234'o or "1234"b
  300. symbol t2
  301. form
  302. ['"',''''](#)['"','''']['O','o','b','B']
  303.  
  304.  * hex typeless constants type '1234'x or "1234"X
  305. symbol x1
  306. form
  307. ['z','Z''X','x']['"','''']($)['"','''']
  308.  
  309.  * hex typeless constants type '1234'x or "1234"x
  310. symbol x2
  311. form
  312. ['"',''''](#,$)['"','''']['z','Z''X','x']
  313.  
  314. symbol number
  315. form
  316. [#('.'),'.'](#)([' >E',' >D']('-','+')#)
  317.  
  318. symbol qa
  319. form
  320. /''''''
  321.  
  322. symbol q1
  323. form
  324. ''''
  325.  
  326. symbol qb
  327. form
  328. /'""'
  329.  
  330. symbol q2
  331. form
  332. '"'
  333.  
  334. symbol program
  335. alphalist upper small [A,a,'_','$']({[&,'_','$']})
  336. ASSIGNMENT
  337. BLOCK
  338. BLOCKDATA
  339. DATA
  340. ENDBLOCKDATA
  341. ENDFUNCTION
  342. ENDINTERFACE
  343. ENDMODULE
  344. ENDPROGRAM
  345. ENDSUBROUTINE
  346. ENTRY
  347. EXTRINSIC
  348. FUNCTION
  349. MODULE
  350. OPERATOR
  351. PROCEDURE
  352. PROGRAM
  353. PURE
  354. RECURSIVE
  355. RESULT
  356. SUBROUTINE
  357.  
  358. symbol format
  359. alphalist upper single &
  360. FORMAT
  361.  
  362. symbol if
  363. form
  364. [$,'$','_']
  365.  
  366. symbol nonexec
  367. alphalist upper large [A,a,'_','$']({[&,'_','$']})
  368. %VAL
  369. %REF
  370. @PROCESS
  371. ALLOCATABLE
  372. AUTOMATIC
  373. BYTE
  374. CHARACTER
  375. COMMON
  376. COMPLEX
  377. DATA
  378. DIMENSION
  379. DOUBLE
  380. DOUBLECOMPLEX
  381. DOUBLEPRECISION
  382. EJECT
  383. ENDTYPE
  384. EQUIVALENCE
  385. EXTERNAL
  386. HPF
  387. HPF_LOCAL
  388. HPF_SERIAL
  389. IMPLICIT
  390. IN
  391. INCLUDE
  392. INOUT
  393. INTEGER
  394. INTENT
  395. INTRINSIC
  396. KIND
  397. LEN
  398. LOGICAL
  399. NAMELIST
  400. NONE
  401. ONLY
  402. OPTIONAL
  403. OUT
  404. PARAMETER
  405. POINTER
  406. PRECISION
  407. PRIVATE
  408. PUBLIC
  409. REAL
  410. SAVE
  411. SEQUENCE
  412. SOURCEFORM
  413. STATIC
  414. TARGET
  415. TYPE
  416. USE
  417. VIRTUAL
  418. VOLATILE
  419.  
  420.  
  421. symbol rcommand
  422. alphalist upper large [A,a,'_','$']({[&,'_','$']})
  423. ACCESS
  424. ACTION
  425. ADVANCE
  426. ALLOCATE
  427. APPEND
  428. ASIS
  429. ASSIGN
  430. BACKSPACE
  431. BLANK
  432. CALL
  433. CASE
  434. CLOSE
  435. CONTAINS
  436. CONTINUE
  437. CYCLE
  438. DEALLOCATE
  439. DEFAULT
  440. DELIM
  441. DIRECT
  442. DO
  443. ELSE
  444. ELSEIF
  445. ELSEWHERE
  446. ENDDO
  447. ENDFILE
  448. ENDIF
  449. ENDSELECT
  450. ENDWHERE
  451. EOR
  452. ERR
  453. EXIST
  454. EXIT
  455. FILE
  456. FMT
  457. FORALL
  458. FORM
  459. FORMATTED
  460. GO
  461. GOTO
  462. IF
  463. INQUIRE
  464. INTERFACE
  465. IOLENGTH
  466. IOSTAT
  467. NAME
  468. NAMED
  469. NEXTREC
  470. NML
  471. NULLIFY
  472. NUM
  473. NUMBER
  474. OPEN
  475. OPENED
  476. PAD
  477. PAUSE
  478. POSITION
  479. PRINT
  480. READ
  481. READWRITE
  482. REC
  483. RECL
  484. RETURN
  485. REWIND
  486. SELECT
  487. SELECTCASE
  488. SEQUENTIAL
  489. SIZE
  490. STAT
  491. STATUS
  492. STOP
  493. THEN
  494. TO
  495. UNFORMATTED
  496. UNIT
  497. WHERE
  498. WHILE
  499. WRITE
  500.  
  501. symbol operator
  502. alphalist upper small '.'&'.'
  503. .AND.
  504. .EQ.
  505. .EQV.
  506. .FALSE.
  507. .GE.
  508. .GT.
  509. .LE.
  510. .LT.
  511. .NE.
  512. .NEQV.
  513. .NOT.
  514. .OR.
  515. .TRUE.
  516. .XOR.
  517.  
  518.  
  519. classes
  520.  
  521. class comment
  522. needed C
  523. not
  524.  
  525. class error
  526. needed E
  527. not
  528.  
  529. class code
  530. needed K || A || P || N || Q || S || V
  531. not
  532.  
  533. class label
  534. needed L
  535. not
  536.  
  537. class sub
  538. needed S
  539. not
  540.  
  541. end
  542.    * that's all!
  543.