cdc:nos2.source:opl.opl871:deck:panel.001
Deck PANEL Part 001
20 Modifications
Listing Sections
- Deck PANEL Start
- Deck PANEL Part 1 (Line 1567)
Source
Seq # *Modification Id* Act ----------------------------+ 01567 M01S01329.panel +++| CALL ERRORN(256,'box;elements') 01568 M01S01330.panel +++| RETURN 01569 M01S01331.panel +++| ENDIF 01570 M01S01332.panel +++| IBOX = IBOX + 1 01571 M01S01333.panel +++| BOXN(IBOX) = L 01572 M01S01334.panel +++| BOXX(IBOX) = I - 1 01573 M01S01335.panel +++| BOXY(IBOX) = J - 1 01574 M01S01336.panel +++| BOXC(IBOX) = T 01575 M01S01337.panel +++| BOXA(IBOX) = NBOX 01576 M01S01338.panel +++| END 01577 M01S01339.panel +++|C------------------------------------------------------------------- 01578 M01S01340.panel +++|C* NEWVAR - INITIALIZE VARIABLE 01579 M01S01341.panel +++|C 01580 M01S01342.panel +++| SUBROUTINE NEWVAR 01581 M01S01343.panel +++|*CALL COMFPAN 01582 M01S01344.panel +++| IF (NVAR.EQ.MVAR) THEN 01583 M01S01345.panel +++| CALL ERRORN(MVAR,'variables') 01584 M01S01346.panel +++| RETURN 01585 M01S01347.panel +++| ENDIF 01586 M01S01348.panel +++| NVAR = NVAR + 1 01587 M01S01349.panel +++| VTAB(NVAR) = 0 01588 M01S01350.panel +++| VAIO(NVAR) = 0 01589 M01S01351.panel +++| VARL(NVAR) = 0 01590 M01S01352.panel +++| VARV(NVAR) = 0 01591 M01S01353.panel +++| VART(NVAR) = VTC 01592 M01S01354.panel +++| VARM(NVAR) = VMK 01593 M01S00006.ns2469 +++| VARC(NVAR) = 0 01594 M01S01355.panel +++| VARP(NVAR) = 0 01595 M01S01356.panel +++| VAVT(NVAR) = 0 01596 M01S01357.panel +++| VARH(NVAR) = 0 01597 M01S01358.panel +++| VARD(NVAR) = 0 01598 M01S01359.panel +++| VARA(NVAR) = 1 01599 M01S01360.panel +++| VARF(NVAR) = 0 01600 M01S01361.panel +++| VARR(NVAR) = 0 01601 M01S01362.panel +++| VARNM(NVAR) = '*' 01602 M01S01363.panel +++| END 01603 M01S01364.panel +++|C------------------------------------------------------------------- 01604 M01S01365.panel +++|C* NEWVAT - NEW VARIABLE ATTRIBUTE 01605 M01S01366.panel +++|C 01606 M01S01367.panel +++| SUBROUTINE NEWVAT 01607 M01S01368.panel +++|*CALL COMFPAN 01608 M01S01369.panel +++| IF (VARA(NVAR).EQ.1) THEN 01609 M01S01370.panel +++| CALL NEWATR 01610 M01S01371.panel +++| IF (FATAL) RETURN 01611 M01S01372.panel +++| ATIO(NATR) = 0 01612 M01S01373.panel +++| VARA(NVAR) = NATR - 1 01613 M01S01374.panel +++| ENDIF 01614 M01S01375.panel +++| END 01615 M01S01376.panel +++|C------------------------------------------------------------------- 01616 M01S01377.panel +++|C* NEWVL - NEW VERTICAL LINE 01617 M01S01378.panel +++|C 01618 M01S01379.panel +++|C ENTRY 01619 M01S01380.panel +++|C I,J= POS OF START OF LINE 01620 M01S01381.panel +++|C L=LENGTH 01621 M01S01382.panel +++|C 01622 M01S01383.panel +++| SUBROUTINE NEWVL(I,J,L) 01623 M01S01384.panel +++|*CALL COMFPAN 01624 M01S01385.panel +++| INTEGER I,J,L 01625 M01S01386.panel +++| CALL NEWLC(I,J,L,1) 01626 M01S01387.panel +++| DO 100 K = 1, L 01627 M01S01388.panel +++| IMAG(I,J+K-1) = ZSP 01628 M01S01389.panel +++|100 CONTINUE 01629 M01S01390.panel +++| END 01630 M01S01391.panel +++|C------------------------------------------------------------------- 01631 M01S00095.ns2150 +++|C* PACKATR - PACK ATTRIBUTES DOWN 01632 M01S00096.ns2150 +++|C 01633 M01S00097.ns2150 +++|C CHECK THE ATTRIBUTE LIST TO SEE IF NATR IS UNIQUE. 01634 M01S00098.ns2150 +++|C IF NOT, POP NATR AND RETURN THE ORDINAL OF THE 01635 M01S00099.ns2150 +++|C IDENTICAL ATTRIBUTE. IF SO, RETURN NATR. 01636 M01S00100.ns2150 +++|C 01637 M01S00101.ns2150 +++| INTEGER FUNCTION PACKATR() 01638 M01S00102.ns2150 +++|*CALL COMFPAN 01639 M01S00103.ns2150 +++| INTEGER I 01640 M01S00104.ns2150 +++| DO 100 I = 1, NATR-1 01641 M01S00105.ns2150 +++| IF (ATRLP(NATR).EQ.ATRLP(I).AND. 01642 M01S00106.ns2150 +++| A ATRUL(NATR).EQ.ATRUL(I).AND. 01643 M01S00107.ns2150 +++| B ATRAI(NATR).EQ.ATRAI(I).AND. 01644 M01S00108.ns2150 +++| C ATRIV(NATR).EQ.ATRIV(I).AND. 01645 M01S00109.ns2150 +++| D ATRBL(NATR).EQ.ATRBL(I).AND. 01646 M01S00110.ns2150 +++| E ATIO(NATR).EQ.ATIO(I).AND. 01647 M01S00111.ns2150 +++| F ATTP(NATR).EQ.ATTP(I).AND.
Line S00112 Modification History | |
---|---|
M01 (Added by) | ns2150 |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 01648 M02S00112.243l647 ---| G ATFC(NATR).EQ.ATFC(I).AND. 01649 M01S00113.ns2150 +++| H ATCS(NATR).EQ.ATCS(I).AND. 01650 M01S00114.ns2150 +++| I ATCE(NATR).EQ.ATCE(I).AND. 01651 M01S00115.ns2150 +++| J ATSC(NATR).EQ.ATSC(I).AND. 01652 M01S00116.ns2150 +++| K ATBI(NATR).EQ.ATBI(I).AND. 01653 M01S00117.ns2150 +++| L ATLW(NATR).EQ.ATLW(I)) GOTO 200 01654 M01S00118.ns2150 +++|100 CONTINUE 01655 M01S00119.ns2150 +++| PACKATR = NATR 01656 M01S00120.ns2150 +++| RETURN 01657 M01S00121.ns2150 +++|200 PACKATR = I 01658 M01S00122.ns2150 +++| NATR = NATR - 1 01659 M01S00123.ns2150 +++| END 01660 M01S00124.ns2150 +++|C------------------------------------------------------------------- 01661 M01S01392.panel +++|C* QUIT - ABNORMALLY TERMINATE THE JOB 01662 M01S01393.panel +++|C 01663 M01S01394.panel +++|C ENTRY M=MESSAGE TO DISPLAY 01664 M01S01395.panel +++|C 01665 M01S01396.panel +++| SUBROUTINE QUIT(M) 01666 M01S01397.panel +++|*CALL COMFPAN 01667 M01S01398.panel +++| CHARACTER*(*) M 01668 M01S01399.panel +++| CHARACTER*80 MESSAGE 01669 M01S01400.panel +++| MESSAGE = ' ERROR IN ' // PNAME(1:CLEN(PNAME)) // 01670 M01S01401.panel +++| A ' ' // M // ':::' 01671 M01S01402.panel +++| CALL QUITS(MESSAGE)
Line S01403 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 01672 M02S01403.ns2150 ---| END
Line S01404 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 01673 M02S01404.ns2150 ---|C------------------------------------------------------------------- 01674 M01S00125.ns2150 +++| END 01675 M01S00126.ns2150 +++|C------------------------------------------------------------------- 01676 M01S01405.panel +++|C* QUITS - ABNORMALLY TERMINATE THE JOB FOR SYSTEM REASONS 01677 M01S01406.panel +++|C 01678 M01S01407.panel +++|C ENTRY M=MESSAGE TO DISPLAY 01679 M01S01408.panel +++|C 01680 M01S01409.panel +++| SUBROUTINE QUITS(M) 01681 M01S01410.panel +++|*CALL COMFPAN 01682 M01S01411.panel +++| CHARACTER*(*) M 01683 M01S01412.panel +++| CHARACTER*80 MESSAGE 01684 M01S01413.panel +++| MESSAGE = ' PANEL - ' // M // ':::' 01685 M01S01414.panel +++| REWIND 1 01686 M01S01415.panel +++| REWIND 2 01687 M01S01416.panel +++| REWIND 3 01688 M01S01417.panel +++| CALL MSG(MESSAGE) 01689 M01S01418.panel +++| CALL ABT 01690 M01S01419.panel +++| END 01691 M01S01420.panel +++|C------------------------------------------------------------------- 01692 M01S01421.panel +++|C* READL1 - READ A LINE INTO LINE 01693 M01S01422.panel +++|C 01694 M01S01423.panel +++| SUBROUTINE READL1 01695 M01S01424.panel +++|*CALL COMFPAN 01696 M01S01425.panel +++| READ(1,100,END=999) LINE 01697 M01S01426.panel +++|100 FORMAT(A) 01698 M01S01427.panel +++| WRITE(2,150) LINE 01699 M01S01428.panel +++|150 FORMAT(' ',A) 01700 M01S01429.panel +++| CALL XLINE(1) 01701 M01S01430.panel +++| SJ = 1 01702 M01S01431.panel +++| RETURN 01703 M01S01432.panel +++|999 CONTINUE 01704 M01S01433.panel +++| IF (INDEF) THEN 01705 M01S01434.panel +++| CALL ERROR('Unexpected end of file') 01706 M01S01435.panel +++| CALL QUIT ('END OF FILE DURING DEFINITIONS') 01707 M01S01436.panel +++| ELSE 01708 M01S01437.panel +++| CALL QUIT ('NO DEFINITION OR IMAGE') 01709 M01S01438.panel +++| ENDIF 01710 M01S01439.panel +++| ENDFILE = .TRUE. 01711 M01S01440.panel +++| END 01712 M01S01441.panel +++|C------------------------------------------------------------------- 01713 M01S01442.panel +++|C* RPI - READ PANEL IMAGE 01714 M01S01443.panel +++|C 01715 M01S01444.panel +++| SUBROUTINE RPI 01716 M01S01445.panel +++|*CALL COMFPAN
Line S01446 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 01717 M02S01446.v23l617 ---| DO 200 I = 2,31 01718 M01S00011.v23l617 +++| DO 200 I = 2,MROW+1 01719 M01S01447.panel +++| READ(1,100,END=300) LINE 01720 M01S01448.panel +++|100 FORMAT(A) 01721 M01S01449.panel +++| WRITE(2,150) LINE 01722 M01S01450.panel +++|150 FORMAT(' ',A)
Line S01451 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 01723 M02S01451.v23l617 ---| IF (I.LT.31) THEN 01724 M01S00012.v23l617 +++| IF (I.LE.MROW) THEN 01725 M01S01452.panel +++| CALL XLINE(I) 01726 M01S01453.panel +++| ENDIF 01727 M01S01454.panel +++|200 CONTINUE
Line S01455 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 01728 M02S01455.v23l617 ---| CALL ERROR('PANEL IMAGE EXCEEDS 30 LINES')
Line S01456 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 01729 M02S01456.v23l617 ---| NROW = 30 01730 M01S00013.v23l617 +++| CALL ERROR('PANEL IMAGE EXCEEDS 64 LINES') 01731 M01S00014.v23l617 +++| NROW = MROW 01732 M01S01457.panel +++| RETURN 01733 M01S01458.panel +++|300 CONTINUE 01734 M01S01459.panel +++| NROW = I - 1 01735 M01S01460.panel +++| END 01736 M01S01461.panel +++|C------------------------------------------------------------------- 01737 M01S01462.panel +++|C* SCANATR - SCAN ATTRIBUTE 01738 M01S01463.panel +++|C 01739 M01S01464.panel +++| SUBROUTINE SCANATR 01740 M01S01465.panel +++|*CALL COMFPAN 01741 M01S01466.panel +++| LOGICAL HAVDEL 01742 M01S01467.panel +++| HAVDEL = .FALSE. 01743 M01S01468.panel +++| N = 0 01744 M01S01469.panel +++|1 CONTINUE 01745 M01S01470.panel +++| CALL SCANSYM 01746 M01S01471.panel +++| IF (FATAL) RETURN 01747 M01S01472.panel +++|2 CONTINUE 01748 M01S01473.panel +++| IF (ZEQNEXT()) THEN 01749 M01S01474.panel +++| IF (UPSYMEQ('DELIMITERS').OR.UPSYMEQ('D')) THEN 01750 M01S01475.panel +++| I = 1 01751 M01S01476.panel +++| ELSEIF (UPSYMEQ('PHYSICAL').OR.UPSYMEQ('P')) THEN 01752 M01S01477.panel +++| I = 2 01753 M01S01478.panel +++| ELSEIF (UPSYMEQ('LOGICAL').OR.UPSYMEQ('L')) THEN 01754 M01S01479.panel +++| I = 3 01755 M01S01480.panel +++| ELSE 01756 M01S01481.panel +++| CALL EXPECT('DELIMITERS, LOGICAL, or PHYSICAL', 01757 M01S01482.panel +++| A 'ATTR') 01758 M01S01483.panel +++| RETURN 01759 M01S01484.panel +++| ENDIF 01760 M01S01485.panel +++| CALL SKIPTWO 01761 M01S01486.panel +++| IF (FATAL) RETURN 01762 M01S01487.panel +++| GOTO (100,200,300), I 01763 M01S01488.panel +++| ELSE 01764 M01S01489.panel +++| CALL CHEKHED(J) 01765 M01S01490.panel +++| IF (J.NE.0) THEN 01766 M01S01491.panel +++| IF (.NOT.HAVDEL) THEN 01767 M01S01492.panel +++| CALL EXPECT('DELIMITERS','ATTR') 01768 M01S00127.ns2150 +++| RETURN 01769 M01S01493.panel +++| ENDIF 01770 M01S01494.panel +++| RETURN 01771 M01S01495.panel +++| ENDIF 01772 M01S01496.panel +++| N = N + 1 01773 M01S01497.panel +++| GOTO (100,200,300), N 01774 M01S01498.panel +++| CALL ERROR('Too many ATTR parameters') 01775 M01S01499.panel +++| RETURN 01776 M01S01500.panel +++| ENDIF 01777 M01S01501.panel +++|C 01778 M01S01502.panel +++|C DELIMITERS 01779 M01S01503.panel +++|C 01780 M01S01504.panel +++|100 CONTINUE 01781 M01S01505.panel +++| HAVDEL = .TRUE. 01782 M01S01506.panel +++| CALL NEWATR 01783 M01S01507.panel +++| IF (FATAL) RETURN 01784 M01S01508.panel +++| IF (SYMTP.EQ.'S') THEN 01785 M01S01509.panel +++| IF (SL.EQ.1) THEN 01786 M01S01510.panel +++| ATCS(NATR) = STRG(1) 01787 M01S01511.panel +++| ATCE(NATR) = STRG(1) 01788 M01S01512.panel +++| ELSEIF (SL.EQ.2) THEN 01789 M01S01513.panel +++| ATCS(NATR) = STRG(1) 01790 M01S01514.panel +++| ATCE(NATR) = STRG(2) 01791 M01S01515.panel +++| ELSE 01792 M01S01516.panel +++| CALL ERROR('String length') 01793 M01S01517.panel +++| RETURN 01794 M01S01518.panel +++| ENDIF 01795 M01S01519.panel +++| SPCH(ATCS(NATR)) = NATR 01796 M01S01520.panel +++| ELSE 01797 M01S01521.panel +++| CALL EXPECT('Quoted delimiters',' ') 01798 M01S01522.panel +++| RETURN 01799 M01S01523.panel +++| ENDIF 01800 M01S01524.panel +++| SPCH(ATCS(NATR)) = NATR 01801 M01S01525.panel +++| GOTO 1 01802 M01S01526.panel +++|C 01803 M01S01527.panel +++|C PHYSICAL 01804 M01S01528.panel +++|C 01805 M01S01529.panel +++|200 CONTINUE 01806 M01S01530.panel +++| CALL SCANLPA(0) 01807 M01S01531.panel +++| IF (FATAL) RETURN 01808 M01S01532.panel +++| GOTO 1 01809 M01S01533.panel +++|C 01810 M01S01534.panel +++|C LOGICAL 01811 M01S01535.panel +++|C 01812 M01S01536.panel +++|300 CONTINUE 01813 M01S01537.panel +++| CALL SCANLPA(1) 01814 M01S01538.panel +++| IF (FATAL) RETURN 01815 M01S01539.panel +++| GOTO 1 01816 M01S01540.panel +++| END 01817 M01S01541.panel +++|C------------------------------------------------------------------- 01818 M01S01542.panel +++|C* SCANBOX - SCAN BOX 01819 M01S01543.panel +++|C 01820 M01S01544.panel +++| SUBROUTINE SCANBOX 01821 M01S01545.panel +++|*CALL COMFPAN 01822 M01S01546.panel +++| INTEGER I, N 01823 M01S01547.panel +++| LOGICAL HAVCH 01824 M01S01548.panel +++| HAVCH = .FALSE. 01825 M01S01549.panel +++| IF (NBOX.GE.MBOX) THEN 01826 M01S01550.panel +++| CALL ERRORN(MBOX,'boxes') 01827 M01S01551.panel +++| RETURN 01828 M01S01552.panel +++| ENDIF 01829 M01S01553.panel +++| CALL NEWATR 01830 M01S01554.panel +++| IF (FATAL) RETURN 01831 M01S01555.panel +++| NBOX = NBOX + 1 01832 M01S01556.panel +++| BOXW(NBOX) = NATR 01833 M01S01557.panel +++| ATLW(NATR) = 1 01834 M01S00003.ns2315 +++| ATTP(NATR) = 1 01835 M01S01558.panel +++| N = 0 01836 M01S01559.panel +++|1 CONTINUE 01837 M01S01560.panel +++| CALL SCANSYM 01838 M01S01561.panel +++| IF (ZEQNEXT()) THEN 01839 M01S01562.panel +++| IF (UPSYMEQ('TERMINATOR').OR.UPSYMEQ('T')) THEN 01840 M01S01563.panel +++| I = 1 01841 M01S01564.panel +++| ELSEIF (UPSYMEQ('WEIGHT').OR.UPSYMEQ('W')) THEN 01842 M01S01565.panel +++| I = 2 01843 M01S01566.panel +++| ELSEIF (UPSYMEQ('PHYSICAL').OR.UPSYMEQ('P')) THEN 01844 M01S01567.panel +++| I = 3 01845 M01S01568.panel +++| ELSEIF (UPSYMEQ('LOGICAL').OR.UPSYMEQ('L')) THEN 01846 M01S01569.panel +++| I = 4 01847 M01S01570.panel +++| ELSE 01848 M01S01571.panel +++| CALL EXPECT('TERMINATOR= or WEIGHT=','BOX') 01849 M01S01572.panel +++| RETURN 01850 M01S01573.panel +++| ENDIF 01851 M01S01574.panel +++| CALL SKIPTWO 01852 M01S01575.panel +++| IF (FATAL) RETURN 01853 M01S01576.panel +++| N = 4 01854 M01S01577.panel +++| GOTO (100,200,300,400), I 01855 M01S01578.panel +++| ELSE 01856 M01S01579.panel +++| CALL CHEKHED(I) 01857 M01S01580.panel +++| IF (I.NE.0) THEN 01858 M01S01581.panel +++| IF (.NOT.HAVCH) THEN 01859 M01S01582.panel +++| CALL ERROR('TERMINATOR char required') 01860 M01S01583.panel +++| ENDIF 01861 M01S01584.panel +++| RETURN 01862 M01S01585.panel +++| ENDIF 01863 M01S01586.panel +++| N = N + 1 01864 M01S01587.panel +++| GOTO (100,200,300,400), N 01865 M01S01588.panel +++| CALL EXPECT('End of BOX declaration',' ') 01866 M01S01589.panel +++| RETURN 01867 M01S01590.panel +++| ENDIF 01868 M01S01591.panel +++|C 01869 M01S01592.panel +++|C TERMINATOR 01870 M01S01593.panel +++|C 01871 M01S01594.panel +++|100 CONTINUE 01872 M01S01595.panel +++| HAVCH = .TRUE. 01873 M01S01596.panel +++| IF (FATAL) RETURN 01874 M01S01597.panel +++| IF (SYMTP.NE.'S'.OR.SL.NE.1) THEN 01875 M01S01598.panel +++| CALL EXPECT('TERMINATOR character',' ') 01876 M01S01599.panel +++| RETURN 01877 M01S01600.panel +++| ENDIF 01878 M01S01601.panel +++| IF (SPCH(IMAG(SI,1)).NE.0) THEN 01879 M01S01602.panel +++| CALL ERROR('Doubly defined') 01880 M01S01603.panel +++| RETURN 01881 M01S01604.panel +++| ENDIF 01882 M01S01605.panel +++| SPCH(STRG(1)) = -NBOX 01883 M01S01606.panel +++| GOTO 1 01884 M01S01607.panel +++|C 01885 M01S01608.panel +++|C WEIGHT 01886 M01S01609.panel +++|C 01887 M01S01610.panel +++|200 CONTINUE 01888 M01S01611.panel +++| IF (UPSYMEQ('FINE').OR.UPSYMEQ('F')) THEN 01889 M01S01612.panel +++| ATLW(NATR) = 1 01890 M01S01613.panel +++| ELSEIF (UPSYMEQ('MEDIUM').OR.UPSYMEQ('M')) THEN 01891 M01S01614.panel +++| ATLW(NATR) = 2 01892 M01S01615.panel +++| ELSEIF (UPSYMEQ('BOLD').OR.UPSYMEQ('B')) THEN 01893 M01S01616.panel +++| ATLW(NATR) = 3 01894 M01S01617.panel +++| ELSE 01895 M01S01618.panel +++| CALL EXPECT('FINE, MEDIUM, or BOLD','WEIGHT=') 01896 M01S01619.panel +++| RETURN 01897 M01S01620.panel +++| ENDIF 01898 M01S01621.panel +++| GOTO 1 01899 M01S01622.panel +++|C 01900 M01S01623.panel +++|C PHYSICAL 01901 M01S01624.panel +++|C 01902 M01S01625.panel +++|300 CONTINUE 01903 M01S01626.panel +++| CALL SCANLPA(0) 01904 M01S01627.panel +++| IF (FATAL) RETURN 01905 M01S01628.panel +++| GOTO 1 01906 M01S01629.panel +++|C 01907 M01S01630.panel +++|C LOGICAL 01908 M01S01631.panel +++|C 01909 M01S01632.panel +++|400 CONTINUE 01910 M01S01633.panel +++| CALL SCANLPA(1) 01911 M01S01634.panel +++| IF (FATAL) RETURN 01912 M01S01635.panel +++| GOTO 1 01913 M01S01636.panel +++| END 01914 M01S01637.panel +++|C------------------------------------------------------------------- 01915 M01S01638.panel +++|C* SCANCAS - SCAN CASE LIST 01916 M01S01639.panel +++|C 01917 M01S01640.panel +++|C CASE CONSTANTS ARE COPIED TO THE VVAL ARRAY. EACH CONSTANT 01918 M01S01641.panel +++|C IS PRECEDED BY ITS LENGTH. THE LIST IS TERMINATED BY A LENGTH 01919 M01S01642.panel +++|C OF -1. 01920 M01S01643.panel +++|C 01921 M01S01644.panel +++| SUBROUTINE SCANCAS 01922 M01S01645.panel +++|*CALL COMFPAN 01923 M01S01646.panel +++| SAVV = NVAL + 1 01924 M01S01647.panel +++| IF (.NOT.SYMEQ('(')) THEN 01925 M01S01648.panel +++| CALL EXPECT('list','MATCH') 01926 M01S01649.panel +++| RETURN 01927 M01S01650.panel +++| ENDIF 01928 M01S01651.panel +++| N = 0 01929 M01S01652.panel +++|1 CONTINUE 01930 M01S01653.panel +++| CALL SCANSYM 01931 M01S01654.panel +++| IF (FATAL) RETURN 01932 M01S01655.panel +++| IF (SYMEQ(')')) THEN 01933 M01S01656.panel +++| IF (N.EQ.0) THEN 01934 M01S01657.panel +++| CALL ERROR('Empty MATCH list') 01935 M01S01658.panel +++| RETURN 01936 M01S01659.panel +++| ENDIF 01937 M01S01660.panel +++| IF (NVAL.GE.MVAL) THEN 01938 M01S01661.panel +++| CALL ERR('VALIDATION TABLE OVERFLOW') 01939 M01S01662.panel +++| RETURN 01940 M01S01663.panel +++| ENDIF 01941 M01S01664.panel +++| NVAL = NVAL + 1 01942 M01S01665.panel +++| VVAL(NVAL) = -1 01943 M01S01666.panel +++| VARV(NVAR) = SAVV 01944 M01S01667.panel +++| VAVT(NVAR) = VTMATCH 01945 M01S01668.panel +++| RETURN 01946 M01S01669.panel +++| ENDIF 01947 M01S01670.panel +++| N = N + 1 01948 M01S01671.panel +++| CALL COPYSYM 01949 M01S01672.panel +++| IF (FATAL) RETURN 01950 M01S01673.panel +++| GOTO 1 01951 M01S01674.panel +++| END 01952 M01S01675.panel +++|C------------------------------------------------------------------- 01953 M01S01676.panel +++|C* SCANDEF - SCAN PANEL DEFINITION 01954 M01S01677.panel +++|C 01955 M01S01678.panel +++| SUBROUTINE SCANDEF 01956 M01S01679.panel +++|*CALL COMFPAN 01957 M01S01680.panel +++| INTEGER I, J, N 01958 M01S01681.panel +++| LOGICAL INTABL 01959 M01S01682.panel +++| INTABL = .FALSE. 01960 M01S01683.panel +++|2 CALL SCANSYM 01961 M01S01684.panel +++|1 CONTINUE 01962 M01S01685.panel +++| IF (SYMEQ(';')) GOTO 2 01963 M01S01686.panel +++| ABEND = ABEND.OR.FATAL 01964 M01S01687.panel +++| IF (.NOT.INDEF) RETURN 01965 M01S01688.panel +++| CALL NEEDHED(I) 01966 M01S01689.panel +++| ABEND = ABEND.OR.FATAL 01967 M01S01690.panel +++| IF (ENDFILE) RETURN 01968 M01S01691.panel +++| FATAL = .FALSE.
Line S01692 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 01969 M02S01692.243l647 ---| GOTO (100,200,300,400,500,600,700,800),I 01970 M01S00070.243l647 +++| GOTO (100,200,300,400,500,600,700,800,900),I 01971 M01S01693.panel +++| RETURN 01972 M01S01694.panel +++|C 01973 M01S01695.panel +++|C VAR 01974 M01S01696.panel +++|C 01975 M01S01697.panel +++|100 CONTINUE 01976 M01S00004.ns2315 +++| 01977 M01S00005.ns2315 +++|* INITIALIZE DEFAULT LOGICAL ATTRIBUTES FLAG. 01978 M01S00006.ns2315 +++| 01979 M01S00007.ns2315 +++| DEFLOGA = .TRUE. 01980 M01S01698.panel +++| CALL SCANVAR 01981 M01S00008.ns2315 +++| 01982 M01S00009.ns2315 +++|* TYPE IO=OUT WITH DEFAULT LOGICAL ATTRIBUTES IS SET TO LOGICAL=TEXT. 01983 M01S00010.ns2315 +++| 01984 M01S00011.ns2315 +++| IF ((DEFLOGA) .AND.(VAIO(NVAR) .EQ. 2)) THEN 01985 M01S00012.ns2315 +++| ATTP(NATR) = 1 01986 M01S00013.ns2315 +++| ENDIF 01987 M01S01699.panel +++| IF (FATAL) GOTO 1 01988 M01S01700.panel +++| IF (INTABL) THEN 01989 M01S01701.panel +++| VTAB(NVAR) = NTAB 01990 M01S01702.panel +++| ENDIF
Line S00128 Modification History | |
---|---|
M01 (Added by) | ns2150 |
M02 (Updated by) | panel2 |
Seq # *Modification Id* Act ----------------------------+ 01991 M02S00128.panel2 ---| IF (VARA(NVAR).EQ.NATR) THEN 01992 M01S00001.panel2 +++| IF (VARA(NVAR).EQ.NATR-1) THEN
Line S00129 Modification History | |
---|---|
M01 (Added by) | ns2150 |
M02 (Updated by) | panel2 |
Seq # *Modification Id* Act ----------------------------+ 01993 M02S00129.panel2 ---| VARA(NVAR) = PACKATR() 01994 M01S00002.panel2 +++| VARA(NVAR) = PACKATR() - 1 01995 M01S00130.ns2150 +++| ENDIF 01996 M01S01703.panel +++| GOTO 1 01997 M01S01704.panel +++|C 01998 M01S01705.panel +++|C KEY 01999 M01S01706.panel +++|C 02000 M01S01707.panel +++|200 CALL SCANKEY 02001 M01S01708.panel +++| GOTO 1 02002 M01S01709.panel +++|C 02003 M01S01710.panel +++|C ATTR 02004 M01S01711.panel +++|C 02005 M01S01712.panel +++|300 CALL SCANATR 02006 M01S01713.panel +++| GOTO 1 02007 M01S01714.panel +++|C 02008 M01S01715.panel +++|C RIGHT CURLY BRACKET 02009 M01S01716.panel +++|C 02010 M01S01717.panel +++|400 CALL READL1 02011 M01S01718.panel +++| RETURN 02012 M01S01719.panel +++|C 02013 M01S01720.panel +++|C BOX 02014 M01S01721.panel +++|C 02015 M01S01722.panel +++|500 CALL SCANBOX 02016 M01S00001.panel3 +++| IF (FATAL) GOTO 2 02017 M01S01723.panel +++| GOTO 1 02018 M01S01724.panel +++|C 02019 M01S01725.panel +++|C TABLE 02020 M01S01726.panel +++|C 02021 M01S01727.panel +++|600 CONTINUE 02022 M01S01728.panel +++| IF (INTABL) THEN 02023 M01S01729.panel +++| CALL ERROR('Already in table') 02024 M01S00001.panel7 +++| CALL SCANSYM 02025 M01S01730.panel +++| GOTO 1 02026 M01S01731.panel +++| ENDIF 02027 M01S01732.panel +++| INTABL = .TRUE. 02028 M01S01733.panel +++| IF (NTAB.GE.MTAB) THEN 02029 M01S01734.panel +++| CALL ERRORN(MTAB,'tables') 02030 M01S01735.panel +++| RETURN 02031 M01S01736.panel +++| ENDIF 02032 M01S01737.panel +++| NTAB = NTAB + 1 02033 M01S01738.panel +++| TABNM(NTAB) = '*' 02034 M01S01739.panel +++| TABD(NTAB) = 1 02035 M01S01740.panel +++| TABF(NTAB) = NVAR + 1 02036 M01S01741.panel +++| CALL SCANTAB 02037 M01S01742.panel +++| IF (FATAL) RETURN 02038 M01S01743.panel +++| GOTO 1 02039 M01S01744.panel +++|C 02040 M01S01745.panel +++|C ENDTABLE 02041 M01S01746.panel +++|C 02042 M01S01747.panel +++|700 CONTINUE 02043 M01S01748.panel +++| CALL SCANSYM 02044 M01S01749.panel +++| IF (FATAL) RETURN 02045 M01S01750.panel +++| IF (.NOT.INTABL) THEN 02046 M01S01751.panel +++| CALL ERROR('Not in table') 02047 M01S01752.panel +++| GOTO 1 02048 M01S01753.panel +++| ENDIF 02049 M01S01754.panel +++| INTABL = .FALSE. 02050 M01S01755.panel +++| IF (TABF(NTAB).GT.NVAR) THEN 02051 M01S01756.panel +++| CALL ERROR('Empty table') 02052 M01S01757.panel +++| NTAB = NTAB - 1 02053 M01S01758.panel +++| GOTO 1 02054 M01S01759.panel +++| ENDIF 02055 M01S01760.panel +++| TABR(NTAB) = NVAR + 1 - TABF(NTAB) 02056 M01S01761.panel +++| N = NVAR 02057 M01S01762.panel +++| DO 750 I = 1, TABD(NTAB)-1 02058 M01S01763.panel +++| DO 750 J = TABF(NTAB), N 02059 M01S01764.panel +++| CALL COPYVAR(J,I) 02060 M01S01765.panel +++|750 CONTINUE 02061 M01S01766.panel +++| TABL(NTAB) = NVAR 02062 M01S01767.panel +++| GOTO 1 02063 M01S01768.panel +++|C 02064 M01S01769.panel +++|C PANEL 02065 M01S01770.panel +++|C 02066 M01S01771.panel +++|800 CONTINUE 02067 M01S01772.panel +++| CALL SCANPAN 02068 M01S01773.panel +++| GOTO 1 02069 M01S00071.243l647 +++|C 02070 M01S00072.243l647 +++|C SFATTR 02071 M01S00073.243l647 +++|C 02072 M01S00074.243l647 +++|900 CONTINUE 02073 M01S00075.243l647 +++| IF (NATR.GT.3) THEN 02074 M01S00076.243l647 +++| CALL ERROR('SFATTR AFTER OTHER ATTRIBUTES') 02075 M01S00077.243l647 +++| ABEND = .TRUE. 02076 M01S00078.243l647 +++| RETURN 02077 M01S00079.243l647 +++| ENDIF 02078 M01S00080.243l647 +++| CALL SCANSYM 02079 M01S00081.243l647 +++| IF (FATAL) RETURN 02080 M01S00082.243l647 +++| DO 950 J = 0,2 02081 M01S00083.243l647 +++| DO 950 I = 0,11 02082 M01S00084.243l647 +++| NATR = NATR + 1 02083 M01S00085.243l647 +++| ATRLP(NATR) = '1' 02084 M01S00086.243l647 +++| ATIO(NATR) = J 02085 M01S00087.243l647 +++| ATTP(NATR) = I 02086 M01S00088.243l647 +++|950 CONTINUE 02087 M01S00089.243l647 +++| GOTO 1 02088 M01S01774.panel +++| END 02089 M01S01775.panel +++|C------------------------------------------------------------------- 02090 M01S01776.panel +++|C* SCANIMG - SCAN PANEL IMAGE 02091 M01S01777.panel +++|C 02092 M01S01778.panel +++| SUBROUTINE SCANIMG 02093 M01S01779.panel +++|*CALL COMFPAN 02094 M01S01780.panel +++| CHARACTER*7 VNAME 02095 M01S01781.panel +++| INTEGER HIHV 02096 M01S01782.panel +++|C 02097 M01S01783.panel +++|C PREPARE IMAGE 02098 M01S01784.panel +++|C 02099 M01S01785.panel +++| DO 1 J = 1, MROW
Line S01786 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02100 M02S01786.v23l617 ---| IMAG(133,J) = 1 02101 M01S00015.v23l617 +++| IMAG(MCOL+1,J) = 1 02102 M01S01787.panel +++|1 CONTINUE 02103 M01S01788.panel +++|C 02104 M01S01789.panel +++|C START COUNTING VAR DATA AND VARS FOUND 02105 M01S01790.panel +++|C 02106 M01S01791.panel +++| VDCO = 0 02107 M01S01792.panel +++| NVAF = 0 02108 M01S01793.panel +++| HIHV = NVAR 02109 M01S01794.panel +++| LFIE = 0 02110 M01S01795.panel +++| NFIE = 0 02111 M01S01796.panel +++| SPCH(128) = -128 02112 M01S01797.panel +++| SPCH(ZUL) = -128 02113 M01S01798.panel +++|C 02114 M01S01799.panel +++|C SCAN 02115 M01S01800.panel +++|C 02116 M01S01801.panel +++| DO 1000 J = 1, NROW 02117 M01S01802.panel +++| I = 1
Line S01803 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02118 M02S01803.ns2150 ---| IX = 0 02119 M01S01804.panel +++|C 02120 M01S01805.panel +++|C SKIP BLANKS 02121 M01S01806.panel +++|C
Line S01807 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02122 M02S01807.v23l617 ---|100 IF (I.LE.132) THEN 02123 M01S00016.v23l617 +++|100 IF (I.LE.MCOL) THEN 02124 M01S01808.panel +++| IF (IMAG(I,J).EQ.ZSP) THEN
Line S01809 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02125 M02S01809.ns2150 ---| IX = IX + 1 02126 M01S01810.panel +++| I = I + 1 02127 M01S01811.panel +++| GOTO 100 02128 M01S01812.panel +++| ENDIF 02129 M01S01813.panel +++|C 02130 M01S01814.panel +++|C VARIABLE 02131 M01S01815.panel +++|C 02132 M01S01816.panel +++| K = SPCH(IMAG(I,J)) 02133 M01S01817.panel +++| IF (IMAG(I,J).EQ.ZUL) THEN
Line S00001 Modification History | |
---|---|
M01 (Added by) | panel6 |
M02 (Updated by) | panel9 |
Seq # *Modification Id* Act ----------------------------+ 02134 M02S00001.panel9 ---| IF (J.EQ.1) THEN 02135 M01S00001.panel9 +++| IF ((J.EQ.1) .AND. 02136 M01S00002.panel9 +++| A (VAIO(NFIE+1) .NE. 2)) THEN
Line S00002 Modification History | |
---|---|
M01 (Added by) | panel6 |
M02 (Updated by) | panel9 |
Seq # *Modification Id* Act ----------------------------+ 02137 M02S00002.panel9 ---| CALL ERROR('Variable field on' // 02138 M01S00003.panel9 +++| CALL ERROR('Input field on' // 02139 M01S00003.panel6 +++| A ' first line of image') 02140 M01S00004.panel6 +++| RETURN 02141 M01S00005.panel6 +++| ENDIF 02142 M01S01818.panel +++| SI = I
Line S01819 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02143 M02S01819.ns2150 ---| TMPX = IX 02144 M01S00131.ns2150 +++| TMPX = I - 1 02145 M01S01820.panel +++|200 I = I + 1
Line S01821 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02146 M02S01821.ns2150 ---| IX = IX + 1 02147 M01S01822.panel +++| IF (IMAG(I,J).EQ.ZUL) GOTO 200 02148 M01S01823.panel +++| NCOL = MAX(NCOL,I-1)
Line S01824 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2230 |
Seq # *Modification Id* Act ----------------------------+ 02149 M02S01824.ns2230 ---| IF (NFIE.GE.MFIE) THEN
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2230 |
M02 (Updated by) | ns2473 |
Seq # *Modification Id* Act ----------------------------+ 02150 M02S00002.ns2473 ---| IF (NFIE.GT.(MFIE+1)) THEN
Line S01825 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2473 |
Seq # *Modification Id* Act ----------------------------+ 02151 M02S01825.ns2473 ---| CALL ERRORN(MFIE,'fields')
Line S01826 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2473 |
Seq # *Modification Id* Act ----------------------------+ 02152 M02S01826.ns2473 ---| RETURN
Line S01827 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2473 |
Seq # *Modification Id* Act ----------------------------+ 02153 M02S01827.ns2473 ---| ENDIF 02154 M01S01828.panel +++| NFIE = NFIE + 1 02155 M01S01829.panel +++| NVAF = NVAF + 1 02156 M01S01830.panel +++| IF (NVAF.LE.NVAR) THEN 02157 M01S01831.panel +++| IF (I-SI.NE.VARL(NVAF).AND.VARL(NVAF).NE.0) THEN 02158 M01S01832.panel +++| CALL ERROR('FIELD DECLARED DIFFERENT SIZE') 02159 M01S01833.panel +++| ENDIF 02160 M01S01834.panel +++| ELSE 02161 M01S01835.panel +++| CALL NEWVAR 02162 M01S01836.panel +++| IF (FATAL) RETURN 02163 M01S01837.panel +++| ENDIF 02164 M01S01838.panel +++| FIEX(NFIE) = TMPX 02165 M01S01839.panel +++| FIEY(NFIE) = J - 1 02166 M01S01840.panel +++| FIEL(NFIE) = I - SI 02167 M01S01841.panel +++| FIET(NFIE) = 1 02168 M01S01842.panel +++| FIEV(NFIE) = NVAF 02169 M01S01843.panel +++| FIEO(NFIE) = VDCO 02170 M01S01844.panel +++| FIEA(NFIE) = VARA(NVAF) 02171 M01S01845.panel +++| VARF(NVAF) = NFIE 02172 M01S01846.panel +++| VDCO = VDCO + FIEL(NFIE) 02173 M01S01847.panel +++| GOTO 100 02174 M01S01848.panel +++|C 02175 M01S01849.panel +++|C ATTRIBUTE 02176 M01S01850.panel +++|C 02177 M01S01851.panel +++| ELSEIF (K.GT.0) THEN 02178 M01S01852.panel +++| SI = I + 1
Line S01853 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02179 M02S01853.ns2150 ---| IX = IX + 1 02180 M01S01854.panel +++|300 I = I + 1
Line S01855 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02181 M02S01855.v23l617 ---| IF (I.LE.132.AND.IMAG(I,J).NE.ATCE(K)) GOTO 300 02182 M01S00017.v23l617 +++| IF (I.LE.MCOL.AND.IMAG(I,J).NE.ATCE(K)) GOTO 300 02183 M01S01856.panel +++| NCOL = MAX(NCOL,I-1) 02184 M01S01857.panel +++| IF (I-SI.GT.0) THEN
Line S01858 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02185 M02S01858.ns2150 ---| CALL NEWCON(IX, J-1, SI, I-SI, K-1) 02186 M01S00132.ns2150 +++| CALL NEWCON(SI-1, J-1, SI, I-SI, K-1) 02187 M01S01859.panel +++| IF (FATAL) RETURN
Line S01860 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02188 M02S01860.ns2150 ---| IX = IX + I - SI + 1 02189 M01S01861.panel +++| ENDIF 02190 M01S01862.panel +++| I = I + 1 02191 M01S01863.panel +++| GOTO 100 02192 M01S01864.panel +++|C 02193 M01S01865.panel +++|C BOX 02194 M01S01866.panel +++|C 02195 M01S01867.panel +++| ELSEIF (K.LT.0) THEN 02196 M01S01868.panel +++| CALL DOBOX(I,J,-K) 02197 M01S01869.panel +++| I = I + 1 02198 M01S01870.panel +++| GOTO 100 02199 M01S01871.panel +++|C 02200 M01S01872.panel +++|C PLAIN OLD CONSTANT 02201 M01S01873.panel +++|C 02202 M01S01874.panel +++| ELSE 02203 M01S01875.panel +++| SI = I 02204 M01S01876.panel +++|400 I = I + 1
Line S01877 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02205 M02S01877.v23l617 ---| IF (I.LE.132.AND. 02206 M01S00018.v23l617 +++| IF (I.LE.MCOL.AND. 02207 M01S01878.panel +++| A IMAG(I,J).NE.ZSP.AND. 02208 M01S01879.panel +++| B SPCH(IMAG(I,J)).EQ.0) GOTO 400
Line S01880 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02209 M02S01880.ns2150 ---| IF (I.LT.132) THEN
Line S01881 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02210 M02S01881.ns2150 ---| IF (IMAG(I+1,J).NE.ZSP.AND.
Line S01882 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02211 M02S01882.ns2150 ---| A SPCH(IMAG(I+1,J)).EQ.0) THEN
Line S01883 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02212 M02S01883.ns2150 ---| I = I + 1
Line S01884 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02213 M02S01884.ns2150 ---| GOTO 400
Line S01885 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02214 M02S01885.ns2150 ---| ENDIF
Line S01886 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02215 M02S01886.ns2150 ---| ENDIF
Line S00133 Modification History | |
---|---|
M01 (Added by) | ns2150 |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02216 M02S00133.v23l617 ---| IF (I.LT.132.AND. 02217 M01S00019.v23l617 +++| IF (I.LT.MCOL.AND. 02218 M01S00134.ns2150 +++| A IMAG(I,J).EQ.ZSP.AND. 02219 M01S00135.ns2150 +++| B IMAG(I+1,J).NE.ZSP) GOTO 400 02220 M01S01887.panel +++| NCOL = MAX(NCOL,I-1)
Line S01888 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02221 M02S01888.ns2150 ---| CALL NEWCON(IX, J-1, SI, I-SI, 2) 02222 M01S00136.ns2150 +++| CALL NEWCON(SI-1, J-1, SI, I-SI, 2) 02223 M01S01889.panel +++| IF (FATAL) RETURN
Line S01890 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2150 |
Seq # *Modification Id* Act ----------------------------+ 02224 M02S01890.ns2150 ---| IX = IX + I - SI 02225 M01S01891.panel +++| GOTO 100 02226 M01S01892.panel +++| ENDIF 02227 M01S01893.panel +++| ENDIF 02228 M01S01894.panel +++|1000 CONTINUE
Line S01895 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02229 M02S01895.v23l617 ---| IF (HIHV.NE.0.AND.(HIHV.NE.NVAR.OR.NVAF.NE.NVAR)) THEN 02230 M01S00020.v23l617 +++| IF (HIHV.NE.NVAR.OR.NVAF.NE.NVAR) THEN 02231 M01S01896.panel +++| CALL ERROR('Different number of' // 02232 M01S01897.panel +++| A ' fields than declared') 02233 M01S01898.panel +++| ENDIF 02234 M01S01899.panel +++| END 02235 M01S01900.panel +++|C------------------------------------------------------------------- 02236 M01S01901.panel +++|C* SCANINT - SCAN INTEGER 02237 M01S01902.panel +++|C 02238 M01S01903.panel +++| SUBROUTINE SCANINT 02239 M01S01904.panel +++|*CALL COMFPAN 02240 M01S01905.panel +++|1 IF (ISN(IMAG(SJ,1))) THEN 02241 M01S01906.panel +++| SJ = SJ + 1 02242 M01S01907.panel +++| GOTO 1 02243 M01S01908.panel +++| ENDIF 02244 M01S01909.panel +++| END 02245 M01S01910.panel +++|C------------------------------------------------------------------- 02246 M01S01911.panel +++|C SCANKEY - SCAN KEY DECLARATION 02247 M01S01912.panel +++|C 02248 M01S01913.panel +++| SUBROUTINE SCANKEY 02249 M01S01914.panel +++|*CALL COMFPAN 02250 M01S01915.panel +++| N = 0 02251 M01S01916.panel +++| CALL SCANSYM 02252 M01S01917.panel +++|1 CONTINUE 02253 M01S01918.panel +++| IF (FATAL) RETURN 02254 M01S01919.panel +++| IF (ZEQNEXT()) THEN 02255 M01S01920.panel +++| IF (UPSYMEQ('NORMAL').OR.UPSYMEQ('N')) THEN 02256 M01S01921.panel +++| I = 1 02257 M01S01922.panel +++| ELSEIF (UPSYMEQ('ABNORMAL').OR.UPSYMEQ('A')) THEN 02258 M01S01923.panel +++| I = 2
Line S01924 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02259 M02S01924.v23l617 ---| ELSE
Line S01925 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02260 M02S01925.v23l617 ---| CALL EXPECT('NORMAL= or ABNORMAL=','KEY') 02261 M01S00021.v23l617 +++| ELSEIF (UPSYMEQ('HELP').OR.UPSYMEQ('H')) THEN 02262 M01S00022.v23l617 +++| I = 3 02263 M01S00023.v23l617 +++| ELSEIF (UPSYMEQ('MATCH').OR.UPSYMEQ('M')) THEN 02264 M01S00024.v23l617 +++| I = 4 02265 M01S00025.v23l617 +++| ELSE 02266 M01S00026.v23l617 +++| CALL EXPECT('NORMAL=, ABNORMAL=, HELP= or MATCH=','KEY') 02267 M01S01926.panel +++| RETURN 02268 M01S01927.panel +++| ENDIF 02269 M01S01928.panel +++| CALL SKIPTWO 02270 M01S01929.panel +++| IF (FATAL) RETURN
Line S01930 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02271 M02S01930.v23l617 ---| N = 2
Line S01931 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02272 M02S01931.v23l617 ---| GOTO (100,200), I
Line S01932 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02273 M02S01932.v23l617 ---| ELSE
Line S01933 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02274 M02S01933.v23l617 ---| N = N + 1
Line S01934 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02275 M02S01934.v23l617 ---| GOTO (100,200), N 02276 M01S00027.v23l617 +++| N = 4 02277 M01S00028.v23l617 +++| GOTO (100,200,300,400), I 02278 M01S00029.v23l617 +++| ELSE 02279 M01S00030.v23l617 +++| N = N + 1 02280 M01S00031.v23l617 +++| GOTO (100,200,300,400), N 02281 M01S01935.panel +++| CALL CHEKHED(I) 02282 M01S01936.panel +++| IF (I.EQ.0) THEN
Line S01937 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02283 M02S01937.v23l617 ---| CALL EXPECT('NORMAL=(keys) or '//
Line S01938 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02284 M02S01938.v23l617 ---| A 'ABNORMAL=(keys)','KEY') 02285 M01S00032.v23l617 +++| CALL EXPECT('NORMAL=, ABNORMAL=, HELP= or '// 02286 M01S00033.v23l617 +++| A 'MATCH=(keys)','KEY') 02287 M01S01939.panel +++| ENDIF 02288 M01S01940.panel +++| RETURN 02289 M01S01941.panel +++| ENDIF 02290 M01S01942.panel +++|C 02291 M01S01943.panel +++|C NORMAL 02292 M01S01944.panel +++|C 02293 M01S01945.panel +++|100 CONTINUE 02294 M01S01946.panel +++| CALL SCANKYS(1) 02295 M01S01947.panel +++| IF (FATAL) RETURN 02296 M01S01948.panel +++| GOTO 1 02297 M01S01949.panel +++|C 02298 M01S01950.panel +++|C ABNORMAL 02299 M01S01951.panel +++|C 02300 M01S01952.panel +++|200 CONTINUE 02301 M01S01953.panel +++| CALL SCANKYS(3) 02302 M01S01954.panel +++| IF (FATAL) RETURN 02303 M01S01955.panel +++| GOTO 1 02304 M01S00034.v23l617 +++|C 02305 M01S00035.v23l617 +++|C HELP 02306 M01S00036.v23l617 +++|C 02307 M01S00037.v23l617 +++|300 CONTINUE 02308 M01S00038.v23l617 +++| CALL SCANKYS(9) 02309 M01S00039.v23l617 +++| IF (FATAL) RETURN 02310 M01S00040.v23l617 +++| GOTO 1 02311 M01S00041.v23l617 +++|C 02312 M01S00042.v23l617 +++|C MATCH 02313 M01S00043.v23l617 +++|C 02314 M01S00044.v23l617 +++|400 CONTINUE 02315 M01S00045.v23l617 +++| CALL SCANKYS(10) 02316 M01S00046.v23l617 +++| IF (FATAL) RETURN 02317 M01S00047.v23l617 +++| GOTO 1 02318 M01S01956.panel +++| END 02319 M01S01957.panel +++|C------------------------------------------------------------------- 02320 M01S01958.panel +++|C* SCANKYS - SCAN KEY LIST 02321 M01S01959.panel +++|C 02322 M01S01960.panel +++|C ENTRY K=ACTION 02323 M01S01961.panel +++|C 02324 M01S01962.panel +++| SUBROUTINE SCANKYS(K) 02325 M01S01963.panel +++|*CALL COMFPAN 02326 M01S01964.panel +++| LOGICAL LOOP 02327 M01S01965.panel +++| IF (SYMEQ('(')) THEN 02328 M01S01966.panel +++| LOOP = .TRUE. 02329 M01S01967.panel +++| GOTO 1 02330 M01S01968.panel +++| ELSE 02331 M01S01969.panel +++| LOOP = .FALSE. 02332 M01S01970.panel +++| GOTO 2 02333 M01S01971.panel +++| ENDIF 02334 M01S01972.panel +++|1 CONTINUE 02335 M01S01973.panel +++| CALL SCANSYM 02336 M01S01974.panel +++| IF (FATAL) RETURN 02337 M01S01975.panel +++|2 CONTINUE 02338 M01S01976.panel +++| CALL CHEKKEY(I,J) 02339 M01S01977.panel +++| IF (FATAL) RETURN 02340 M01S01978.panel +++| IF (I.EQ.0) THEN 02341 M01S01979.panel +++| IF (LOOP) THEN 02342 M01S01980.panel +++| IF (SYMEQ(')')) THEN 02343 M01S01981.panel +++| CALL SCANSYM 02344 M01S01982.panel +++| ELSE 02345 M01S01983.panel +++| CALL EXPECT(')','KEY list') 02346 M01S01984.panel +++| ENDIF 02347 M01S01985.panel +++| ENDIF 02348 M01S01986.panel +++| RETURN 02349 M01S01987.panel +++| ENDIF 02350 M01S01988.panel +++| IF (NFUN.GE.MFUN) THEN 02351 M01S01989.panel +++| CALL ERRORN(MKEY,'keys') 02352 M01S01990.panel +++| RETURN 02353 M01S01991.panel +++| ENDIF 02354 M01S01992.panel +++| NFUN = NFUN + 1 02355 M01S01993.panel +++| FUNG(NFUN) = I/2 02356 M01S01994.panel +++| FUNK(NFUN) = J 02357 M01S01995.panel +++| FUNA(NFUN) = K 02358 M01S01996.panel +++| IF (LOOP) GOTO 1 02359 M01S01997.panel +++| CALL SCANSYM 02360 M01S01998.panel +++| END 02361 M01S01999.panel +++|C------------------------------------------------------------------- 02362 M01S02000.panel +++|C SCANLEN - SCAN VAR LENGTH 02363 M01S02001.panel +++|C 02364 M01S02002.panel +++| SUBROUTINE SCANLEN 02365 M01S02003.panel +++|*CALL COMFPAN 02366 M01S02004.panel +++| IF (SYMEQ('(')) THEN 02367 M01S02005.panel +++| CALL SCANSYM 02368 M01S02006.panel +++| IF (FATAL) RETURN 02369 M01S02007.panel +++| IF (SYMTP.EQ.'N') THEN 02370 M01S02008.panel +++| VARL(NVAR) = SINT 02371 M01S02009.panel +++| CALL SCANSYM 02372 M01S02010.panel +++| IF (FATAL) RETURN 02373 M01S02011.panel +++| IF (SYMEQ(')')) THEN 02374 M01S02012.panel +++| CALL SCANSYM 02375 M01S02013.panel +++| RETURN 02376 M01S02014.panel +++| ELSE 02377 M01S02015.panel +++| CALL EXPECT(')','VAR length') 02378 M01S02016.panel +++| ENDIF 02379 M01S02017.panel +++| ELSE 02380 M01S02018.panel +++| CALL EXPECT('VAR length','(') 02381 M01S02019.panel +++| ENDIF 02382 M01S02020.panel +++| ENDIF 02383 M01S02021.panel +++| VARL(NVAR) = 0 02384 M01S02022.panel +++| END 02385 M01S02023.panel +++|C------------------------------------------------------------------- 02386 M01S02024.panel +++|C* SCANLPA - SCAN LOGICAL/PHYSICAL ATTRIBUTE 02387 M01S02025.panel +++|C 02388 M01S02026.panel +++|C ENTRY LOG=1 IF LOGICAL ATTRIBUTES, 0 IF PHYSICAL 02389 M01S02027.panel +++|C 02390 M01S02028.panel +++| SUBROUTINE SCANLPA(LOG) 02391 M01S02029.panel +++|*CALL COMFPAN 02392 M01S02030.panel +++| INTEGER LOG 02393 M01S02031.panel +++| LOGICAL LOOP 02394 M01S02032.panel +++| CHARACTER*8 LOGIC(2) 02395 M01S02033.panel +++| DATA LOGIC /'PHYSICAL','LOGICAL'/ 02396 M01S02034.panel +++| IF (SYMEQ('(')) THEN 02397 M01S02035.panel +++| LOOP = .TRUE. 02398 M01S02036.panel +++| GOTO 1 02399 M01S02037.panel +++| ELSE 02400 M01S02038.panel +++| LOOP = .FALSE. 02401 M01S02039.panel +++| GOTO 2 02402 M01S02040.panel +++| ENDIF 02403 M01S02041.panel +++|1 CONTINUE 02404 M01S02042.panel +++| CALL SCANSYM 02405 M01S02043.panel +++| IF (FATAL) RETURN 02406 M01S02044.panel +++|2 CONTINUE 02407 M01S02045.panel +++| CALL CHEKATR(LP,I) 02408 M01S02046.panel +++| IF (LP.EQ.3) THEN 02409 M01S02047.panel +++| IF (SYMEQ(')')) RETURN 02410 M01S02048.panel +++| CALL EXPECT(LOGIC(LOG+1)//' attribute',' ') 02411 M01S02049.panel +++| RETURN 02412 M01S02050.panel +++| ENDIF 02413 M01S02051.panel +++| IF (LP.NE.LOG) THEN 02414 M01S02052.panel +++| CALL ERROR('attribute not '//LOGIC(LOG+1)) 02415 M01S02053.panel +++| RETURN 02416 M01S02054.panel +++| ENDIF 02417 M01S02055.panel +++| CALL SETATR(LP,I) 02418 M01S02056.panel +++| IF (LOOP) GOTO 1 02419 M01S02057.panel +++| END 02420 M01S02058.panel +++|C------------------------------------------------------------------- 02421 M01S02059.panel +++|C* SCANMUS - SCAN ENTRY 02422 M01S02060.panel +++|C 02423 M01S02061.panel +++| SUBROUTINE SCANMUS 02424 M01S02062.panel +++|*CALL COMFPAN 02425 M01S02063.panel +++| LOGICAL LOOP 02426 M01S02064.panel +++| IF (SYMEQ('(')) THEN 02427 M01S02065.panel +++| LOOP = .TRUE. 02428 M01S02066.panel +++| GOTO 1 02429 M01S02067.panel +++| ELSE 02430 M01S02068.panel +++| LOOP = .FALSE. 02431 M01S02069.panel +++| GOTO 2 02432 M01S02070.panel +++| ENDIF 02433 M01S02071.panel +++|1 CONTINUE 02434 M01S02072.panel +++| CALL SCANSYM 02435 M01S02073.panel +++| IF (FATAL) RETURN 02436 M01S02074.panel +++|2 CONTINUE 02437 M01S02075.panel +++| IF (SYMEQ(')')) RETURN 02438 M01S02076.panel +++| IF (UPSYMEQ('MUST')) THEN 02439 M01S02077.panel +++| CALL SCANSYM 02440 M01S02078.panel +++| IF (FATAL) RETURN 02441 M01S02079.panel +++| ENDIF 02442 M01S02080.panel +++| IF (UPSYMEQ('FILL')) THEN 02443 M01S02081.panel +++| VARM(NVAR) = OR(VARM(NVAR),VMF) 02444 M01S02082.panel +++| ELSEIF (UPSYMEQ('ENTER').OR.UPSYMEQ('E')) THEN 02445 M01S02083.panel +++| VARM(NVAR) = OR(VARM(NVAR),VME) 02446 M01S02084.panel +++| ELSEIF (UPSYMEQ('UNKNOWN').OR.UPSYMEQ('U')) THEN 02447 M01S02085.panel +++| VARM(NVAR) = AND(VARM(NVAR),COMPL(VMK))
Line S02086 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2469 |
Seq # *Modification Id* Act ----------------------------+ 02448 M02S02086.ns2469 ---| ELSE
Line S02087 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2469 |
Seq # *Modification Id* Act ----------------------------+ 02449 M02S02087.ns2469 ---| CALL EXPECT('MUST FILL, MUST ENTER, or UNKNOWN','ENTRY') 02450 M01S00007.ns2469 +++| ELSEIF (UPSYMEQ('CONTAIN').OR.UPSYMEQ('C')) THEN 02451 M01S00008.ns2469 +++| VARC(NVAR) = 1 02452 M01S00009.ns2469 +++| ELSE 02453 M01S00010.ns2469 +++| CALL EXPECT('MUST FILL, ENTER, CONTAIN or UNKNOWN','ENTRY') 02454 M01S02088.panel +++| RETURN 02455 M01S02089.panel +++| ENDIF 02456 M01S02090.panel +++| IF (LOOP) GOTO 1 02457 M01S02091.panel +++| END 02458 M01S02092.panel +++|C------------------------------------------------------------------- 02459 M01S02093.panel +++|C* SCANPAN - SCAN PANEL KEYWORDS 02460 M01S02094.panel +++|C 02461 M01S02095.panel +++| SUBROUTINE SCANPAN 02462 M01S02096.panel +++|*CALL COMFPAN 02463 M01S02097.panel +++| N = 0 02464 M01S02098.panel +++|1 CONTINUE 02465 M01S02099.panel +++| CALL SCANSYM 02466 M01S02100.panel +++| IF (FATAL) RETURN 02467 M01S02101.panel +++| IF (ZEQNEXT()) THEN 02468 M01S02102.panel +++| IF (UPSYMEQ('NAME').OR.UPSYMEQ('N')) THEN 02469 M01S02103.panel +++| I = 1 02470 M01S02104.panel +++| ELSE IF (UPSYMEQ('TYPE').OR.UPSYMEQ('T')) THEN 02471 M01S02105.panel +++| I = 2 02472 M01S02106.panel +++| ELSE 02473 M01S02107.panel +++| CALL EXPECT('TYPE=','PANEL') 02474 M01S02108.panel +++| RETURN 02475 M01S02109.panel +++| ENDIF 02476 M01S02110.panel +++| CALL SKIPTWO 02477 M01S02111.panel +++| IF (FATAL) RETURN 02478 M01S02112.panel +++| N = 2 02479 M01S02113.panel +++| GOTO (100,200), I 02480 M01S02114.panel +++| ELSE 02481 M01S02115.panel +++| CALL CHEKHED(I) 02482 M01S02116.panel +++| IF (I.NE.0) RETURN 02483 M01S02117.panel +++| N = N + 1 02484 M01S02118.panel +++| GOTO (100,200), N 02485 M01S02119.panel +++| CALL EXPECT('NAME or TYPE','PANEL') 02486 M01S02120.panel +++| RETURN 02487 M01S02121.panel +++| ENDIF 02488 M01S02122.panel +++|C 02489 M01S02123.panel +++|C NAME 02490 M01S02124.panel +++|C 02491 M01S02125.panel +++|100 CONTINUE 02492 M01S02126.panel +++| IF (SYMTP.NE.'I') THEN 02493 M01S02127.panel +++| CALL EXPECT('PANEL name','PANEL') 02494 M01S02128.panel +++| RETURN 02495 M01S02129.panel +++| ENDIF 02496 M01S02130.panel +++| PNAME = STRGD(1:SL) 02497 M01S02131.panel +++| GOTO 1 02498 M01S02132.panel +++|C 02499 M01S02133.panel +++|C TYPE 02500 M01S02134.panel +++|C 02501 M01S02135.panel +++|200 CONTINUE 02502 M01S02136.panel +++| IF (UPSYMEQ('PRIMARY')) THEN 02503 M01S02137.panel +++| ERBW = 1 02504 M01S02138.panel +++| ELSEIF (UPSYMEQ('OVERLAY')) THEN 02505 M01S02139.panel +++| ERBW = 0 02506 M01S02140.panel +++| ELSE 02507 M01S02141.panel +++| CALL EXPECT('PRIMARY or OVERLAY',' ') 02508 M01S02142.panel +++| RETURN 02509 M01S02143.panel +++| ENDIF 02510 M01S02144.panel +++| GOTO 1 02511 M01S02145.panel +++| END 02512 M01S02146.panel +++|C------------------------------------------------------------------- 02513 M01S02147.panel +++|C* SCANRNG - SCAN RANGE 02514 M01S02148.panel +++|C 02515 M01S02149.panel +++| SUBROUTINE SCANRNG 02516 M01S02150.panel +++|*CALL COMFPAN 02517 M01S02151.panel +++| IF (.NOT.SYMEQ('(')) THEN 02518 M01S02152.panel +++| CALL EXPECT('(','RANGE=') 02519 M01S02153.panel +++| RETURN 02520 M01S02154.panel +++| ENDIF 02521 M01S02155.panel +++| CALL SCANSYM 02522 M01S02156.panel +++| IF (FATAL) RETURN 02523 M01S02157.panel +++| IF (SYMTP.NE.'N'.AND.SYMTP.NE.'R') THEN 02524 M01S02158.panel +++| CALL EXPECT('constant','RANGE') 02525 M01S02159.panel +++| RETURN 02526 M01S02160.panel +++| ENDIF 02527 M01S02161.panel +++|C 02528 M01S02162.panel +++|C INTEGER RANGE 02529 M01S02163.panel +++|C 02530 M01S02164.panel +++| IF (NVAL.GE.MVAL-1) THEN 02531 M01S02165.panel +++| CALL ERR('VALIDATION TABLE OVERFLOW') 02532 M01S02166.panel +++| RETURN 02533 M01S02167.panel +++| ENDIF 02534 M01S02168.panel +++| IF (VART(NVAR).EQ.VTN) THEN 02535 M01S02169.panel +++| IF (SYMTP.NE.'N') THEN 02536 M01S02170.panel +++| CALL ERROR('Constant wrong type') 02537 M01S02171.panel +++| RETURN 02538 M01S02172.panel +++| ENDIF 02539 M01S02173.panel +++| NVAL = NVAL + 1 02540 M01S02174.panel +++| VVAL(NVAL) = SINT 02541 M01S02175.panel +++| CALL SCANSYM 02542 M01S02176.panel +++| IF (FATAL) RETURN 02543 M01S02177.panel +++| IF (SYMTP.NE.'N') THEN 02544 M01S02178.panel +++| CALL EXPECT('constants','RANGE') 02545 M01S02179.panel +++| RETURN 02546 M01S02180.panel +++| ENDIF 02547 M01S02181.panel +++| IF (VVAL(NVAL).GT.SINT) THEN 02548 M01S02182.panel +++| CALL ERROR('RANGE low gt high') 02549 M01S02183.panel +++| RETURN 02550 M01S02184.panel +++| ENDIF 02551 M01S02185.panel +++| NVAL = NVAL + 1 02552 M01S02186.panel +++| VVAL(NVAL) = SINT 02553 M01S02187.panel +++| VARV(NVAR) = NVAL - 1 02554 M01S02188.panel +++| VAVT(NVAR) = VTRANGE 02555 M01S02189.panel +++| CALL SCANSYM 02556 M01S02190.panel +++| GOTO 9999 02557 M01S02191.panel +++|C 02558 M01S02192.panel +++|C REAL RANGE 02559 M01S02193.panel +++|C 02560 M01S02194.panel +++| ELSEIF (VART(NVAR).EQ.VTR) THEN 02561 M01S02195.panel +++| IF (SYMTP.NE.'R') THEN 02562 M01S02196.panel +++| CALL ERROR('Constant wrong type') 02563 M01S02197.panel +++| RETURN 02564 M01S02198.panel +++| ENDIF 02565 M01S02199.panel +++| NVAL = NVAL + 1 02566 M01S02200.panel +++| VREALV(NVAL) = SREALV 02567 M01S02201.panel +++| CALL SCANSYM 02568 M01S02202.panel +++| IF (FATAL) RETURN 02569 M01S02203.panel +++| IF (SYMTP.NE.'R') THEN 02570 M01S02204.panel +++| CALL EXPECT('constants','RANGE') 02571 M01S02205.panel +++| RETURN 02572 M01S02206.panel +++| ENDIF 02573 M01S02207.panel +++| IF (VREALV(NVAL).GT.SREALV) THEN 02574 M01S02208.panel +++| CALL ERROR('RANGE low gt high') 02575 M01S02209.panel +++| RETURN 02576 M01S02210.panel +++| ENDIF 02577 M01S02211.panel +++| NVAL = NVAL + 1 02578 M01S02212.panel +++| VREALV(NVAL) = SREALV 02579 M01S02213.panel +++| VARV(NVAR) = NVAL - 1 02580 M01S02214.panel +++| VAVT(NVAR) = VTRANGE 02581 M01S02215.panel +++| CALL SCANSYM 02582 M01S02216.panel +++| GOTO 9999 02583 M01S02217.panel +++|C 02584 M01S02218.panel +++|C CHAR RANGE 02585 M01S02219.panel +++|C 02586 M01S02220.panel +++| ELSE 02587 M01S02221.panel +++| CALL ERROR('RANGE of CHAR not allowed') 02588 M01S02222.panel +++| RETURN 02589 M01S02223.panel +++| ENDIF 02590 M01S02224.panel +++|9999 CONTINUE 02591 M01S02225.panel +++| IF (FATAL) RETURN 02592 M01S02226.panel +++| IF (.NOT.SYMEQ(')')) THEN 02593 M01S02227.panel +++| CALL EXPECT(')','RANGE') 02594 M01S02228.panel +++| ENDIF 02595 M01S02229.panel +++| END 02596 M01S02230.panel +++|C------------------------------------------------------------------- 02597 M01S02231.panel +++|C* SCANSYM - SCAN SYMBOL FROM CURRENT POSITION 02598 M01S02232.panel +++|C 02599 M01S02233.panel +++|C ENTRY 02600 M01S02234.panel +++|C SJ = CURRENT POSITION 02601 M01S02235.panel +++|C EXIT 02602 M01S02236.panel +++|C SI = SYMBOL POSITION 02603 M01S02237.panel +++|C SJ = NEW CURRENT POSITION 02604 M01S02238.panel +++|C SYMTP = SYMBOL TYPE 02605 M01S02239.panel +++|C I = IDENTIFIER 02606 M01S02240.panel +++|C N = INTEGER 02607 M01S02241.panel +++|C P = PUNCTUATOR 02608 M01S02242.panel +++|C R = REAL 02609 M01S02243.panel +++|C S = STRING 02610 M01S02244.panel +++|C 02611 M01S02245.panel +++| SUBROUTINE SCANSYM 02612 M01S02246.panel +++|*CALL COMFPAN 02613 M01S02247.panel +++| CHARACTER*10 FMT 02614 M01S02248.panel +++| GOTO 2 02615 M01S02249.panel +++|1 CALL READL1 02616 M01S02250.panel +++| IF (FATAL) RETURN 02617 M01S02251.panel +++|2 CONTINUE
Line S02252 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02618 M02S02252.v23l617 ---| IF (SJ.GE.133) GOTO 1 02619 M01S00048.v23l617 +++| IF (SJ.GT.MCOL) GOTO 1 02620 M01S02253.panel +++| IF (IMAG(SJ,1).EQ.ZSP) THEN 02621 M01S02254.panel +++| SJ = SJ + 1 02622 M01S02255.panel +++| GOTO 2 02623 M01S02256.panel +++| ENDIF 02624 M01S02257.panel +++| IF (IMAG(SJ,1).EQ.ZQO) THEN 02625 M01S02258.panel +++|3 CONTINUE 02626 M01S02259.panel +++| SJ = SJ + 1
Line S02260 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02627 M02S02260.v23l617 ---| IF (SJ.GE.133) GOTO 1 02628 M01S00049.v23l617 +++| IF (SJ.GT.MCOL) GOTO 1 02629 M01S02261.panel +++| IF (IMAG(SJ,1).NE.ZQO) GOTO 3 02630 M01S02262.panel +++| SJ = SJ + 1 02631 M01S02263.panel +++| GOTO 2 02632 M01S02264.panel +++| ENDIF 02633 M01S02265.panel +++|C 02634 M01S02266.panel +++| SI = SJ 02635 M01S02267.panel +++| SL = 0 02636 M01S02268.panel +++| IF (ISA(IMAG(SJ,1))) THEN 02637 M01S02269.panel +++| GOTO 100 02638 M01S02270.panel +++| ELSEIF (ISN(IMAG(SJ,1))) THEN 02639 M01S02271.panel +++| GOTO 200 02640 M01S02272.panel +++| ELSEIF (IMAG(SJ,1).EQ.ZPL.OR. 02641 M01S02273.panel +++| A IMAG(SJ,1).EQ.ZMI) THEN 02642 M01S02274.panel +++| GOTO 200 02643 M01S02275.panel +++| ELSEIF (IMAG(SJ,1).EQ.ZPD) THEN 02644 M01S02276.panel +++| IF (IMAG(SJ+1,1).EQ.ZPD) THEN 02645 M01S02277.panel +++| SJ = SJ + 2 02646 M01S00001.panel12 +++| IF (IMAG(SJ,1).EQ.ZPD) SJ = SJ + 1 02647 M01S02278.panel +++| GOTO 2 02648 M01S02279.panel +++| ENDIF 02649 M01S02280.panel +++| GOTO 215 02650 M01S02281.panel +++| ELSEIF (IMAG(SJ,1).EQ.ZAP) THEN 02651 M01S02282.panel +++| SJ = SJ + 1 02652 M01S02283.panel +++| GOTO 300 02653 M01S02284.panel +++| ENDIF 02654 M01S02285.panel +++| SYMTP = 'P' 02655 M01S02286.panel +++| SL = 1 02656 M01S02287.panel +++| SJ = SJ + 1 02657 M01S02288.panel +++| GOTO 9999 02658 M01S02289.panel +++|C 02659 M01S02290.panel +++|C IDENTIFIER 02660 M01S02291.panel +++|C 02661 M01S02292.panel +++|100 IF (ISAN(IMAG(SJ,1))) THEN 02662 M01S02293.panel +++| SL = SL + 1 02663 M01S02294.panel +++| IF (IMAG(SJ,1).LT.ZAA) THEN 02664 M01S02295.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - Z0 + ICHAR('0')) 02665 M01S02296.panel +++| ELSE IF (IMAG(SJ,1).GT.ZZZ) THEN 02666 M01S02297.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - ZA + ICHAR('A')) 02667 M01S02298.panel +++| ELSE 02668 M01S02299.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - ZAA + ICHAR('A')) 02669 M01S02300.panel +++| ENDIF 02670 M01S02301.panel +++| SJ = SJ + 1 02671 M01S02302.panel +++| GOTO 100 02672 M01S02303.panel +++| ENDIF 02673 M01S02304.panel +++| SYMTP = 'I' 02674 M01S02305.panel +++| GOTO 9999 02675 M01S02306.panel +++|C 02676 M01S02307.panel +++|C NUMBER 02677 M01S02308.panel +++|C 02678 M01S02309.panel +++|C PLUS OR MINUS 02679 M01S02310.panel +++|200 CONTINUE 02680 M01S02311.panel +++| SIGN = 1 02681 M01S02312.panel +++| SINT = 0 02682 M01S02313.panel +++| SYMTP = 'N' 02683 M01S02314.panel +++| IF(IMAG(SJ,1).EQ.ZPL) THEN 02684 M01S02315.panel +++| SL = SL + 1 02685 M01S02316.panel +++| STRGD(SL:SL) = '+' 02686 M01S02317.panel +++| SJ = SJ + 1 02687 M01S02318.panel +++| ELSEIF (IMAG(SJ,1).EQ.ZMI) THEN 02688 M01S02319.panel +++| SL = SL + 1 02689 M01S02320.panel +++| STRGD(SL:SL) = '-' 02690 M01S02321.panel +++| SIGN = -1 02691 M01S02322.panel +++| SJ = SJ + 1 02692 M01S02323.panel +++| ENDIF 02693 M01S02324.panel +++|C DIGITS 02694 M01S02325.panel +++|210 IF (ISN(IMAG(SJ,1))) THEN 02695 M01S02326.panel +++| SL = SL + 1 02696 M01S02327.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - Z0 + ICHAR('0')) 02697 M01S02328.panel +++| SINT = SINT*10 + IMAG(SJ,1) - Z0 02698 M01S02329.panel +++| SJ = SJ + 1 02699 M01S02330.panel +++| GOTO 210 02700 M01S02331.panel +++| ENDIF 02701 M01S02332.panel +++| IF (IMAG(SJ,1).NE.ZPD.AND.IMAG(SJ,1).NE.ZE.AND. 02702 M01S02333.panel +++| A IMAG(SJ,1).NE.ZEE) THEN 02703 M01S02334.panel +++| SINT = SINT * SIGN 02704 M01S02335.panel +++| GOTO 9999 02705 M01S02336.panel +++| ENDIF 02706 M01S02337.panel +++| SYMTP = 'R' 02707 M01S02338.panel +++|C DECIMAL POINT 02708 M01S02339.panel +++|215 IF (IMAG(SJ,1).EQ.ZPD) THEN 02709 M01S02340.panel +++| SL = SL + 1 02710 M01S02341.panel +++| STRGD(SL:SL) = '.' 02711 M01S02342.panel +++| SJ = SJ + 1 02712 M01S02343.panel +++| ENDIF 02713 M01S02344.panel +++|C MORE DIGITS 02714 M01S02345.panel +++|220 IF (ISN(IMAG(SJ,1))) THEN 02715 M01S02346.panel +++| SL = SL + 1 02716 M01S02347.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - Z0 + ICHAR('0')) 02717 M01S02348.panel +++| SJ = SJ + 1 02718 M01S02349.panel +++| GOTO 220 02719 M01S02350.panel +++| ENDIF 02720 M01S02351.panel +++|C E 02721 M01S02352.panel +++| IF (IMAG(SJ,1).EQ.ZEE.OR.IMAG(SJ,1).EQ.ZE) THEN 02722 M01S02353.panel +++| SL = SL + 1 02723 M01S02354.panel +++| STRGD(SL:SL) = 'E' 02724 M01S02355.panel +++| SJ = SJ + 1 02725 M01S02356.panel +++| SYMTP = 'R' 02726 M01S02357.panel +++| ENDIF 02727 M01S02358.panel +++|C PLUS OR MINUS AGAIN 02728 M01S02359.panel +++| IF(IMAG(SJ,1).EQ.ZPL) THEN 02729 M01S02360.panel +++| SL = SL + 1 02730 M01S02361.panel +++| STRGD(SL:SL) = '+' 02731 M01S02362.panel +++| SJ = SJ + 1 02732 M01S02363.panel +++| ELSEIF (IMAG(SJ,1).EQ.ZMI) THEN 02733 M01S02364.panel +++| SL = SL + 1 02734 M01S02365.panel +++| STRGD(SL:SL) = '-' 02735 M01S02366.panel +++| SJ = SJ + 1 02736 M01S02367.panel +++| ENDIF 02737 M01S02368.panel +++|C STILL MORE DIGITS 02738 M01S02369.panel +++|230 IF (ISN(IMAG(SJ,1))) THEN 02739 M01S02370.panel +++| SL = SL + 1 02740 M01S02371.panel +++| STRGD(SL:SL) = CHAR(IMAG(SJ,1) - Z0 + ICHAR('0')) 02741 M01S02372.panel +++| SJ = SJ + 1 02742 M01S02373.panel +++| GOTO 230 02743 M01S02374.panel +++| ENDIF 02744 M01S02375.panel +++|C GET VALUE 02745 M01S02376.panel +++| IF (SYMTP.EQ.'N') THEN 02746 M01S02377.panel +++| SINT = SINT * SIGN 02747 M01S02378.panel +++| ELSE 02748 M01S02379.panel +++| WRITE(FMT,285) SL 02749 M01S02380.panel +++|285 FORMAT('(F',I2,'.0)') 02750 M01S02381.panel +++|C PRINT*,'REAL FORMAT=',FMT,' VALUE=',STRGD(1:SL) 02751 M01S02382.panel +++| READ(STRGD(1:SL),FMT,ERR=290) SREALV 02752 M01S02383.panel +++|C PRINT 57, SREALV 02753 M01S02384.panel +++|57 FORMAT(E20.10) 02754 M01S02385.panel +++| ENDIF 02755 M01S02386.panel +++| GOTO 9999 02756 M01S02387.panel +++|290 CALL ERROR('Real constant format') 02757 M01S02388.panel +++| SREALV = 0.0 02758 M01S02389.panel +++| GOTO 9999 02759 M01S02390.panel +++|C 02760 M01S02391.panel +++|C STRING 02761 M01S02392.panel +++|C 02762 M01S02393.panel +++|300 CONTINUE
Line S02394 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02763 M02S02394.v23l617 ---| IF (SJ.GE.133) THEN 02764 M01S00050.v23l617 +++| IF (SJ.GT.MCOL) THEN 02765 M01S02395.panel +++| CALL ERROR('Unterminated string') 02766 M01S02396.panel +++| RETURN 02767 M01S02397.panel +++| ENDIF 02768 M01S02398.panel +++| IF (IMAG(SJ,1).EQ.ZAP) THEN 02769 M01S02399.panel +++| SJ = SJ + 1
Line S02400 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 02770 M02S02400.v23l617 ---| IF (SJ.GE.133) GOTO 300 02771 M01S00051.v23l617 +++| IF (SJ.GT.MCOL) GOTO 300 02772 M01S02401.panel +++| IF (IMAG(SJ,1).EQ.ZAP) THEN 02773 M01S02402.panel +++| SL = SL + 1 02774 M01S02403.panel +++| STRG(SL) = IMAG(SJ,1) 02775 M01S02404.panel +++| SJ = SJ + 1 02776 M01S02405.panel +++| GOTO 300 02777 M01S02406.panel +++| ENDIF 02778 M01S02407.panel +++| ELSE 02779 M01S02408.panel +++| SL = SL + 1 02780 M01S02409.panel +++| STRG(SL) = IMAG(SJ,1) 02781 M01S02410.panel +++| SJ = SJ + 1 02782 M01S02411.panel +++| GOTO 300 02783 M01S02412.panel +++| ENDIF 02784 M01S02413.panel +++| SYMTP = 'S' 02785 M01S02414.panel +++|9999 CONTINUE 02786 M01S02415.panel +++| IF (SYMTP.EQ.'P') THEN 02787 M01S02416.panel +++|C PRINT 55, SYMTP, IMAG(SI,1) 02788 M01S02417.panel +++|55 FORMAT('SCANSYM ',A,' ', O3) 02789 M01S02418.panel +++| ELSE 02790 M01S02419.panel +++|C PRINT 56, SYMTP, SL, STRGD(1:SL) 02791 M01S02420.panel +++|56 FORMAT('SCANSYM ',A,' ',I3,' ',A) 02792 M01S02421.panel +++| ENDIF 02793 M01S02422.panel +++| END 02794 M01S02423.panel +++|C------------------------------------------------------------------- 02795 M01S02424.panel +++|C* SCANTAB - SCAN TABLE DEFINITION 02796 M01S02425.panel +++|C 02797 M01S02426.panel +++| SUBROUTINE SCANTAB 02798 M01S02427.panel +++|*CALL COMFPAN 02799 M01S02428.panel +++| LOGICAL HAVNAME, HAVDIM 02800 M01S02429.panel +++| HAVNAME = .FALSE. 02801 M01S02430.panel +++| HAVDIM = .FALSE. 02802 M01S02431.panel +++| N = 0 02803 M01S02432.panel +++|1 CONTINUE 02804 M01S02433.panel +++| CALL SCANSYM 02805 M01S02434.panel +++| IF (FATAL) RETURN 02806 M01S02435.panel +++| IF (ZEQNEXT()) THEN 02807 M01S02436.panel +++| IF (UPSYMEQ('NAME').OR.UPSYMEQ('N')) THEN 02808 M01S02437.panel +++| I = 1 02809 M01S02438.panel +++| ELSE IF (UPSYMEQ('ROWS').OR.UPSYMEQ('R')) THEN 02810 M01S02439.panel +++| I = 2 02811 M01S02440.panel +++| ELSE 02812 M01S02441.panel +++| CALL EXPECT('NAME= or ROWS=','TABLE') 02813 M01S02442.panel +++| RETURN 02814 M01S02443.panel +++| ENDIF 02815 M01S02444.panel +++| CALL SKIPTWO 02816 M01S02445.panel +++| IF (FATAL) RETURN 02817 M01S02446.panel +++| N = 2 02818 M01S02447.panel +++| GOTO (100,200), I 02819 M01S02448.panel +++| ELSE 02820 M01S02449.panel +++| N = N + 1 02821 M01S02450.panel +++| GOTO (100,200), N 02822 M01S02451.panel +++| IF (.NOT.HAVNAME) THEN 02823 M01S02452.panel +++| CALL ERROR('TABLE name required') 02824 M01S02453.panel +++| RETURN 02825 M01S02454.panel +++| ENDIF 02826 M01S02455.panel +++| IF (.NOT.HAVDIM) THEN 02827 M01S02456.panel +++| CALL ERROR('TABLE dimension '// 02828 M01S02457.panel +++| A 'required') 02829 M01S02458.panel +++| RETURN 02830 M01S02459.panel +++| ENDIF 02831 M01S02460.panel +++| CALL CHEKHED(I) 02832 M01S02461.panel +++| IF (I.EQ.0) THEN 02833 M01S02462.panel +++| CALL ERROR('TABLE parameter') 02834 M01S02463.panel +++| ENDIF 02835 M01S02464.panel +++| RETURN 02836 M01S02465.panel +++| ENDIF 02837 M01S02466.panel +++|C 02838 M01S02467.panel +++|C NAME 02839 M01S02468.panel +++|C 02840 M01S02469.panel +++|100 CONTINUE 02841 M01S02470.panel +++| IF (SYMTP.NE.'I') THEN 02842 M01S02471.panel +++| CALL EXPECT('TABLE name',' ') 02843 M01S02472.panel +++| RETURN 02844 M01S02473.panel +++| ENDIF 02845 M01S02474.panel +++| HAVNAME = .TRUE. 02846 M01S02475.panel +++| TABNM(NTAB) = STRGD(1:MIN(7,SL)) 02847 M01S02476.panel +++| GOTO 1 02848 M01S02477.panel +++|C 02849 M01S02478.panel +++|C ROWS 02850 M01S02479.panel +++|C 02851 M01S02480.panel +++|200 CONTINUE 02852 M01S02481.panel +++| IF (.NOT.SYMTP.EQ.'N') THEN 02853 M01S02482.panel +++| CALL EXPECT('Table dimension',' ') 02854 M01S02483.panel +++| RETURN 02855 M01S02484.panel +++| ENDIF 02856 M01S02485.panel +++| TABD(NTAB) = SINT 02857 M01S02486.panel +++| HAVDIM = .TRUE. 02858 M01S02487.panel +++| GOTO 1 02859 M01S02488.panel +++| END 02860 M01S02489.panel +++|C------------------------------------------------------------------- 02861 M01S02490.panel +++|C* SCANVAR - GET VARIABLE DEFINITION 02862 M01S02491.panel +++|C 02863 M01S02492.panel +++| SUBROUTINE SCANVAR 02864 M01S02493.panel +++|*CALL COMFPAN 02865 M01S02494.panel +++| LOGICAL HAVENAM 02866 M01S00052.v23l617 +++| LOGICAL LOOP 02867 M01S02495.panel +++| HAVENAM = .FALSE. 02868 M01S02496.panel +++| NPARM = 0 02869 M01S02497.panel +++|1 CONTINUE 02870 M01S02498.panel +++| CALL SCANSYM 02871 M01S02499.panel +++| IF (FATAL) RETURN 02872 M01S02500.panel +++|2 CONTINUE 02873 M01S02501.panel +++| CALL SCANVKS(I) 02874 M01S02502.panel +++| IF (FATAL) RETURN 02875 M01S02503.panel +++| IF (I.EQ.0) THEN 02876 M01S02504.panel +++| CALL CHEKHED(J) 02877 M01S02505.panel +++| IF (FATAL) RETURN 02878 M01S02506.panel +++| IF (J.NE.0) THEN 02879 M01S02507.panel +++| IF (.NOT.HAVENAM) THEN 02880 M01S02508.panel +++| CALL ERROR('VAR name not specified') 02881 M01S02509.panel +++| RETURN 02882 M01S02510.panel +++| ENDIF 02883 M01S02511.panel +++| IF ((VART(NVAR).EQ.VTN.OR.VART(NVAR).EQ.VTR).AND. 02884 M01S02512.panel +++| A (VARP(NVAR).LT.VP9)) THEN 02885 M01S02513.panel +++| CALL ERROR('TYPE/FORMAT mismatch in '// 02886 M01S02514.panel +++| A 'preceding VAR') 02887 M01S02515.panel +++| RETURN 02888 M01S02516.panel +++| ENDIF 02889 M01S02517.panel +++| IF (VARP(NVAR).EQ.0) VARP(NVAR) = VPX 02890 M01S02518.panel +++| RETURN 02891 M01S02519.panel +++| ENDIF 02892 M01S02520.panel +++| NPARM = NPARM + 1 02893 M01S02521.panel +++| GOTO (100,200,300,400,500,600, 02894 M01S02522.panel +++| A 700,800,900,1000,1100), NPARM 02895 M01S02523.panel +++| CALL ERROR('Too many VAR parameters') 02896 M01S02524.panel +++| RETURN 02897 M01S02525.panel +++| ELSE 02898 M01S02526.panel +++| NPARM = 11 02899 M01S02527.panel +++| GOTO (100,200,300,400,500,600, 02900 M01S02528.panel +++| A 700,800,900,1000,1100), I 02901 M01S02529.panel +++| CALL ERR('INTERNAL ERROR: VAR KEYWORD') 02902 M01S02530.panel +++| RETURN 02903 M01S02531.panel +++| ENDIF 02904 M01S02532.panel +++|C 02905 M01S02533.panel +++|C NAME 02906 M01S02534.panel +++|C 02907 M01S02535.panel +++|100 CONTINUE 02908 M01S02536.panel +++| IF (HAVENAM) THEN 02909 M01S02537.panel +++| CALL ERROR('Two VAR names') 02910 M01S02538.panel +++| RETURN 02911 M01S02539.panel +++| ENDIF 02912 M01S02540.panel +++| IF (SYMTP.NE.'I') THEN 02913 M01S02541.panel +++| CALL EXPECT('var name','VAR') 02914 M01S02542.panel +++| RETURN 02915 M01S02543.panel +++| ELSE 02916 M01S02544.panel +++| CALL SETVARN 02917 M01S02545.panel +++| IF (FATAL) RETURN 02918 M01S02546.panel +++| ENDIF 02919 M01S02547.panel +++| HAVENAM = .TRUE. 02920 M01S02548.panel +++| GOTO 1 02921 M01S02549.panel +++|C 02922 M01S02550.panel +++|C TYPE 02923 M01S02551.panel +++|C 02924 M01S02552.panel +++|200 CONTINUE 02925 M01S02553.panel +++| IF (UPSYMEQ('CHAR')) THEN 02926 M01S02554.panel +++| VART(NVAR) = VTC 02927 M01S02555.panel +++| IF (VARP(NVAR).EQ.0) VARP(NVAR) = VPX 02928 M01S02556.panel +++| ELSEIF (UPSYMEQ('INT')) THEN 02929 M01S02557.panel +++| VART(NVAR) = VTN 02930 M01S02558.panel +++| IF (VARP(NVAR).EQ.0) VARP(NVAR) = VPN 02931 M01S02559.panel +++| ELSEIF (UPSYMEQ('REAL')) THEN 02932 M01S02560.panel +++| VART(NVAR) = VTR 02933 M01S02561.panel +++| IF (VARP(NVAR).EQ.0) VARP(NVAR) = VPE 02934 M01S02562.panel +++| ELSE 02935 M01S02563.panel +++| CALL EXPECT('CHAR, INT, or REAL','TYPE') 02936 M01S02564.panel +++| RETURN 02937 M01S02565.panel +++| ENDIF 02938 M01S02566.panel +++| GOTO 1 02939 M01S02567.panel +++|C 02940 M01S02568.panel +++|C VALUE 02941 M01S02569.panel +++|C 02942 M01S02570.panel +++|300 CONTINUE 02943 M01S02571.panel +++| CALL SETVARD 02944 M01S02572.panel +++| IF (FATAL) RETURN 02945 M01S02573.panel +++| GOTO 1 02946 M01S02574.panel +++|C 02947 M01S02575.panel +++|C FORMAT 02948 M01S02576.panel +++|C 02949 M01S02577.panel +++|400 CONTINUE 02950 M01S02578.panel +++| CALL CHEKPIC(I) 02951 M01S02579.panel +++| IF (I.EQ.0) THEN
Line S02580 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 02952 M02S02580.243l647 ---| CALL EXPECT('X, A, 9, N, E, or $','FORMAT') 02953 M01S00090.243l647 +++| CALL EXPECT('X, A, 9, N, E, $, YMD, MDY, or DMY','FORMAT') 02954 M01S02581.panel +++| RETURN 02955 M01S02582.panel +++| ENDIF 02956 M01S02583.panel +++| VARP(NVAR) = I 02957 M01S02584.panel +++| GOTO 1 02958 M01S02585.panel +++|C 02959 M01S02586.panel +++|C MATCH 02960 M01S02587.panel +++|C 02961 M01S02588.panel +++|500 CONTINUE 02962 M01S02589.panel +++| CALL SCANCAS 02963 M01S02590.panel +++| IF (FATAL) RETURN 02964 M01S02591.panel +++| GOTO 1 02965 M01S02592.panel +++|C 02966 M01S02593.panel +++|C LOGICAL 02967 M01S02594.panel +++|C 02968 M01S02595.panel +++|800 CONTINUE 02969 M01S00014.ns2315 +++| 02970 M01S00015.ns2315 +++|* RESET DEFAULT LOGICAL ATTRIBUTES FLAG. 02971 M01S00016.ns2315 +++| 02972 M01S00017.ns2315 +++| DEFLOGA = .FALSE. 02973 M01S02596.panel +++| CALL SCANVAT(1) 02974 M01S02597.panel +++| IF (FATAL) RETURN 02975 M01S02598.panel +++| GOTO 1 02976 M01S02599.panel +++|C 02977 M01S02600.panel +++|C PHYSICAL 02978 M01S02601.panel +++|C 02979 M01S02602.panel +++|700 CONTINUE 02980 M01S02603.panel +++| CALL SCANVAT(0) 02981 M01S02604.panel +++| IF (FATAL) RETURN 02982 M01S02605.panel +++| GOTO 1 02983 M01S02606.panel +++|C 02984 M01S02607.panel +++|C RANGE 02985 M01S02608.panel +++|C 02986 M01S02609.panel +++|600 CALL SCANRNG 02987 M01S02610.panel +++| IF (FATAL) RETURN 02988 M01S02611.panel +++| GOTO 1 02989 M01S02612.panel +++|C 02990 M01S02613.panel +++|C ENTRY 02991 M01S02614.panel +++|C 02992 M01S02615.panel +++|900 CONTINUE 02993 M01S02616.panel +++| CALL SCANMUS 02994 M01S02617.panel +++| IF (FATAL) RETURN 02995 M01S02618.panel +++| GOTO 1 02996 M01S02619.panel +++|C 02997 M01S02620.panel +++|C IO 02998 M01S02621.panel +++|C 02999 M01S02622.panel +++|1000 CONTINUE
Line S02623 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03000 M02S02623.v23l617 ---| CALL NEWVAT
Line S02624 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03001 M02S02624.v23l617 ---| IF (FATAL) RETURN
Line S02625 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03002 M02S02625.v23l617 ---| IF (UPSYMEQ('IN')) THEN
Line S02626 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03003 M02S02626.v23l617 ---| VAIO(NVAR) = 1
Line S02627 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03004 M02S02627.v23l617 ---| ELSEIF (UPSYMEQ('OUT')) THEN
Line S02628 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03005 M02S02628.v23l617 ---| VAIO(NVAR) = 2
Line S02629 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03006 M02S02629.v23l617 ---| ELSE
Line S02630 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03007 M02S02630.v23l617 ---| CALL EXPECT('IN or OUT','IO=')
Line S02631 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03008 M02S02631.v23l617 ---| RETURN
Line S02632 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03009 M02S02632.v23l617 ---| ENDIF 03010 M01S00053.v23l617 +++| IO = 0 03011 M01S00054.v23l617 +++| IF (.NOT.SYMEQ('(')) THEN 03012 M01S00055.v23l617 +++| LOOP = .FALSE. 03013 M01S00056.v23l617 +++| GOTO 1002 03014 M01S00057.v23l617 +++| ELSE 03015 M01S00058.v23l617 +++| LOOP = .TRUE. 03016 M01S00059.v23l617 +++| ENDIF 03017 M01S00060.v23l617 +++|1001 CONTINUE 03018 M01S00061.v23l617 +++| CALL SCANSYM 03019 M01S00062.v23l617 +++| IF (FATAL) RETURN 03020 M01S00063.v23l617 +++| IF (SYMEQ(')')) GOTO 1003 03021 M01S00064.v23l617 +++|1002 CONTINUE 03022 M01S00065.v23l617 +++| IF (UPSYMEQ('IN')) THEN 03023 M01S00066.v23l617 +++| IO = IO.OR.1 03024 M01S00067.v23l617 +++| ELSEIF (UPSYMEQ('OUT')) THEN 03025 M01S00068.v23l617 +++| IO = IO.OR.2 03026 M01S00069.v23l617 +++| ELSE 03027 M01S00070.v23l617 +++| CALL EXPECT('IN or OUT','IO=') 03028 M01S00071.v23l617 +++| RETURN 03029 M01S00072.v23l617 +++| ENDIF 03030 M01S00073.v23l617 +++| IF (LOOP) GOTO 1001 03031 M01S00074.v23l617 +++|1003 CONTINUE 03032 M01S00075.v23l617 +++| IF (IO.EQ.3.OR.IO.EQ.0) GOTO 1 03033 M01S00076.v23l617 +++| CALL NEWVAT 03034 M01S00077.v23l617 +++| IF (FATAL) RETURN 03035 M01S00078.v23l617 +++| VAIO(NVAR) = IO 03036 M01S02633.panel +++| ATIO(NATR) = VAIO(NVAR) 03037 M01S02634.panel +++| GOTO 1 03038 M01S02635.panel +++|C 03039 M01S02636.panel +++|C HELP 03040 M01S02637.panel +++|C 03041 M01S02638.panel +++|1100 CONTINUE 03042 M01S02639.panel +++| IF (SYMTP.NE.'S') THEN 03043 M01S02640.panel +++| CALL EXPECT('string','HELP') 03044 M01S02641.panel +++| RETURN 03045 M01S02642.panel +++| ENDIF 03046 M01S02643.panel +++| SAVV = NVAL + 1
Line S02644 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03047 M02S02644.v23l617 ---| SL = MIN(80,SL) 03048 M01S00079.v23l617 +++| SL = MIN(159,SL) 03049 M01S02645.panel +++| CALL COPYSYM 03050 M01S02646.panel +++| IF (FATAL) RETURN 03051 M01S02647.panel +++| VARH(NVAR) = SAVV 03052 M01S02648.panel +++| MSGL = MAX(MSGL,SL) 03053 M01S02649.panel +++| MSGX = MIN(39,80-MSGL) 03054 M01S02650.panel +++| GOTO 1 03055 M01S02651.panel +++| END 03056 M01S02652.panel +++|C------------------------------------------------------------------- 03057 M01S02653.panel +++|C* SCANVAT - SCAN VAR ATTRIBUTE 03058 M01S02654.panel +++|C 03059 M01S02655.panel +++|C ENTRY LOG=1 IF LOGICAL ATTRIBUTES, 0 IF PHYSICAL 03060 M01S02656.panel +++|C 03061 M01S02657.panel +++| SUBROUTINE SCANVAT(LOG) 03062 M01S02658.panel +++|*CALL COMFPAN 03063 M01S02659.panel +++| INTEGER LOG 03064 M01S02660.panel +++| CALL NEWVAT 03065 M01S02661.panel +++| IF (FATAL) RETURN 03066 M01S02662.panel +++| CALL SCANLPA(LOG) 03067 M01S02663.panel +++| END 03068 M01S02664.panel +++|C------------------------------------------------------------------- 03069 M01S02665.panel +++|C* SCANVIO - SCAN VAR IN OR OUT 03070 M01S02666.panel +++|C 03071 M01S02667.panel +++|C ENTRY IO = 1=IN ONLY, 2=OUT ONLY 03072 M01S02668.panel +++|C 03073 M01S02669.panel +++| SUBROUTINE SCANVIO(IO) 03074 M01S02670.panel +++|*CALL COMFPAN 03075 M01S02671.panel +++| INTEGER IO 03076 M01S02672.panel +++| CALL SCANSYM 03077 M01S02673.panel +++| IF (FATAL) RETURN 03078 M01S02674.panel +++| IF (UPSYMEQ('ONLY')) THEN 03079 M01S02675.panel +++| CALL SCANSYM 03080 M01S02676.panel +++| IF (FATAL) RETURN 03081 M01S02677.panel +++| ENDIF 03082 M01S02678.panel +++| END 03083 M01S02679.panel +++|C------------------------------------------------------------------- 03084 M01S02680.panel +++|C* SCANVKS - SCAN VAR KEYWORDS 03085 M01S02681.panel +++|C 03086 M01S02682.panel +++|C EXIT I=KEYWORD ORDINAL OR 0 IF NOT 03087 M01S02683.panel +++|C CURRENT SYM ADVANCED PAST KEYWORD= IF I.NE.0 03088 M01S02684.panel +++|C 03089 M01S02685.panel +++| SUBROUTINE SCANVKS(I) 03090 M01S02686.panel +++|*CALL COMFPAN 03091 M01S02687.panel +++| INTEGER I 03092 M01S02688.panel +++| I = 0 03093 M01S02689.panel +++| IF (.NOT.ZEQNEXT()) RETURN 03094 M01S02690.panel +++| IF (UPSYMEQ('NAME').OR.UPSYMEQ('N')) THEN 03095 M01S02691.panel +++| I = 1 03096 M01S02692.panel +++| ELSEIF (UPSYMEQ('TYPE').OR.UPSYMEQ('T')) THEN 03097 M01S02693.panel +++| I = 2 03098 M01S02694.panel +++| ELSEIF (UPSYMEQ('VALUE').OR.UPSYMEQ('V')) THEN 03099 M01S02695.panel +++| I = 3 03100 M01S02696.panel +++| ELSEIF (UPSYMEQ('FORMAT').OR.UPSYMEQ('F')) THEN 03101 M01S02697.panel +++| I = 4 03102 M01S02698.panel +++| ELSEIF (UPSYMEQ('MATCH').OR.UPSYMEQ('M')) THEN 03103 M01S02699.panel +++| I = 5 03104 M01S02700.panel +++| ELSEIF (UPSYMEQ('RANGE').OR.UPSYMEQ('R')) THEN 03105 M01S02701.panel +++| I = 6 03106 M01S02702.panel +++| ELSEIF (UPSYMEQ('PHYSICAL').OR.UPSYMEQ('P')) THEN 03107 M01S02703.panel +++| I = 7 03108 M01S02704.panel +++| ELSEIF (UPSYMEQ('LOGICAL').OR.UPSYMEQ('L')) THEN 03109 M01S02705.panel +++| I = 8 03110 M01S02706.panel +++| ELSEIF (UPSYMEQ('ENTRY').OR.UPSYMEQ('E')) THEN 03111 M01S02707.panel +++| I = 9 03112 M01S02708.panel +++| ELSEIF (UPSYMEQ('IO').OR.UPSYMEQ('I')) THEN 03113 M01S02709.panel +++| I = 10 03114 M01S02710.panel +++| ELSEIF (UPSYMEQ('HELP').OR.UPSYMEQ('H')) THEN 03115 M01S02711.panel +++| I = 11 03116 M01S02712.panel +++| ENDIF 03117 M01S02713.panel +++| IF (I.EQ.0) THEN 03118 M01S02714.panel +++| CALL ERROR('Unknown keyword') 03119 M01S02715.panel +++| RETURN 03120 M01S02716.panel +++| ELSE 03121 M01S02717.panel +++| CALL SKIPTWO 03122 M01S02718.panel +++| ENDIF 03123 M01S02719.panel +++| END 03124 M01S02720.panel +++|C------------------------------------------------------------------- 03125 M01S02721.panel +++|C SETATR - SET ATTRIBUTE 03126 M01S02722.panel +++|C 03127 M01S02723.panel +++|C ENTRY LP = 1=LOGICAL, 0=PHYSICAL
Line S02724 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2315 |
Seq # *Modification Id* Act ----------------------------+ 03128 M02S02724.ns2315 ---|C I = 1,2,... PARALLEL USE IN CHEKATR 03129 M01S00018.ns2315 +++|C I = 0,1,2,... PARALLEL USE IN CHEKATR 03130 M01S02725.panel +++|C 03131 M01S02726.panel +++| SUBROUTINE SETATR(LP,I) 03132 M01S02727.panel +++|*CALL COMFPAN 03133 M01S02728.panel +++| INTEGER LP, I 03134 M01S02729.panel +++|C PRINT 56, LP, I 03135 M01S02730.panel +++|56 FORMAT('SETATR, LP=',I1,' I=',I2) 03136 M01S02731.panel +++| ATRLP(NATR) = CHAR(LP + ICHAR('0')) 03137 M01S00019.ns2315 +++| IF (I .EQ. 0) THEN 03138 M01S00020.ns2315 +++| ATTP(NATR) = I 03139 M01S00021.ns2315 +++| RETURN 03140 M01S00022.ns2315 +++| ENDIF 03141 M01S02732.panel +++| GOTO (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17), I 03142 M01S02733.panel +++| RETURN 03143 M01S02734.panel +++|1 CONTINUE 03144 M01S02735.panel +++|2 CONTINUE 03145 M01S02736.panel +++|3 CONTINUE 03146 M01S02737.panel +++|4 CONTINUE 03147 M01S02738.panel +++|5 CONTINUE 03148 M01S02739.panel +++| ATTP(NATR) = I 03149 M01S02740.panel +++| RETURN
Line S02741 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03150 M02S02741.243l647 ---|6 ATRBL(NATR) = '1'
Line S02742 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03151 M02S02742.243l647 ---| RETURN
Line S02743 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03152 M02S02743.243l647 ---|7 ATRIV(NATR) = '1'
Line S02744 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03153 M02S02744.243l647 ---| RETURN
Line S02745 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03154 M02S02745.243l647 ---|8 ATRUL(NATR) = '1'
Line S02746 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03155 M02S02746.243l647 ---| RETURN
Line S02747 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03156 M02S02747.243l647 ---|9 ATRAI(NATR) = '1'
Line S02748 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03157 M02S02748.243l647 ---| RETURN
Line S02749 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03158 M02S02749.243l647 ---|10 CONTINUE
Line S02750 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03159 M02S02750.243l647 ---|11 CONTINUE 03160 M01S00091.243l647 +++|6 IF (LP.EQ.0) THEN 03161 M01S00092.243l647 +++| ATRBL(NATR) = '1' 03162 M01S00093.243l647 +++| ELSE 03163 M01S00094.243l647 +++| ATTP(NATR) = I 03164 M01S00095.243l647 +++| ENDIF 03165 M01S00096.243l647 +++| RETURN 03166 M01S00097.243l647 +++|7 IF (LP.EQ.0) THEN 03167 M01S00098.243l647 +++| ATRIV(NATR) = '1' 03168 M01S00099.243l647 +++| ELSE 03169 M01S00100.243l647 +++| ATTP(NATR) = I 03170 M01S00101.243l647 +++| ENDIF 03171 M01S00102.243l647 +++| RETURN 03172 M01S00103.243l647 +++|8 IF (LP.EQ.0) THEN 03173 M01S00104.243l647 +++| ATRUL(NATR) = '1' 03174 M01S00105.243l647 +++| ELSE 03175 M01S00106.243l647 +++| ATTP(NATR) = I 03176 M01S00107.243l647 +++| ENDIF 03177 M01S00108.243l647 +++| RETURN 03178 M01S00109.243l647 +++|9 IF (LP.EQ.0) THEN 03179 M01S00110.243l647 +++| ATRAI(NATR) = '1' 03180 M01S00111.243l647 +++| ELSE 03181 M01S00112.243l647 +++| ATTP(NATR) = I 03182 M01S00113.243l647 +++| ENDIF 03183 M01S00114.243l647 +++| RETURN 03184 M01S00115.243l647 +++|10 CONTINUE 03185 M01S00116.243l647 +++|11 CONTINUE 03186 M01S00117.243l647 +++| ATTP(NATR) = I 03187 M01S00118.243l647 +++| RETURN 03188 M01S02751.panel +++|12 CONTINUE 03189 M01S02752.panel +++|13 CONTINUE 03190 M01S02753.panel +++|14 CONTINUE 03191 M01S02754.panel +++|15 CONTINUE 03192 M01S02755.panel +++|16 CONTINUE 03193 M01S02756.panel +++|17 CONTINUE
Line S02757 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03194 M02S02757.243l647 ---| ATFC(NATR) = I - 10 03195 M01S02758.panel +++| RETURN 03196 M01S02759.panel +++| END 03197 M01S02760.panel +++|C------------------------------------------------------------------- 03198 M01S02761.panel +++|C* SETVARD - SET VARIABLE DEFAULT VALUE 03199 M01S02762.panel +++|C 03200 M01S02763.panel +++| SUBROUTINE SETVARD 03201 M01S02764.panel +++|*CALL COMFPAN 03202 M01S02765.panel +++| INTEGER SAVV 03203 M01S02766.panel +++| IF ((SYMTP.EQ.'S'.AND.VART(NVAR).EQ.VTC).OR. 03204 M01S02767.panel +++| A (SYMTP.EQ.'N'.AND.VART(NVAR).EQ.VTN).OR. 03205 M01S02768.panel +++| B (SYMTP.EQ.'R'.AND.VART(NVAR).EQ.VTR)) THEN 03206 M01S02769.panel +++| IF (SYMTP.EQ.'I') THEN 03207 M01S02770.panel +++| CALL EXPECT('constant','=') 03208 M01S02771.panel +++| RETURN 03209 M01S02772.panel +++| ENDIF 03210 M01S02773.panel +++| SAVV = NVAL + 1 03211 M01S02774.panel +++| CALL COPYSYM 03212 M01S02775.panel +++| IF (FATAL) RETURN 03213 M01S02776.panel +++| VARD(NVAR) = SAVV 03214 M01S02777.panel +++| ELSE 03215 M01S02778.panel +++| CALL ERROR('Value type mismatch') 03216 M01S02779.panel +++| ENDIF 03217 M01S02780.panel +++| END 03218 M01S02781.panel +++|C------------------------------------------------------------------- 03219 M01S02782.panel +++|C* SETVARN - SET VAR NAME IN ARRAY 03220 M01S02783.panel +++|C 03221 M01S02784.panel +++| SUBROUTINE SETVARN 03222 M01S02785.panel +++|*CALL COMFPAN 03223 M01S02786.panel +++| CHARACTER*7 NAME 03224 M01S02787.panel +++| CHARACTER*40 ES 03225 M01S02788.panel +++| CALL NEWVAR 03226 M01S02789.panel +++| IF (FATAL) RETURN 03227 M01S02790.panel +++| NAME = STRGD(1:MIN(SL,7)) 03228 M01S02791.panel +++| VARNM(NVAR) = NAME 03229 M01S02792.panel +++| I = 1 03230 M01S02793.panel +++|1 IF (VARNM(I).NE.NAME) THEN 03231 M01S02794.panel +++| I = I + 1 03232 M01S02795.panel +++| GOTO 1 03233 M01S02796.panel +++| ENDIF 03234 M01S02797.panel +++| IF (I.NE.NVAR) THEN 03235 M01S02798.panel +++| CALL ERROR('VAR declared twice') 03236 M01S02799.panel +++| NVAR = NVAR - 1 03237 M01S02800.panel +++| ENDIF 03238 M01S02801.panel +++| END 03239 M01S02802.panel +++|C------------------------------------------------------------------- 03240 M01S02803.panel +++|C* SKIPHED - SKIP TO HEAD 03241 M01S02804.panel +++|C 03242 M01S02805.panel +++| SUBROUTINE SKIPHED 03243 M01S02806.panel +++|*CALL COMFPAN 03244 M01S02807.panel +++|1 CONTINUE 03245 M01S02808.panel +++| CALL CHEKHED(I) 03246 M01S02809.panel +++| IF (I.NE.0) RETURN 03247 M01S02810.panel +++| CALL SCANSYM 03248 M01S02811.panel +++| GOTO 1 03249 M01S02812.panel +++| END 03250 M01S02813.panel +++|C------------------------------------------------------------------- 03251 M01S02814.panel +++|C* SKIPTWO - SKIP TWO SYMBOLS 03252 M01S02815.panel +++|C 03253 M01S02816.panel +++| SUBROUTINE SKIPTWO 03254 M01S02817.panel +++|*CALL COMFPAN 03255 M01S02818.panel +++| CALL SCANSYM 03256 M01S02819.panel +++| IF (FATAL) RETURN 03257 M01S02820.panel +++| CALL SCANSYM 03258 M01S02821.panel +++| END 03259 M01S02822.panel +++|C------------------------------------------------------------------- 03260 M01S02823.panel +++|C* SLEN - STRING LENGTH (INTEGER) 03261 M01S02824.panel +++|C 03262 M01S02825.panel +++| FUNCTION SLEN(S,L) 03263 M01S02826.panel +++|*CALL COMFPAN 03264 M01S02827.panel +++| INTEGER L 03265 M01S02828.panel +++| CHARACTER*(*) S 03266 M01S02829.panel +++| CHARACTER*1 C 03267 M01S02830.panel +++| I = 1 03268 M01S02831.panel +++| J = 0 03269 M01S02832.panel +++|1 CONTINUE 03270 M01S02833.panel +++| C = S(I:I) 03271 M01S02834.panel +++| IF (C.EQ.';.OR.C.EQ.';) THEN 03272 M01S02835.panel +++| I = I + 1 03273 M01S02836.panel +++| ENDIF 03274 M01S02837.panel +++| J = J + 1 03275 M01S02838.panel +++| I = I + 1 03276 M01S02839.panel +++| IF (I.LE.L) GOTO 1 03277 M01S02840.panel +++| SLEN = J 03278 M01S02841.panel +++| END 03279 M01S02842.panel +++|C------------------------------------------------------------------- 03280 M01S02843.panel +++|C* SPP - SCAN PROGRAM PARAMETERS 03281 M01S02844.panel +++|C 03282 M01S02845.panel +++| SUBROUTINE SPP 03283 M01S02846.panel +++|*CALL COMFPAN
Line S02847 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03284 M02S02847.243l647 ---| CHARACTER*7 KEYWORD, VALUE
Line S02848 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03285 M02S02848.243l647 ---| CHARACTER*7 PANEL, LIST, COMPASS
Line S02849 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03286 M02S02849.243l647 ---| PANEL = 'PANEL'
Line S02850 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03287 M02S02850.243l647 ---| LIST = 'OUTPUT'
Line S02851 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03288 M02S02851.243l647 ---| COMPASS = 'COMPILE' 03289 M01S00119.243l647 +++|* GETPARM KEYWORD PARAMETER 03290 M01S00120.243l647 +++| CHARACTER*7 KEYWORD 03291 M01S00121.243l647 +++|* GETPARM RETURN VALUE 03292 M01S00122.243l647 +++| CHARACTER*7 VALUE 03293 M01S00123.243l647 +++|* FILE NAME OF PANEL 03294 M01S00124.243l647 +++| CHARACTER*7 PANEL 03295 M01S00125.243l647 +++|* LIST FILE NAME 03296 M01S00126.243l647 +++| CHARACTER*7 LIST 03297 M01S00127.243l647 +++|* CAPSULE SOURCE FILE NAME 03298 M01S00128.243l647 +++| CHARACTER*7 COMPASS 03299 M01S00129.243l647 +++|* NULL FILE FLAG 03300 M01S00130.243l647 +++| LOGICAL NULLFIL 03301 M01S00131.243l647 +++| DATA PANEL / 'PANEL' / 03302 M01S00132.243l647 +++| DATA LIST / 'OUTPUT' / 03303 M01S00133.243l647 +++| DATA COMPASS / 'COMPASS' / 03304 M01S00134.243l647 +++| DATA NULLFIL / .FALSE. / 03305 M01S00135.243l647 +++| 03306 M01S00136.243l647 +++|* GET PARAMETERS FROM EXECUTION STATEMENT. 03307 M01S00137.243l647 +++| 03308 M01S02852.panel +++|1 CALL GETPARM(KEYWORD,VALUE,I) 03309 M01S02853.panel +++| IF (I.EQ.-1) THEN 03310 M01S02854.panel +++| OPEN(1,ERR=10,FILE=PANEL,STATUS='OLD',RECL=266)
Line S02855 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03311 M02S02855.243l647 ---| OPEN(2,ERR=20,FILE=LIST,STATUS='UNKNOWN',RECL=266) 03312 M01S00138.243l647 +++| IF (.NOT.NULLFIL) THEN 03313 M01S00139.243l647 +++| OPEN(2,ERR=20,FILE=LIST,STATUS='UNKNOWN',RECL=266) 03314 M01S00140.243l647 +++| ELSE 03315 M01S00141.243l647 +++| OPEN(2,ERR=20,STATUS='SCRATCH',RECL=266) 03316 M01S00142.243l647 +++| ENDIF 03317 M01S02856.panel +++| OPEN(3,ERR=30,FILE=COMPASS,STATUS='UNKNOWN',RECL=80) 03318 M01S02857.panel +++| REWIND 1 03319 M01S02858.panel +++| PNAME = PANEL 03320 M01S02859.panel +++| REWIND 2 03321 M01S02860.panel +++| REWIND 3 03322 M01S02861.panel +++| RETURN 03323 M01S02862.panel +++|10 CALL QUITS('CAN''T OPEN FILE '//PANEL) 03324 M01S02863.panel +++|20 CALL QUITS('CAN''T OPEN FILE '//LIST) 03325 M01S02864.panel +++|30 CALL QUITS('CAN''T OPEN FILE '//COMPASS) 03326 M01S02865.panel +++| ENDIF 03327 M01S02866.panel +++| IF (KEYWORD.EQ.'I') THEN 03328 M01S02867.panel +++| IF (I.EQ.0) PANEL = VALUE 03329 M01S02868.panel +++| PNAME = PANEL 03330 M01S02869.panel +++| GOTO 1 03331 M01S02870.panel +++| ELSE IF (KEYWORD.EQ.'L') THEN
Line S02871 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 03332 M02S02871.243l647 ---| IF (I.EQ.0) LIST = VALUE 03333 M01S00143.243l647 +++| IF (I.EQ.0) THEN 03334 M01S00144.243l647 +++| IF (VALUE .EQ. '0') THEN 03335 M01S00145.243l647 +++| NULLFIL = .TRUE. 03336 M01S00146.243l647 +++| ELSE 03337 M01S00147.243l647 +++| LIST = VALUE 03338 M01S00148.243l647 +++| ENDIF 03339 M01S00149.243l647 +++| ENDIF 03340 M01S02872.panel +++| GOTO 1 03341 M01S02873.panel +++| ELSE IF (KEYWORD.EQ.'C') THEN 03342 M01S02874.panel +++| IF (I.EQ.0) COMPASS = VALUE 03343 M01S02875.panel +++| GOTO 1 03344 M01S02876.panel +++| ELSE 03345 M01S02877.panel +++| CALL QUITS('UNRECOGNIZED PARAMETER '//KEYWORD) 03346 M01S02878.panel +++| ENDIF 03347 M01S02879.panel +++| END 03348 M01S02880.panel +++|C------------------------------------------------------------------- 03349 M01S02881.panel +++|C* SYMEQ - SYMBOL EQUAL TO ARGUMENT 03350 M01S02882.panel +++|C 03351 M01S02883.panel +++|C ENTRY 03352 M01S02884.panel +++|C S = SINGLE DISPLAY CODE CHAR TO COMPARE TO SYMBOL 03353 M01S02885.panel +++|C 03354 M01S02886.panel +++| LOGICAL FUNCTION SYMEQ(S) 03355 M01S02887.panel +++|*CALL COMFPAN 03356 M01S02888.panel +++| CHARACTER*(1) S 03357 M01S02889.panel +++| SYMEQ = X612TA(ICHAR(S)).EQ.IMAG(SI,1).AND.SL.EQ.1 03358 M01S02890.panel +++| END 03359 M01S02891.panel +++|C------------------------------------------------------------------- 03360 M01S02892.panel +++|C* UPSYMEQ - .TRUE. IFF UPPER CASE OF CURRENT SYM .EQ. S 03361 M01S02893.panel +++|C 03362 M01S02894.panel +++| LOGICAL FUNCTION UPSYMEQ(S)
Line S02895 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | ns2473 |
Seq # *Modification Id* Act ----------------------------+ 03363 M02S02895.ns2473 ---|*CALL COMFPAN 03364 M01S00012.ns2473 +++|*CALL COMFPAN 03365 M01S02896.panel +++| CHARACTER*(*) S 03366 M01S02897.panel +++| J = 0 03367 M01S02898.panel +++| UPSYMEQ = .FALSE. 03368 M01S02899.panel +++| IF (SYMTP.EQ.'I'.AND.LEN(S).EQ.SL.AND.S.EQ.STRGD(1:SL)) 03369 M01S02900.panel +++| A UPSYMEQ = .TRUE. 03370 M01S02901.panel +++| END 03371 M01S02902.panel +++|C------------------------------------------------------------------- 03372 M01S02903.panel +++|C* VFDN - VFD NUMBER 03373 M01S02904.panel +++|C 03374 M01S02905.panel +++| SUBROUTINE VFDN(S,N) 03375 M01S02906.panel +++|*CALL COMFPAN 03376 M01S02907.panel +++| CHARACTER*(*) S 03377 M01S02908.panel +++| INTEGER N 03378 M01S02909.panel +++| IF (N.LT.0) THEN 03379 M01S02910.panel +++| WRITE(3,200) S, -N 03380 M01S02911.panel +++|200 FORMAT(T10,'VFD',T16,A,'-',I4.4) 03381 M01S02912.panel +++| ELSE 03382 M01S02913.panel +++| WRITE(3,100) S, N 03383 M01S02914.panel +++|100 FORMAT(T10,'VFD',T16,A, I4.4) 03384 M01S02915.panel +++| ENDIF 03385 M01S02916.panel +++| END 03386 M01S02917.panel +++|C------------------------------------------------------------------- 03387 M01S02918.panel +++|C* VFDIF - VFD IF B TRUE 03388 M01S02919.panel +++|C 03389 M01S02920.panel +++| SUBROUTINE VFDIF(S1,B,S2) 03390 M01S02921.panel +++|*CALL COMFPAN 03391 M01S02922.panel +++| CHARACTER*(*) S1,S2 03392 M01S02923.panel +++| CHARACTER*40 S 03393 M01S02924.panel +++| IF (B.NE.0) THEN 03394 M01S02925.panel +++| S = S1//S2 03395 M01S02926.panel +++| CALL VFD(S) 03396 M01S02927.panel +++| ELSE 03397 M01S02928.panel +++| S = S1//'0' 03398 M01S02929.panel +++| CALL VFD(S) 03399 M01S02930.panel +++| ENDIF 03400 M01S02931.panel +++| END 03401 M01S02932.panel +++|C------------------------------------------------------------------- 03402 M01S02933.panel +++|C* VFD - VFD STRING 03403 M01S02934.panel +++|C 03404 M01S02935.panel +++| SUBROUTINE VFD(S) 03405 M01S02936.panel +++|*CALL COMFPAN 03406 M01S02937.panel +++| CHARACTER*(*) S 03407 M01S02938.panel +++| WRITE(3,100) S 03408 M01S02939.panel +++|100 FORMAT(T10,'VFD',T16,A) 03409 M01S02940.panel +++| END 03410 M01S02941.panel +++|C------------------------------------------------------------------- 03411 M01S02942.panel +++|C* VFDO - VFD OCTAL WORD 03412 M01S02943.panel +++|C 03413 M01S02944.panel +++| SUBROUTINE VFDO(S,W) 03414 M01S02945.panel +++|*CALL COMFPAN 03415 M01S02946.panel +++| CHARACTER*(*) S 03416 M01S02947.panel +++| INTEGER W 03417 M01S02948.panel +++| WRITE(3,100) S, W 03418 M01S02949.panel +++|100 FORMAT(T10,'VFD',T16,A,O20,'B') 03419 M01S02950.panel +++| END 03420 M01S02951.panel +++|C------------------------------------------------------------------- 03421 M01S02952.panel +++|C* VFDO2 - VFD INTEGER AS OCTAL 2 03422 M01S02953.panel +++|C 03423 M01S02954.panel +++| SUBROUTINE VFDO2(S,I) 03424 M01S02955.panel +++|*CALL COMFPAN 03425 M01S02956.panel +++| CHARACTER*(*) S 03426 M01S02957.panel +++| INTEGER I 03427 M01S02958.panel +++| WRITE(3,100) S, I 03428 M01S02959.panel +++|100 FORMAT(T10,'VFD',T16,A,O2) 03429 M01S02960.panel +++| END 03430 M01S02961.panel +++|C------------------------------------------------------------------- 03431 M01S02962.panel +++|C* VFDB - VFD LOGICAL (1 0R 0) 03432 M01S02963.panel +++|C 03433 M01S02964.panel +++| SUBROUTINE VFDB(B) 03434 M01S02965.panel +++|*CALL COMFPAN 03435 M01S02966.panel +++| INTEGER B 03436 M01S02967.panel +++| IF (B.NE.0) THEN 03437 M01S02968.panel +++| CALL VFD('1/1') 03438 M01S02969.panel +++| ELSE 03439 M01S02970.panel +++| CALL VFD('1/0') 03440 M01S02971.panel +++| ENDIF 03441 M01S02972.panel +++| END 03442 M01S02973.panel +++|C* XLINE - XLATE LINE FROM 6/12 TO ASCII 03443 M01S02974.panel +++|C 03444 M01S02975.panel +++| SUBROUTINE XLINE(LNO) 03445 M01S02976.panel +++|*CALL COMFPAN 03446 M01S02977.panel +++| INTEGER LNO 03447 M01S02978.panel +++| N = 0
Line S02979 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03448 M02S02979.v23l617 ---| DO 200 I = 1,132 03449 M01S00080.v23l617 +++| DO 200 I = 1,MCOL 03450 M01S02980.panel +++| N = N + 1 03451 M01S02981.panel +++| J = 0 03452 M01S02982.panel +++| IF (LINE(N:N).EQ.';) THEN 03453 M01S02983.panel +++| J = Z"40" 03454 M01S02984.panel +++| N = N + 1 03455 M01S02985.panel +++| ELSEIF (LINE(N:N).EQ.';) THEN 03456 M01S02986.panel +++| J = Z"80" 03457 M01S02987.panel +++| N = N + 1 03458 M01S02988.panel +++| ENDIF 03459 M01S02989.panel +++| IMAG(I,LNO) = X612TA(J + ICHAR(LINE(N:N))) 03460 M01S02990.panel +++|200 CONTINUE
Line S02991 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03461 M02S02991.v23l617 ---| IMAG(133,LNO) = 0 03462 M01S00081.v23l617 +++| IMAG(MCOL+1,LNO) = 0 03463 M01S02992.panel +++| END 03464 M01S02993.panel +++|C------------------------------------------------------------------- 03465 M01S02994.panel +++|C* ZEQNEXT - TRUE IF = NEXT CHARACTER ON SAME LINE 03466 M01S02995.panel +++|C 03467 M01S02996.panel +++| LOGICAL FUNCTION ZEQNEXT() 03468 M01S02997.panel +++|*CALL COMFPAN 03469 M01S02998.panel +++| J = SJ 03470 M01S02999.panel +++|1 IF (IMAG(J,1).EQ.ZSP) THEN
Line S03000 Modification History | |
---|---|
M01 (Added by) | panel |
M02 (Updated by) | v23l617 |
Seq # *Modification Id* Act ----------------------------+ 03471 M02S03000.v23l617 ---| IF (J.LT.133) THEN 03472 M01S00082.v23l617 +++| IF (J.LE.MCOL) THEN 03473 M01S03001.panel +++| J = J + 1 03474 M01S03002.panel +++| GOTO 1 03475 M01S03003.panel +++| ENDIF 03476 M01S03004.panel +++| ENDIF 03477 M01S03005.panel +++| ZEQNEXT = IMAG(J,1).EQ.ZEQ 03478 M01S03006.panel +++| END
cdc/nos2.source/opl.opl871/deck/panel.001.txt ยท Last modified: by 127.0.0.1