Operating System - OpenVMS
1752661 Members
5634 Online
108788 Solutions
New Discussion юеВ

Re: Decforms compilation output - mismatch with the Decform source file line numbers.

 
SOLVED
Go to solution
Notilus007
Occasional Advisor

Re: Decforms compilation output - mismatch with the Decform source file line numbers.

I have read section C.3 in "HP DECforms Guide to Commands and Utilities" and it seems that only with LSE I can do the correlation between the compilation errors and the line number in the IFDL source file. How can I do it without using LSE ?
Hein van den Heuvel
Honored Contributor
Solution

Re: Decforms compilation output - mismatch with the Decform source file line numbers.

 

In this specific case, as Tom indicates, you should just SEARCH the source for "PA NEL" and fix that!

For the general case is is indeed tricky as DECforms counts the lines from FILE COPY to the listing.

COPY FROM DICTIONARY poses no problem.

 

I made a little example removing a few lines from a working IFDL, put it into a copy file (tmp.tmp) and broke a line further down just like the example

 

The LISTING makes clear how the COPY impacts the lines:

 

   658  COPY
   659     "tmp.tmp"
   660  END COPY
   661C /* RECORD LIST DEefinitions */
   662C
   663C     RECORD LIST res_cust_num
   664C         vr_control_wksp
   665C         vr_reservations_wksp
   666C         vr_customers_wksp
   667C     END LIST
   668C
   669C
   670
   671      RECORD LIST cust_res_list

 

 

See how the reported line number moved:

 

$ sea/num tmp.ifdl "pa nel"
  3707                      PA NEL confirm_panel
$ form tran tmp.ifdl

 3716                          PA NEL confirm_panel
%FORMS-E-SYNTAXERR, syntax error; an expected keyword, name or literal is missing or misspelled.
-FORMS-I-EXPECTED, one of the following was expected: ALL, WAIT, ICON, FIELD, GROUP, PANEL, BUTTON, CORRESPONDING.

 3716                          PA NEL confirm_panel
%FORMS-E-SYNTAXERR, syntax error; an expected keyword, name or literal is missing or misspelled.
-FORMS-I-ONEXPECTED, the following was expected: ON

 

 

TO map them back, you could use a script as I suggested.

I hacked one up in DCL. Crude...  Minimal parsing... but it works for me.

If you want to use it, then you need to verify the SYNTAX of your COPY / END COPY usage.

 

Enjoy!

HEin

 

 

$ @IFDL_COPY.COM tmp.ifdl 3716
538/538 Copy tmp.tmp
3716 lines.3707 Lines in IFDL, 1 Copy Files
$
$ type IFDL_COPY.COM
$ IF P2.EQS."" THEN EXIT 16
$ line = p2
$ IF F$TYPE(line).NES."INTEGER" THEN EXIT 16
$ CLOSE/NOLOG ifdl
$ OPEN/READ/ERROR=ooops ifdl 'P1
$ copy_file = 0
$ ifdl_line = 0
$ list_line = 0
$ quote = """"
$ space = " "
$main_loop:
$ read/end=done ifdl rec
$ ifdl_line = ifdl_line + 1
$ list_line = list_line + 1
$ if list_line.EQ.line THEN GOTO done
$ x = f$edit(rec,"TRIM,COMPRESS,UPCASE,UNCOMMENT")
$ IF x.NES."COPY" THEN GOTO main_loop
$ read/end=done ifdl rec
$ copy_file_name = f$edit(rec,"TRIM,COMPRESS,UPCASE,UNCOMMENT") - quote - quote
$ IF F$ELEM(1,space,copy_file_name).NES.space THEN GOTO main_loop
$ WRITE SYS$OUTPUT list_line, "/", ifdl_line, " Copy ", copy_file_name
$ CLOSE/NOLOG copy
$ OPEN/READ/ERROR=ooops copy 'copy_file_name
$ copy_file = copy_file + 1
$ copy_loop:
$   READ/END=main_loop/ERROR=ooops copy rec  ! Just leave open
$   list_line = list_line + 1
$   GOTO copy_loop
$
$done:
$ write sys$output list_line, " lines.", ifdl_line, " Lines in IFDL, ", copy_file, " Copy Files"
$ close/nolog ifdl
$ close/nolog copy
$ooops:
$ EXIT '$STATUS

 

 

 

 

 

 

 

 

Notilus007
Occasional Advisor

Re: Decforms compilation output - mismatch with the Decform source file line numbers.

Thanks a lot Hein, we have tried your script and this solution of yours works great for us.