Generated On 26/04/2001 2.0.0.0
GO [TO] . - ie a goto without
procedure name. The procedure name is now taken from Encountering unknown variables -
better help / guidelines on whats going on BUG reports within Delphi
applications. Previously wrong comment format was applied Lisp Warnings - should not be
reported to cobolmining - DECLARATIVE SECTION. Parsing improved Report section - PAGE [LIMIT IS] 30 -
previously LIMIT was treated as mandatory SET
specialName-variable TO ON / OFF statement parsed reproduced commented out WRITE
filename [AT END-OF-PAGE statements] - was failing parser
File Control - SELECT ... [[ORGANIZATION] [IS] SEQUENTION] ... ORGANIZATION
was ...
FD entry ... RECORD IS VARYING IN SIZE FROM a TO b [DEPENDING ON
c] ...
File Control Entry - Parser cleaned up w.r.t : RELATIVE [KEY] [IS]
- previously KEY was mandatory ..
READ tablename NOT [AT] END ... the optional AT was treated compulsory
ALTER parag -1 TO [PROCEED TO ] proc-1 {parag -2 TO [PROCEED TO
] proc-2} ...
DIVIDE ... [END_DIVIDE] . END_DIVIDE missed out from reserved words
index variable definition : 01 var USAGE INDEX . -- previously not handled
I-O_CONTROL - improved parsing for MULTIPLE FILE TAPE CONTAINS
ZEROES - parser failed to handle - although ZERO and ZEROS are fine
TRUE and FALSE operatives were handled incorrectly
EVALUATE var WHEN [NOT] a THRU b ... was generating incorrect code
...
EVALUATE condition WHEN ... Previously only handled EVALUATE var
WHEN ...
Arithmatic statements with multiple results - revisited and improved
END-STATEMENT statements may be treated as variable
Error processing COBOL reserved word 'QUOTE'
PERFORM routine VARYING var1 FROM ... parser fails where var1 is
an array
88 var VALUES [ARE] x THRU [TO] y. ... The optionals were not being
parsed
arrayed variable definition : record OF table (array-size) - array
size was not handled
The introduction of additional MAIN SECTION often hides other problems
..
ACCEPT POSITION var RECORD ...
EXEC SQL DECLARE CURSOR c FOR SELECT ... 'for' is now optional
CICS - WRITEQ TS - rewrite option was not parsed correctly
COBOL RETURN statement (part of sort statement) - not handle yet
INITIALIZE statment parsed but not translated
parsing negative variables -- fails proper understanding
multiple OR (or AND) statements within a conditional produces untidy
code.
System avoids equating numbers and strings on the left hand side
of equation ...
WEB - pay for usage - printing system limited to 32k files !
WS definitions with multiple 01 entries - individual 01 entries
need to be ...
DELPHI 'dfm' file - wrong name, wrong extention
When a program does not reference screens - ...
When a cobol program module does not utilize GO TO statements, then
the additional ...
moving single long field to structures ... 'substring' placed in
incorrect position
Embedded SQL - DECLARE cursorName CURSOR FOR selection, MFCOBOL
allows ...
DECLARE cursorName CURSOR FOR selection - not generating code properly
Embedded SQL - Connect - generates un-compilable code
MARANT read record with KEPT LOCK . the 'KEPT' part was not parsed
before - now
Microfocus (MARANT) accept variable AT XXYY with auto... - fails
parsing
ENVIRONMENT DIVISION . declaration made optional
System goes into infinite loop when cannot handle a particular statement.
Embedded SQL - Open Statement USING :vars - was not being parsed
Embedded SQL - EXECUTE statement, although parsed, was not being
regenerated
Embedded SQL - when translated the references to SQLCA classes are
lost
DISPLAY "string" WITH NO ADVANCING - statement fails during
parsing
Generated java code - constructors
Generation of XHTML files - Dealing with arrayed components - all
the components ...
Generated 'label' components are often too small
PROCEDURE DIVISION must be followed by a section name, and cannot
go directly to a statement. ...
Evaluation version does not generate any output (Problem introduced
in version 1.0.1.0 ?)
Parsing fails on sample CTIme2 program !!
Java FDInc wrapper files -: executeUpdate(sqlca) incorrect. Should
be 'executeUpdate()'
Arrayed fields in FD files require a 2nd table to be constructed
and included in FDInc. (Mx_xxx) ...
Java classes revamped.
88 constants not printed out properly
Calling other programs in Java .e.g. program-Name.runProgram (...)
...
Equal sign '=' sometimes not padded correctly.
Edit fields / Label fields with elongated names when 'Generate HTML'
flag is on...
DECIMAL POINT is COMMA is not handled properly
Resultsets - inccorrect names assigned to them - mix up between
'rs' and 'sql_rs'
END-COMPUTE fails parsing in COMPUTE .... END-COMPUTE statements
Error identifying variables of same name within the COPYFILES ...
Statement Separator - some compilers (SG-5000) uses ',' characters
as well as '.' e.g. ....
Generating delphi report pages ... the code generator fails with
SUM_VARS error
Null Frame name translated to panels with invalid name containing
'.'
OPEN INPUT file1 , OUTPUT file2 -- previously the separating ','
could not be handled
STOP RUN RETURNING var1 -- RETURNING var1 previously not handled
Reducing Array Size - for performance/memory enhancements : Increases
the dimentionality ...
COPY FILE REPLACING =="var1"== BY ==var2==. When the replacing
variable is quoted ...
Translation of UNSTRING var1 DELIMITED by var2 INTO var3 ...
the generated XXX_Display and XXX_Update methods : XXX Sometimes
contains invalid '.' character ...
Declaratives section definition fails
WHEN var1 THRU var2 STATEMENT - handling was disabled since version
0.9.9.x !
When no name is given to a visual component (typically panel), occasionally
incorrect name is given ...
78 type variables always translated to have INTEGER data type.
COPY "file-name" - causes 'File not found' error message
in Preperation phase.
Microfocus display statement : DISPLAY (row, col) variable previously
not supported
Microfocus screen definition : REVERSE-VIDEO previously not supported.
Java - Target : JBuilder IDE - the import statement com.borland.jbcl.layout.*
is placed in
EXEC SQL ... containing complex SQL Statements not handled.
INSPECT var1 REPLACING ALL var2 by var3, var4 BY var5 <<---
The 2nd replacing ...
INSPECT var1 REPLACING ALL var2 by var3 <<--- 'ALL' not handled.
variable definitions : BLANK WHEN ZEROS
maths equations regenerated incorrectly ...
Assigning array_size to variables - single dimensional arrays sometimes
get missed out
88 type constants not defined in the WSInc class files
Generation of JBuilder Frames : jbInit method generated incorrectly.
MOVE FUNCTION CURRENT_DATE TO var1
Translation of COBOL STRING command, missing concatenation signs,
e.g.
if ... then statement; always needs the brackets. ...
Hex strings converted incorrectly in Java to Ox"1234"
instead of Ox1234
FDInc files - constructor sometimes is written in Uppercase.
Variable names starting with numeric characters valid in COBOL but
not java
Incorrect parse of substring types : var1 ( 1:n)
parser : PERFORM routine UNITL condition END-PERFORM - the END-PERFORM
fails parser
minus sign translated t0 '_' instead of '-' as of version 0.9.9.1
display date_variable1 ... code generation phase : fails
'PROGRAM' in CALL PROGRAM "abcd" fails parser.
Some problems handling screen variable definitions like: 03 LINE
5 COL 10 "theValue" .
Code Generator fails on READ var1 KEY var2 where var2 is compound
index, i.e. ...
ALTERNATE KEY var1 FOR var2 var3 WITH DUPLICATES ... duplicates
was not supported
File Control. Select .... ALTERNATE KEY var1 = var2 var3 ...
conditional statement involving zero's translated incorrectly
01 data field entries - eg : 01 var1 pic x(80). may cause problems in code generation phase.
Hex literals not handled by parser- e.g. parser fails on X"00"
STRING abcd DELIMITED BY SPACES - use of SPACES (instead of SPACE)
cause parser to fail
CALL Class - cannot pass functions as variables - e.g.
referencing variables by 'field OF record' - where same 'field'
name used in multiple records ...
88 Variables in COPY files - generated code misses the record name
from the variable, e.g. ..
Calculation of field length (field-format) should not count the
'S' sign as 1 i.e. S9 is length 1 and not 2.
COPY files within copy files not handled properly.
COPY file1 . - if the file is not found - the filename is missing
from the message (only directory is shown!)
COPY fileName REPLACING var1 BY var2. Multiple occurances of var1
on one line is not replaced!
COPY fileName REPLACING var1 BY var2 var3 BY var4 ... i.e. multiple
replacements - not handled
COPY filename REPLACING var1 BY var2 (as opposed to ==VAR1== by
==Var2==) not handled
Clearing array variables (eg MOVE SPACES to var1) expects array
to be 1 greater than size
CALL statements occationally translated incorrectly ...
Reports and Printer classes revisited
JBuilder Forms, the constructor contains a reference to 'super'
but ...
Lexical Analyser - COBOL Routines starting with COPY- causes failure
Accessing the arrayed structures in a redefinition of arrays onto
non-array class generates bad code.
ADD var1 var2 var3 ... GIVING result ... . Fails parsing
Arrayed variables do not require comma separators - eg A(1 2) as
well as A(1,2) is valid
SELECT ... RECORD-KEY ... . The RECORD-KEY as one word is not supported
Numeric COBOL procedure names when called from PERFORM statements
fail Code Generation.
COBOL : INPUT-OUTPUT Sections without FILE-SECTION or WORKING STORAGE
Section fails parsing
PERFORM routine1 THRU routine2 - does not call all the intermediate
methods
When a date structure contains other groups - conversion to dates
is wong, e.g. ...
Comparison of Dates to integers causes problems
Data entry - HITACHI compilers :- following modification have been
to enable parsing the COBOL code
I-O-CONTROL : APPLY FILE_SHARE ON variables. Statement processed but ignored.
DECLARATIVE SECTION .. USE AFTER STANDARD ERROR PROCEDURE ON "I-O"
...
OCCURS Depending ON - sometimes fails parsing
Java 1.1 - component.hide() method deprecated - now should use component.setVisible(false);
Translation to JBuilder Java - -- LineOutput -> incorrect case
when added to the constraint
Brackets lost in some COMPUTATION statements. e.g. ...
READ var1 INTO array(1) and WRITE table1 FROM array(1) -- fails
parsing
START var1 INVALID ... . i.e. where no key is defined. Fails parsing
START key GREATER THAN OR EQUAL TO var - fails parsing
Stand-alone Negative variables(rather than equations with negative
variables) fail parsing ...
CONDITIONALS : Parser fails on handling complex conditions - e.g.
(and solution) ...
Keeping original COBOL comments - needs to be turned off and on
again before its working !
Parsing of Arrayed Variables with complex indexes failes - eg VAR1(
VAR2 + 1)
cobol File Control: SELECT fd1 ASSIGN TO file1 file2 ... Only reference
to first file is maintained
COBOL PROGRAM-iD : progname IS EXTERNAL / INITIAL / COMMON - info
ignored ...
Parsing of certain combination of variables followed & statements
eg : VAR1 OF VAR2 < 30 Fails.
Problem handling parsing variable types : VAR1 OF VAR2
Error PRICN-To-STRING - raised during parsing Data Division - discovered
spurious brackets inserted when converting fractions to strings
Problems on resolving 'redefinitions' ...
JAVA - MOVE decimal TO long .. generates invalid format ...
Multiple redefinition of integer or decimal fields, ...
Lexical Analyser - incorrect translation of signed decimals such
as : +.3 or -.4
Translation of FD COPY files into FDInc Directories ..> readFiles and WriteFIelds statements...
WANG - as cobol platform, causes translations put display panels
on top left of screen !!
Conversion of Strings to Floats (99v99) format
'PERFORM .. UNTIL' - Termination condition is missing
Translated Java Programs : Time variables incorrectly initialized
to 'new ACMDate()'
Translated Java Programs : Date / Time variables incorrectly defined
as 'String'
COBOL RELEASE Statement (part of sort statement) - not handled yet
Lexical Analyzer- Sometimes Crashes the CORECT !
Printer Files - a non-existant File name is initialized, and freed
(and used in Uses)
String Statement - appends the string literals irrespective of DELIMITED
clause ! A Comment is generated ...
COBOL SORT statements supported
LOW-VALUE / HIGH-VALUE as well as LOW-VALUES and HIGH-VALUES need
to be treated ...
CONTINUE statement - is now translated to '; // continue;' rather
than ignored
PERFORM parag1 3 times - An additional variable is used in translation
but not declared ...
Parser - handling mathematical equations of type number / variable
fails in complex statements
Interinsic Functions eg FUNCTION ACOS , (trigonometric functions)
In the 'Target Data Schema' Page - clicking on an Index will only
show the first field of the index.
Multi-01 FDs - Main Key is not currently duplicated in all 01 entries
... (it Should)
Java/Delphi - FDInclude files - parameter wrong case used when setting
'tableName'
Java Forms - form elements need not be declared as public - a default
declaration is preferable ...
Java Forms - LineOutput declared twice !! ...
Java Forms - constructors need to call 'super()'
CORECT Preprocessor - 'Prepare Page' - if selected multiple items,
where one or more of ...
Generated FDInc files - read/writeFields for arrays - For loop UNTIL
condition is one too few
Java Generated FDInc files - WriteFIelds method; field-numbers start
at 2 instead of 1 !
Java FDInc files - rs.prepare() missing before OPENing a result
set
COBOL - READ .. AT END end-statements, The 'end-statements' is missing
in the translation
Java programs - utilizig 'lineOutput' - appendText needs a final
'\n'
MOVE date-variable TO String-variable - eg
MF COBOL- SCREEN SECTION - when not COPIED - system translates the
screens into terminalOutput
Exit (0) / Leave / Return ... confused in Stop Run, EXIT Section,
Exit Perform ...
Processing multiple Programs - when only one uses SCREEN SECTION
copy files - fails during Code Generation
Lexical Analyser - PIC X(9) is translated to PIC " X(9)"
(field-length 12) instead of PIC "X(9)"
DELPHI library - ACMQuery class revisited - minor bugs removed
MF COBOL -> SCREEN SECTION - when in copy file - the system fails
to pick up the Update fields
FDInc Object wrappres - where delete method is generated - it lacks
Execute for the SQL
Delphi - FDInc - Object wrappers - ReadFields/WriteFields -paramByName
wrong
DELPHI - FDInc Object wrappers - Methods WriteFields, ReadFields,
delete ... need to be OVERRIDE
SQL DDL generation - When the database specified in Setup page is
not MS-Access - Generates error
Delphi-Java Panel Column widths in range of 3000-5000 instead of
400-700 units
DELPHI - COBOL Call statement translated to TFRM_program.RunProgram
...
COBOL programs with SECTIONS - translation fails by call ALL the
subsequent sections
Catering for goto handling thru P_Continue - if (P_Continue == true)
doNextProcedure - after EXIT
EVALUATE WHEN TRUE --- true is translated to 1 instead of 'true'
in java or Delphi
88 variables eg 88 ws-terminte .. values "y" ... "Y"
Records with no fields (occurs during translation of multi 01- fields)
- should not be displayed ...
Java FDInc files - setInteger("abcd" , "abcd")
is should be setInteger(FieldNum , "Abcd");
Generation of Java forms for files with '_' characters -
Translation of COBOL CALL statement with no parameters -Java/Delphi
- RunProgram (this
FDWrapper - java module ReadFields / writeFields methods wrong format
DELPHI - For loop variables must be local to the procedure
VAX COBOL - Can declare information normally on 'SELECT ASSIGN'
with the FD section.
COPY 'abcd' - with no file extension, whilst the actual copy file
is 'ABCD.ws'
call statements containing data-groups (copy files) is translated
with every field in the call ....
Lexical Analyzer - 0xff characters inside a Quoted string is treated
as EOF character !!
COBOL - ACCEPT variable FROM DAY - type statements has been reworked
FD files generate multiple Schema Entries - some of which is invariably
empty (Bug introduced in 0.9.5.2)
Preprocessor : COMPUTE a = (.85 ...) -> translted to COMPUTE
a = { \. 85
Lexical Analyser - translates some invisible characters to '\\'
"Copy Files Not Found" Due to conversion of "-"
to "_" character in filenames w
MFCOBOL -> $SET ... Statments should be removed or commented
out from code.
COBOL -EVALUATION true WHEN CONDITION - improved to cater for larger
set of conditions
Parser - Conditional Statementsfailed on the following type of condition
: A and B not = SPACES
COBOL variables of type : Field OF Record - problems introduced
in version 0.9.4 - corrected
Problem with Spurios '\\' characters generated within the Lexical
analyser corrected
COBOL Double QUOTES character representing quote mark within the
literal - not properly handled
Lexical Analyser - Problems with continuation lines sorted.
Project / Works directory lost in File|Setup|Directories after restart
of application
Saving processed/analysed FD's on multi-dimentional FD's - the Field-class
data not saved !
Saved Parsed / Analysed FD Descriptions - somtimes uploading the
saved definitions fails
conditional : if (A + B) = C ... parse fails , ((A + B) = C) successful
Preprocessor - COMPUTE a = b /c -- Space required after '/'
Comments between FD record .... and the end-statement '.' cause
parser to fail
88 variable VALUES 5, 10 THRU 20 - OR ... 5 thru 10 thru 1234 ...
Translation of multi-dim FD's -- too many record generated
CORECT UI - Processing page - 'Start' Button not visible under some
NT/95 boxes !!!
Swapping target language from Java to Delphi in same session causes
the name ...
COBOL Data Fields with same names - the analyser assumes the incorrect
field
Linkage Items defined internally (not using COPY files) are printed
with a 'T.' prefix !!
COBOL Data Fields with same name - in WS section not renamed (those
in FD are handled)
Generated Programs - Java - Wrong no. of brackets in Multi-dim Array
definitions
Java String comparisons - use compareTo instead of == or >, etc
Generated Programs : Delphi / Java - function HideAllPanels not
properly terminated
Generated Programs - Matching group fields to strings ...
Generated programs - Delphi - programs with no screens - methods
have wrong classnames
Generated Programs - Delphi - RunProgram method - when no form is
involved the variable
Generated Programs - Delphi - files in WSInc directory - class definition
should not end in ';'
Generated Programs- Delphi - files in WSInc directory - file names
are incorrectly prefixed with 'T'
Delphi Code Generator - forward declaration of 'RunProgram' in generated
programs ...
Parser - fails on COBOL CALL statements
FDInc - wrapper files - OpenUsing methods generated incorrectly
Multi-dimentional data containing REDEFINES - create ambiguous definitions
Progress Indicator for parser now based on number of lines instead
of '.' ...
Parser fails on conditional statements containing ' NOT >'
Parser fails on multi-conditionals involving arrayed variables
Children of CACMArrayedQuery - Problems
SQL Wrapper files in FDInc :: too many fullstops on line rs..executeUpdate(SQL);
+ Others ...
DELPHI - Software Mining Edit, etc ; onExit method don't work !!!!
Cobol Calls / RUN / PRograms with no screens / Forms still put FRM_
...
MOVE zeros/spaces TO array_group-1.
IBM COBOL - write xyz after POSITIONING abc . -- parser failse after POSITIONING - Position treated as SKIP
COBOL Arithmatic operations of type - ADD 10 TO X , Y - is parsed
incorrectly
IBM COBOL - EXAMINE statement is now handled as INSPECT
COBOL numerical Procedure names not supported.
JAVA - breaking the iteration cycle translates to RETURN instead
of BREAK
JAVA Migration - if ... then ... else { ...} , - only the first
statement in ELSE statements printed !!
PERFORM UNTIL EXIT - iteration lost in translation
Java - "lstScreen" removed. New Information is now displayed
using "System.out.println"
JAVA - string equality test - use (String1.equals(String2)) instead
of (String1 == String2)
COBOL -> JAVA - COBOL exit statement is now translated to exit
(0) instead of return();
COBOL long Strings with more than one continuation lines cause Preprocessor
to fail
Already processed Data files in repository no longer utilized -
Prepare File - Cannot Create Output File - Error -- Directory Containing
'-' cha
Help files not viewable on default installation setting !
JAVA - Conversion of COBOL arrayed variables - occurs n times ->
array of [n + 1]
COBOL 'Quotes' reserved word - eg VALUE QUOTES not handled properly
COBOL equality statements eg IF A GREATER THAN B - Parser fails
when 'THAN' missing
COBOL variable definition : var1 PICTURE IS ... . The 'IS' parameter
causes parser fail
Java/Delphi - Translation of Cobol Comment Strings - erronous ';'
after character
Full stop character after column 72 (or user specified End Column
for COBOL files) causes parser to fail
MicroFocus COMP-5 variables - eg ... PIC X(n) COMP-5 translated
to integer of n (32 Bit) bytes
Java / Delphi generated programs - Program Flow logic statement
Missing
COBOL: 01 var1 VALUE SPACES -> JAVA : ... new String(SPACE);
COBOL variable names can start with Numbers - illigal in Java/Delphi
lstScreen..setText("") ; - when attempting to clear the
list box
'Generate WS Include Files' function not working ! -
Edit boxes in the Translated Screen - names converted to "edt_varName"
instead o
TARGET-LANGUAGE must be user definable -
Variable names begining with digits - not allowed in Delphi or Java
CANCEL ALL - statement not parsed
Java / Delphi generated programs - Wrong Names issued for PANELS.
COBOL Author Line : AUTHOR . A . B .Smith . - the additional full-stops
causes parser to fail
DELPHI - Constructor calls have wrong format !!
No of Items representing the Linkage items generated for RunProgram
construct is
All generated RDB records have indexes that contain all fields of
original record !!
Precompiler Cobol statements begining with '$' should be handled
COPY filename REPLACING xxx WITH yyyy
COBOL COPY statement in the PROCEDURE DIVISION
COBOL TYPEDEF statements
Translation of Screens - All screen items positioned on the same
line !
DELPHI : Procedure names cannot start with numerical values (0-9)
Modifiying the 'Assumed Length' of a variable - the information
is not saved in the Mods file
DB Objects: Multiple FD records - Indexes of the 1st record applied
to 2nd rec

GO [TO] . - ie a goto without procedure name. The procedure name is now taken
from

Encountering unknown variables - better help / guidelines
on whats going on

BUG reports within Delphi applications.
Previously wrong comment format was applied

Lisp Warnings - should not be reported to cobolmining -

DECLARATIVE SECTION. Parsing improved

Report section - PAGE [LIMIT IS] 30 - previously LIMIT was
treated as mandatory

SET specialName-variable TO ON / OFF statement parsed reproduced
commented out

WRITE filename [AT END-OF-PAGE statements] - was failing
parser

File Control - SELECT ... [[ORGANIZATION] [IS] SEQUENTION]
... ORGANIZATION was ...

FD entry ... RECORD IS VARYING IN SIZE FROM a TO b [DEPENDING
ON c] ...

File Control Entry - Parser cleaned up w.r.t : RELATIVE [KEY] [IS] - previously KEY was mandatory ..

READ tablename NOT [AT] END ... the optional AT was treated
compulsory

ALTER parag -1 TO [PROCEED TO ] proc-1 {parag -2 TO [PROCEED
TO ] proc-2} ...
The multiple parags were not previously handled.

DIVIDE ... [END_DIVIDE] . END_DIVIDE missed out from reserved
words

index variable definition : 01 var USAGE INDEX . -- previously
not handled

I-O_CONTROL - improved parsing for MULTIPLE FILE TAPE CONTAINS

ZEROES - parser failed to handle - although ZERO and ZEROS
are fine

TRUE and FALSE operatives were handled incorrectly

EVALUATE var WHEN [NOT] a THRU b ... was generating incorrect
code ...
e.g
EVALUATE 12
WHEN 10 THRU 15
...
produces :
if (15 <= 12) && (10 >= 12){
return;
}
instead of
if
(15 >= 12) && (10 <= 12){
return;
}

EVALUATE condition WHEN ... Previously only handled EVALUATE
var WHEN ...

Arithmatic statements with multiple results - revisited
and improved

END-STATEMENT statements may be treated as variable
eg.
SUBTRACT var1 333333
NOT ON SIZE ERROR
MOVE "1" TO var2
END_SUBTRACT
In the above the final move contains END_SUBTRACT i.e.

Error processing COBOL reserved word 'QUOTE'

PERFORM routine VARYING var1 FROM ... parser fails where
var1 is an array

88 var VALUES [ARE] x THRU [TO] y. ... The optionals were
not being parsed

arrayed variable definition : record OF table (array-size)
- array size was not handled

The introduction of additional MAIN SECTION often hides
other problems ..
and the system will go into an indifinite loop.

ACCEPT POSITION var RECORD ...

EXEC SQL DECLARE CURSOR c FOR SELECT ... 'for' is now optional

CICS - WRITEQ TS - rewrite option was not parsed correctly

COBOL RETURN statement (part of sort statement) - not handle
yet

INITIALIZE statment parsed but not translated

parsing negative variables -- fails proper understanding
e.g. compute abcd = -x

multiple OR (or AND) statements within a conditional produces
untidy code.

System avoids equating numbers and strings on the left hand
side of equation ...
e.g.
MOVE 12 to 13

WEB - pay for usage - printing system limited to 32k files !

WS definitions with multiple 01 entries - individual 01
entries need to be ...

DELPHI 'dfm' file - wrong name, wrong
extention
The name of the generated files is:
TFrmExample.txt
instead of
Example.dfm

When a program does not reference screens - ...
then the system should avoid even generating a blank CFrm_ProgramName.java.
Java compilation will throw a wobbely when it tries to compile these.

When a cobol program module does not utilize GO TO statements,
then the additional ...

moving single long field to structures ... 'substring' placed
in incorrect position
see program PRD_CALL - regeneratd program section 'C000_Get_Total'
we get things like
Product2.Prod_Price = new Double((Ws_Temp / 100).substring(29 , 35 ) );
but now we get :
Product2.Prod_Price = new Double( ACMUtil.strToDouble (Ws_Temp.substring(29 ,
35 )) / 100 );

Embedded SQL - DECLARE cursorName CURSOR FOR selection,
MFCOBOL allows ...

DECLARE cursorName CURSOR FOR selection - not generating
code properly

Embedded SQL - Connect - generates un-compilable code

MARANT read record with KEPT LOCK . the 'KEPT' part was
not parsed before - now

Microfocus (MARANT) accept variable AT XXYY with auto...
- fails parsing

ENVIRONMENT DIVISION . declaration made optional

System goes into infinite loop when cannot handle a particular
statement.

Embedded SQL - Open Statement USING :vars - was not being
parsed

Embedded SQL - EXECUTE statement, although parsed, was not
being regenerated

Embedded SQL - when translated the references to SQLCA classes
are lost

DISPLAY "string" WITH NO ADVANCING - statement
fails during parsing

Generated java code - constructors

Generation of XHTML files - Dealing with arrayed components
- all the components ...

Generated 'label' components are often too small

PROCEDURE DIVISION must be followed by a section name, and
cannot go directly to a statement. ...
Invalid
PROCEDURE DIVISION.
MOVE 12 to var1.
valid
PROCEDURE DIVISION.
00-MAIN-ROUTINE.

Evaluation version does not generate any output (Problem
introduced in version 1.0.1.0 ?)

Parsing fails on sample CTIme2 program !!

Java FDInc wrapper files -: executeUpdate(sqlca) incorrect.
Should be 'executeUpdate()'

Arrayed fields in FD files require a 2nd table to be constructed
and included in FDInc. (Mx_xxx) ...

Java classes revamped.

88 constants not printed out properly

Calling other programs in Java .e.g. program-Name.runProgram
(...) ...

Equal sign '=' sometimes not padded correctly.
Check

Edit fields / Label fields with elongated names when 'Generate
HTML' flag is on...
Some names are generated incorrectly - e.g.
Pnl_Main_Screen_Edt_Name;
instead of
Edt_Name

DECIMAL POINT is COMMA is not handled properly

Resultsets - inccorrect names assigned to them - mix up
between 'rs' and 'sql_rs'

END-COMPUTE fails parsing in COMPUTE .... END-COMPUTE statements

Error identifying variables of same name within the COPYFILES ...
E.g. COPYFILE 1 contains variable FILLER
and in the main program we have
WORKING-STORAGE SECTION.
01 abc.
05 FILLER abcd pic X.
Then the FILLER is given the name of the ID in COPYFILE1 !

Statement Separator - some compilers (SG-5000) uses ','
characters as well as '.' e.g. ....
MOVE a TO b ,
MOVE c TO d ,

Generating delphi report pages ... the code generator fails
with SUM_VARS error

Null Frame name translated to panels with invalid name containing
'.'

OPEN INPUT file1 , OUTPUT file2 -- previously the separating
',' could not be handled

STOP RUN RETURNING var1 -- RETURNING var1 previously not
handled

Reducing Array Size - for performance/memory enhancements : Increases the dimentionality ...
of the variable.
For example :
05 a \.
10 b PIC "X(60)" OCCURS 10 TIMES \.

COPY FILE REPLACING =="var1"== BY ==var2==. When
the replacing variable is quoted ...

Translation of UNSTRING var1 DELIMITED by var2 INTO var3 ...
was previously tranlated to
var3 = ACMDelemiter (var1 , var2 , 1) =;
The method ACMDelemiter was not present.
The above COBOL statement is now translated into :

the generated XXX_Display and XXX_Update methods : XXX Sometimes
contains invalid '.' character ...
This occurs when the XXX needs to be autogenrated :- then it is taken from the
generated OID of the program.
When the OID contains '.' character - eg. Program1.CBL_D1 - then the associated
names will be invalid.

Declaratives section definition fails

WHEN var1 THRU var2 STATEMENT - handling was disabled since
version 0.9.9.x !

When no name is given to a visual component (typically panel),
occasionally incorrect name is given ...
E.g. the file name is "abc.cbl".
Then when we have a screen group - which will be translated to a Panel, then the
system will automatically assign a name to the panel. This name is generated based
on an internal ID which is typically like 'ABC.CBL_P1'
.The '.' in the Panel name will cause problems in Java and Delphi.
This '.' to be translated to '_'

78 type variables always translated to have INTEGER data
type.

COPY "file-name" - causes 'File not found' error
message in Preperation phase.
The name of file is converted to file_name, and hence system cannot find the file
'file-name'.

Microfocus display statement : DISPLAY (row, col) variable
previously not supported

Microfocus screen definition : REVERSE-VIDEO previously
not supported.

Java - Target : JBuilder IDE - the import statement com.borland.jbcl.layout.*
is placed in

EXEC SQL ... containing complex SQL Statements not handled.

INSPECT var1 REPLACING ALL var2 by var3, var4 BY var5 <<---
The 2nd replacing ...

INSPECT var1 REPLACING ALL var2 by var3 <<--- 'ALL'
not handled.

variable definitions : BLANK WHEN ZEROS

maths equations regenerated incorrectly ...
eg.add a , b giving c
results in
c = + b;
+ a

Assigning array_size to variables - single dimensional
arrays sometimes get missed out
For example the array size is missing on variables a3, and a4
01 aa \.
02 a2 \.
03 aa2 occurs 3 times \.
04 a3 picture "xxx" \.
04 a4 picture "xxx" \.
But this works
01 aa \.
02 a2 occurs 2 times \.
03 aa2 occurs 3 times \.
04 a3 picture "xxx" \.
04 a4 picture "xxx" \.

88 type constants not defined in the WSInc class files

Generation of JBuilder Frames : jbInit method generated
incorrectly.
The method is generated as:
public void jbInit() throw_Numbers Exception {
instead of
public void jbInit() throws Exception {

MOVE FUNCTION CURRENT_DATE TO var1

Translation of COBOL STRING command, missing concatenation
signs, e.g.
e.g. STRING var1, var2 delimited by space into VAR3
gives VAR3 = var1 var2
instead of
VAR3 = var1 + var2

if ... then statement; always needs the brackets. ...
Some single statements may be translated to multiple-statements. e.g. open abcd
with LOCK, will be translated to
abcd.setLock(true);
abcd.OpenSequential;

Hex strings converted incorrectly in Java to Ox"1234"
instead of Ox1234

FDInc files - constructor sometimes is written in Uppercase.

Variable names starting with numeric characters valid in
COBOL but not java

Incorrect parse of substring types : var1 ( 1:n)

parser : PERFORM routine UNITL condition END-PERFORM - the
END-PERFORM fails parser

minus sign translated t0 '_' instead of '-' as of version
0.9.9.1

display date_variable1 ... code generation phase : fails

'PROGRAM' in CALL PROGRAM "abcd" fails parser.

Some problems handling screen variable definitions like:
03 LINE 5 COL 10 "theValue" .

Code Generator fails on READ var1 KEY var2 where var2 is
compound index, i.e. ...
eg SELECT record1 ...
alternate key is va2 = var4 var8
...
Read records1 KEY var2

ALTERNATE KEY var1 FOR var2 var3 WITH DUPLICATES ... duplicates
was not supported

File Control. Select .... ALTERNATE KEY var1 = var2 var3
...

conditional statement involving zero's translated incorrectly
eg
if a < b then ...
is translated correctly to
if (a < b) { ...
but
if (zero < b) ,...
is translated to

01 data field entries - eg : 01 var1 pic x(80). may cause
problems in code generation phase.

Hex literals not handled by parser- e.g. parser fails on
X"00"

STRING abcd DELIMITED BY SPACES - use of SPACES (instead
of SPACE) cause parser to fail

CALL Class - cannot pass functions as variables - e.g.
CALL "ABCD" USING xyz BY
VALUE LENGTH OF mno \.

referencing variables by 'field OF record' - where
same 'field' name used in multiple records ...

88 Variables in COPY files - generated code misses the record
name from the variable, e.g. ..
eg.
Copy FILE1. ...
03 yes-no pic x(1).
88 yes value "Y".
88 no value "N".
main program
if var1 is YES ...
is translated to
if var1.equals( yes )
instead of
if var1.equals( file1.yes )
..

Calculation of field length (field-format) should not count
the 'S' sign as 1 i.e. S9 is length 1 and not 2.

COPY files within copy files not handled properly.

COPY file1 . - if the file is not found - the filename is missing from the message
(only directory is shown!)

COPY fileName REPLACING var1 BY var2. Multiple occurances
of var1 on one line is not replaced!

COPY fileName REPLACING var1 BY var2 var3 BY var4 ... i.e.
multiple replacements - not handled

COPY filename REPLACING var1 BY var2 (as opposed to ==VAR1==
by ==Var2==) not handled

Clearing array variables (eg MOVE SPACES to var1) expects
array to be 1 greater than size
When trying to clear the array eg
MOVE spaces to x
we get
for (int I1 = 0 ;I1 <= 2 ; I1++)
X[I1] = "";

CALL statements occationally translated incorrectly ...
eg CALL abc USING xyz
where abc is defined also as a variable - this was being translated to
abc , xyz);
instead of
CAbc.RunProgram(xyz);

Reports and Printer classes revisited

JBuilder Forms, the constructor contains a reference to
'super' but ...

Lexical Analyser - COBOL Routines starting with COPY- causes
failure
eg.
PROCEDURE DIVISION.
COPY-ABCD SECTION.
...
THe system assumes it is dealing with a copy file ie it treats the statement as
:

Accessing the arrayed structures in a redefinition of arrays
onto non-array class generates bad code.
e.g. as in file samples\redef\redef8b.cbl
where we have
FD dfile8.
01 thefile .
03 g1.
05 a1 pic 9999 .
05 d1 pic 9.
05 a2 pic 9999 .
05 d2 pic 9.
05 a3 pic 9999 .
05 d3 pic 9.
05 a4 pic 9999 .
05 d4 pic 9.
05 a5 pic 9999 .
05 d5 pic 9.
03 c pic 999.
03 G11 REDEFINES G1 OCCURS 5 TIMES.
05 int1 PIC 9(4)v9.
then accessing
int(3)
was yeilding
a1[3]
d1[3]
a2[3]
d2[3]
a3[3]
d3[3]
a4[3]
d4[3]
a5[3]
d5[3]
instead of
a3 and d3

ADD var1 var2 var3 ... GIVING result ... . Fails parsing

Arrayed variables do not require comma separators - eg A(1
2) as well as A(1,2) is valid

SELECT ... RECORD-KEY ... . The RECORD-KEY as one word is
not supported

Numeric COBOL procedure names when called from PERFORM statements
fail Code Generation.

COBOL : INPUT-OUTPUT Sections without FILE-SECTION or WORKING
STORAGE Section fails parsing

PERFORM routine1 THRU routine2 - does not call all the intermediate
methods

When a date structure contains other groups - conversion
to dates is wong, e.g. ...
For example:
03 W-DATE.
05 W-YM.
07 W-YY PIC 9(02).
07 W-MM PIC 9(02).
05 W-DD PIC 9(02).
The above is translated incorrectly.

Comparison of Dates to integers causes problems
e.g.
IF W-DATE NOT > INT-GROUP1

Data entry - HITACHI
compilers :- following modification have been to enable parsing the COBOL code
WINDOW SECTION. Treat the same as SCREEN SECTION in MF COBOL
INPUT/OUTPUT/I_O LINE Sames as MFCOBOL to/from/using
Letter extend is XXX parse but ignore
RULE LINE IS xxx parse but ignore
variable REPEAT n TIMES treat the same as vairable OCCURS n TIMES
Statements :

I-O-CONTROL : APPLY FILE_SHARE ON variables. Statement processed
but ignored.

DECLARATIVE SECTION .. USE AFTER STANDARD ERROR PROCEDURE
ON "I-O" ...

OCCURS Depending ON
- sometimes fails parsing

Java 1.1 - component.hide() method deprecated - now should
use component.setVisible(false);
Similarily -
disable() - setEnabled(false)
enable() - setEnabled(true)
show() - setVisible(true)

Translation to JBuilder Java - -- LineOutput -> incorrect
case when added to the constraint

Brackets lost in some COMPUTATION statements. e.g. ...
e.g
COMPUTE A = ( B + C) ;
was translated to
A = B + C;

READ var1 INTO array(1) and WRITE table1 FROM array(1) --
fails parsing

START var1 INVALID ... . i.e. where no key is defined. Fails parsing

START key GREATER THAN OR EQUAL TO var - fails parsing

Stand-alone Negative variables(rather than equations with
negative variables) fail parsing ...
e.g.
if (- var1) > 0 then ...
would fail, but
COMPUTE var1 = var2 - va3
would pass.

CONDITIONALS : Parser fails on handling complex conditions
- e.g. (and solution) ...
For example :
if function ord (10) + function ord (2) = 11 then ...
fails the parser.
rewrite as:
var1 = function ord (10) + function ord (2)

Keeping original COBOL comments - needs to be turned off
and on again before its working !

Parsing of Arrayed Variables with complex indexes failes
- eg VAR1( VAR2 + 1)

cobol File Control: SELECT fd1 ASSIGN TO file1 file2 ...
Only reference to first file is maintained

COBOL PROGRAM-iD : progname IS EXTERNAL / INITIAL / COMMON
- info ignored ...
The external / Initial/ Common information parsed and ignored

Parsing of certain combination of variables followed &
statements eg : VAR1 OF VAR2 < 30 Fails.

Problem handling parsing variable types : VAR1 OF VAR2

Error PRICN-To-STRING - raised during parsing Data Division
- discovered

spurious brackets inserted when converting fractions to
strings

Problems on resolving 'redefinitions' ...
01 TEST.
03 a PICTURE "-9.9(17)" .
03 B REDEFINES a .
04 b1 PICTURE "-9(18)" .
04 b2 PICTURE "X" .
In the above example attempts to reference variable a will point to variable b1,
whereas attempt to reference variable 'B' will correctly generate a reference
to

JAVA - MOVE decimal TO long .. generates invalid format
...
eg
MOVE decimalVar TO longVar
generates:
logVar = (decimalVar , nn);

Multiple redefinition of integer or decimal fields, ...
eg :
03 decimal1 pic 9(5).9(5)
03 dicimal2 pic 9(4).9(6) redefines decimal1.
The above caused the system to report a problem that the
'Multiple definitions provided for a field'
Now the system checks if the field lengths are the same, then it just takes the
first

Lexical Analyser - incorrect translation of signed decimals
such as : +.3 or -.4

Translation of FD COPY files into FDInc Directories ..> readFiles and WriteFIelds statements...
.. contain reference to an instance name - which does not exists. eg
for a Company_Info files CCompany_Info
the read method would reference
Company_Info.Company_Name = ....;
instead of

WANG - as cobol platform, causes translations put display
panels on top left of screen !!

Conversion of Strings to Floats (99v99) format
eg:
03 dec1 pic 99v99
03 str1 pic x(4) value "1234"
...
MOVE str1 to dec1
The system was translating the above move statement to :
dec1 = strToFloat(dec1);
this is incorrect as dec1 would become 1234.
Now system translates to
dec1 = strToFloat(dec1 / 100.

'PERFORM .. UNTIL' - Termination condition is missing

Translated Java Programs : Time variables incorrectly initialized
to 'new ACMDate()'

Translated Java Programs : Date / Time variables incorrectly
defined as 'String'

COBOL RELEASE Statement (part of sort statement) - not handled
yet

Lexical Analyzer- Sometimes Crashes the CORECT !
Programs using quotes such as in
STRING ABCD "\" EFTG into FILENAME
Crashes the sytem.

Printer Files - a non-existant File name is initialized,
and freed (and used in Uses)

String Statement - appends the string literals irrespective
of DELIMITED clause ! A Comment is generated ...
notifying the user ... eg..
// Software Mining - Please Check the following.
// COBOL String Command - delimited by : SIZE
s2 = "this is a string literal " + string2r;

COBOL SORT statements supported

LOW-VALUE / HIGH-VALUE as well as LOW-VALUES and HIGH-VALUES
need to be treated ...

CONTINUE statement - is now translated to '; // continue;'
rather than ignored
Although ignoring the statement is logically true - it makes the generated program
more difficault to compare with the original! The biggest confusion was caused
by statements such as:
if a = a then continue.
The system ignores IF statements with no statements in THEN and ELSE parts. Continue
was being ignored and hence the above statment was missing from the translation.
Now the following is generated ...
if (a == a) ; // continue

PERFORM parag1 3 times - An additional variable is used
in translation but not declared ...
eg this is translated to
for (Lv_Perform_A = 1; Lv_Perform_A < 2;
Lv_Perform_A++ ) parag1 (false) ;
but the lv_perform_A variable is not declared : ie the following is missing from
any procedure/function which uses this type of performs

Parser - handling mathematical equations of type number
/ variable fails in complex statements

Interinsic Functions eg FUNCTION ACOS , (trigonometric functions)
Handled functions ...
COS ACOS SIN ASIN TAN ATAN
As well as other non trigonometry functions :

In the 'Target Data Schema' Page - clicking on an Index
will only show the first field of the index.

Multi-01 FDs - Main Key is not currently duplicated in all
01 entries ... (it Should)
eg see clients\company.cpy - where we have ::
fd company.
01 company-pf.
03 key1.
05 co-rec-type pic 9.
05 co-id pic 999.
03 next-id-group.
05 co-next-id pic 999.
03 filler pic X(170).
01 company-info.
03 filler pic x(7).
03 key2.
05 company-name pic x(20).
05 company-id redefines company-name pic x(20).
...
In the generated SQL DDL Structure for 'company-info' - there should be an entry
for both
co-rec-type
co-id
Currently there isn't.
Furthermore - the following fields should be linked to each other - so setting
one whould set the other
Company_info.Co_Rec_Type and Company_Pf.Co_Rec_Type
as well as
Company_info.Co_id and Company_Pf.Co_id

Java/Delphi - FDInclude files - parameter wrong case used
when setting 'tableName'

Java Forms - form elements need not be declared as public
- a default declaration is preferable ...
eg
public TextArea lineOutput;
instead of

Java Forms - LineOutput declared twice !! ...
In the CFrmProgram.java the lineOutput is redeclared in the line
TextArea lineOutput = new TextArea();
instead of

Java Forms - constructors need to call 'super()'

CORECT Preprocessor - 'Prepare Page' - if selected multiple
items, where one or more of ...

Generated FDInc files - read/writeFields for arrays - For
loop UNTIL condition is one too few
eg for an array size of 4 we get
for (i = 0; i < 4 ; i++) ..
instead for
(i = 0; i < 5 ; i++) ..

Java Generated FDInc files - WriteFIelds method; field-numbers
start at 2 instead of 1 !

Java FDInc files - rs.prepare() missing before OPENing a
result set

COBOL - READ .. AT END end-statements, The 'end-statements'
is missing in the translation

Java programs - utilizig 'lineOutput' - appendText needs
a final '\n'

MOVE date-variable TO String-variable - eg 05 date1 . 10 yy pic xx. 10 mm pic xx. 10 dd pic xx. 05 date2 . ACCEPT date2 from Date MOVE date2 to date1. generates: yy = ACMDay(
date2 ); mm = ACMMOnth (date2); dd = ACMYear (date2). ie the Year and date fields
are mixed up.

MF COBOL- SCREEN SECTION - when not COPIED - system translates
the screens into terminalOutput

Exit (0) / Leave / Return ... confused in Stop Run, EXIT
Section, Exit Perform ...

Processing multiple Programs - when only one uses SCREEN
SECTION copy files - fails during Code Generation

Lexical Analyser - PIC X(9) is translated to PIC "
X(9)" (field-length 12) instead of PIC "X(9)"

DELPHI library - ACMQuery class revisited
- minor bugs removed

MF COBOL -> SCREEN SECTION - when in copy file - the
system fails to pick up the Update fields

FDInc Object wrappres - where delete method is generated
- it lacks Execute for the SQL

Delphi - FDInc - Object wrappers
- ReadFields/WriteFields -paramByName wrong The statements are generally of the
type : q.FieldByName('Company_Pf.Co_Rec_Type').AsInteger := Co_Rec_Type; instead
of q.FieldByName(Co_Rec_Type').AsInteger := Co_Rec_Type; Similarily the ReadFields
methods are of thpe Co_Rec_Type := q.FieldByName('Company_Pf.Co_Rec_Type').AsInteger; instead
of Co_Rec_Type := q.FieldByName('Co_Rec_Type').AsInteger;

DELPHI - FDInc Object wrappers - Methods WriteFields, ReadFields,
delete ... need to be OVERRIDE

SQL DDL generation - When the database specified in Setup
page is not MS-Access - Generates error

Delphi-Java Panel Column widths in range of 3000-5000 instead
of 400-700 units

DELPHI - COBOL Call statement translated
to TFRM_program.RunProgram ...

COBOL programs with SECTIONS - translation fails by call
ALL the subsequent sections eg SECTION1 SECTION. sec11 . statements sec11-exit.
exit. SECTION2. sect22. ... is translated to private void SECTION1 () { sec11 ();
sec11-exit(); sec12 (); ... } instead of private void SECTION1 () { sec11
(); sec11-exit(); }

Catering for goto handling thru P_Continue - if (P_Continue
== true) doNextProcedure - after EXIT the folowing generates java compiler error
: private void procedure1 () { return () if (P_Continue == true) doNextProcedure();
} the compiler error 'Procedure Not Reached' is generated. Solution: The system check
to see if the last statement is return - then the

EVALUATE WHEN TRUE --- true is translated to 1 instead of
'true' in java or Delphi

88 variables eg 88 ws-terminte .. values "y" ...
"Y" this is translated to if (ws-termiated == "y" &&
ws-termated = "Y") instead of

Records with no fields (occurs during translation of multi
01- fields) - should not be displayed ...

Java FDInc files - setInteger("abcd" , "abcd")
is should be setInteger(FieldNum , "Abcd");

Generation of Java forms for files with '_' characters -
eg prog-a is generated as CFrmProg_a instead of CFrmProg_A But then inside the
program we get public class CFrmProg_A ...

Translation of COBOL CALL statement with no parameters -Java/Delphi
- RunProgram (this Will generate RunProgram (this instead of

FDWrapper - java module ReadFields / writeFields methods
wrong format

DELPHI - For loop variables must
be local to the procedure For-Loop Operations. Delphi insists
that the loop variable used must be local to the procedure and not a field within
any objects of any kind. Hence, in Procedure Tform1.proc1 beginfor xxx := 1 to
n do:. End; variable xxx has to be defined in the procedure. Ie Procedure Tform1.proc1 var
yyy : Integer; beginfor yyy := 1 to n do begin xxx := yyy ; end; End;

VAX COBOL - Can declare information normally on 'SELECT
ASSIGN' with the FD section.

COPY 'abcd' - with no file extension, whilst the actual
copy file is 'ABCD.ws'

call statements containing data-groups (copy files) is translated
with every field in the call ....statement instead of passing the CLASS instance
as parameter.

Lexical Analyzer - 0xff characters inside a Quoted string
is treated as EOF character !!

COBOL - ACCEPT variable FROM DAY - type statements has been
reworked

FD files generate multiple Schema Entries - some of which
is invariably empty (Bug introduced in 0.9.5.2)

Preprocessor : COMPUTE a = (.85 ...) -> translted to
COMPUTE a = { \. 85

Lexical Analyser - translates some invisible characters
to '\\'

"Copy Files Not Found" Due to conversion of "-"
to "_" character in filenames w Many target languages do not allow "-"
characters in variable names. Hence all "-" character are converted
to "_" character. This is causing a problem with file/directory name.
For example, COPY "data-dir\file-1.cbl" but the actual file is now converted
to will be converted to "file_1.cbl" but then the system cannot find
the directory or the the file as they do not exist.Currently users must manually
modify the file name / directory name of the COBOL programs so they do not contain
"-" characters.

MFCOBOL -> $SET ... Statments should be removed or commented
out from code. These can have no effect on the target code.

COBOL -EVALUATION true WHEN CONDITION - improved to cater
for larger set of conditions

Parser - Conditional Statementsfailed on the following type
of condition : A and B not = SPACES

COBOL variables of type : Field OF Record - problems introduced
in version 0.9.4 - corrected Also fixed parser to cope with :

Problem with Spurios '\\' characters generated within the
Lexical analyser corrected

COBOL Double QUOTES character representing quote mark within
the literal - not properly handled

Lexical Analyser - Problems with continuation lines sorted.

Project / Works directory lost in File|Setup|Directories
after restart of application

Saving processed/analysed FD's on multi-dimentional FD's
- the Field-class data not saved !

Saved Parsed / Analysed FD Descriptions - somtimes uploading
the saved definitions fails

conditional : if (A + B) = C ... parse fails , ((A + B)
= C) successful

Preprocessor - COMPUTE a = b /c -- Space required after
'/'

Comments between FD record .... and the end-statement '.'
cause parser to fail eg. FD record * This is a comment line block contains 180 records
.

88 variable VALUES 5, 10 THRU 20 - OR ... 5 thru 10 thru
1234 ... The system can handle 88 variable values 5 , 19 , 29 . or 88 variable values 9 thru 100. but not the combination,
ie the following will NOT be handled 88 variable values 5 , 19 , 29 , 90 THRU 100. The system will fail during Parsing phase.

Translation of multi-dim FD's -- too many record generated eg: FD
record1. 01 a . 02 a1 pic 99. 02 B occurs 3 times. 03 b1 pic 99. 03 b2 pic 99.
03 c . 04 c1 pic 99. This should be translated to 2 records - 'A' and
'B'

CORECT UI - Processing page - 'Start' Button not visible
under some NT/95 boxes !!!

Swapping target language from Java to Delphi
in same session causes the name ...

COBOL Data Fields with same names - the analyser assumes
the incorrect field eg 01 rr2 \. 02 gg12 pic "99" \. 02 gg13 \. 03 f1
pic "99" \. 02 gg14 \. 03 f1 pic "99" \. ... move 10 to f1
of gg14 \. move 10 to f1 of gg13 \. The system will fail to catch the correct
'F1' in the first statement, and in the 2nd statement the F1 found will refer
to gg14 - ie the wrong entry.

Linkage Items defined internally (not using COPY files)
are printed with a 'T.' prefix !! eg when the following is defined internally to
a program Linkage section. 01 all-vars . 03 a pic 99. 'a' is translated to as 'T.a'

COBOL Data Fields with same name - in WS section not renamed
(those in FD are handled)

Generated Programs - Java - Wrong no. of brackets in Multi-dim
Array definitions eg for a 2 dim array the system wrongly prints int a[] = new
int [2][4]; instead of

Java String comparisons - use compareTo instead of == or
>, etc

Generated Programs : Delphi / Java
- function HideAllPanels not properly terminated The function is inserted in all
programs with screen items. Also the function is inserted in the programs which
have no screens/requirement for it.

Generated Programs - Matching group fields to strings ... eg 03 abc . 05 a pic 9. 05 b pic 9. Then the following works : MOVE "0" to a gets translated to a = strToInt('0'); But MOVE "0" to abc gets translated to a =
'0'; b = '0'; instead of a = strToInt('0'); b = strToInt('0');

Generated programs - Delphi - programs
with no screens - methods have wrong classnames

Generated Programs - Delphi - RunProgram
method - when no form is involved the variable

Generated Programs - Delphi - files
in WSInc directory - class definition should not end in ';'

Generated Programs- Delphi - files in WSInc directory -
file names are incorrectly prefixed with 'T'

Delphi Code Generator - forward declaration
of 'RunProgram' in generated programs ...

Parser - fails on COBOL CALL statements

FDInc - wrapper files - OpenUsing methods generated incorrectly

Multi-dimentional data containing REDEFINES - create ambiguous
definitions

Progress Indicator for parser now based on number of lines
instead of '.' ...

Parser fails on conditional statements containing ' NOT
>'

Parser fails on multi-conditionals involving arrayed variables

Children of CACMArrayedQuery - Problems Following problems
were found and corrected - rs.setString("Company_Info.Comp_Address[Li_1]" , Company_Info.Comp_Address[Li_1]
); the first parameter to setString should not contain array information - for (Li_1 = 1 ; 3 ; Li_1++) { { additional braces and for condition
incorrect - rs..executeUpdate(SQL); - xyzRecord.Readfields () ; the Readfields
wrong case readFields ();

SQL Wrapper files in FDInc :: too many fullstops on line
rs..executeUpdate(SQL); + Others ... Also wrong number of tabs on that line + tmp_Update.add('UPDATE mx_company_info SET'); <<- use of single
quotes --> Fixed + private void readFields () // and writeFields() int Li_1 = 0; public
CACMQuery Mx_Company_Info = new CACMQuery (); { << -- wrong place for braces
+ openUsing_Company_Info is written out twice - fixed + in writeFields () we have Rs.SQL := tmp_Select; <<-- wrong equate
sign -- DONE + delete () has the following - fixed Nil.addSQL("DELETE FROM
MX_COMPANY_INFO WHERE Mx = :Mx");

DELPHI - Software Mining Edit, etc ; onExit method don't work !!!!

Cobol Calls / RUN / PRograms with no screens / Forms still
put FRM_ ...

MOVE zeros/spaces TO array_group-1. Where group-1 contains
many fields, only the first field will be equated to 0/spaces. eg 03 a occurs 9
times pic 99. move zeros to a ;

IBM COBOL - write xyz after POSITIONING abc . -- parser failse after POSITIONING - Position treated as SKIP

COBOL Arithmatic operations of type - ADD 10 TO X , Y - is parsed incorrectly

IBM COBOL - EXAMINE statement is now handled as INSPECT

COBOL numerical Procedure names not supported. eg : 01 .MOVE
x TO y or 02 Section.

JAVA - breaking the iteration cycle translates to RETURN
instead of BREAK

JAVA Migration - if ... then ... else { ...} , - only the first statement in ELSE statements printed !!

PERFORM UNTIL EXIT - iteration lost in translation

Java - "lstScreen" removed. New Information is
now displayed using "System.out.println" lstScreen required to be placed
inside a panel (to enable its peer) before information can be written to it. Without
this panel the system was generating null pointer errors. The information is now
written to System.out.println.

JAVA - string equality test - use (String1.equals(String2))
instead of (String1 == String2)

COBOL -> JAVA - COBOL exit statement is now translated
to exit (0) instead of return();

COBOL long Strings with more than one continuation lines
cause Preprocessor to fail

Already processed Data files in repository no longer utilized
-

Prepare File - Cannot Create Output File - Error -- Directory
Containing '-' cha When output DIRECTORY contains '-' character , the character
is converted to '_' and hence the directory is no longer found!.

Help files not viewable on default installation setting !

JAVA - Conversion of COBOL arrayed variables - occurs n
times -> array of [n + 1] eg 03 var 1 pic 99 occurs 10 times . is translated
to

COBOL 'Quotes' reserved word - eg VALUE QUOTES not handled
properly

COBOL equality statements eg IF A GREATER THAN B - Parser
fails when 'THAN' missing

COBOL variable definition : var1 PICTURE IS ... . The 'IS'
parameter causes parser fail

Java/Delphi - Translation of Cobol Comment Strings - erronous
';' after character

Full stop character after column 72 (or user specified End
Column for COBOL files) causes parser to fail

MicroFocus COMP-5 variables - eg ... PIC X(n) COMP-5 translated to integer of n (32 Bit) bytes

Java / Delphi generated programs - Program Flow logic statement
Missing Missing. - eg first_method (P_continue) { .... // the following type of statement
is missing from all generated programs if (p_continue == true) next_Method (p_continue); }

COBOL: 01 var1 VALUE SPACES -> JAVA : ... new String(SPACE); 01
var1 pic x(10) VALUE SPACES is translated into String var1 = new String (SPACE); instead
of String var1 = new String("");

COBOL variable names can start with Numbers - illigal in
Java/Delphi

lstScreen..setText("") ; - when attempting to
clear the list box

'Generate WS Include Files' function not working ! -

Edit boxes in the Translated Screen - names converted to
"edt_varName" instead o

TARGET-LANGUAGE must be user definable -

Variable names begining with digits - not allowed in Delphi
or Java

CANCEL ALL - statement not parsed

Java / Delphi generated programs
- Wrong Names issued for PANELS. In an ACCEPT field1 at 10 20 where 03 field1 pic
x(20) type statment, 3 things will be generated -var declaration : String field1; -edit box : TextEdit field1_box; -panel: Panel field1; there are conflicts
between field1 as String and field1 as Panel

COBOL Author Line : AUTHOR . A . B .Smith . - the additional full-stops causes parser to fail

DELPHI - Constructor calls have wrong
format !! eg ABCD := (); TABCD (); instead

No of Items representing the Linkage items generated for
RunProgram construct is

All generated RDB records have indexes that contain all
fields of original record !!

Precompiler Cobol statements begining with '$' should be
handled

COPY filename REPLACING xxx WITH yyyy CORECT cannot handle
this statement. The file must manually be copied and modified. Note that often
this type of statment is used for changing field descriptions to globals, e.g. :COPY "fd1.cpy" REPLACING ==RRECORD1== BY ==RECORD1 IS
GLOBAL== . In such situations you can safely Commnet out the replacing lines,
as all variables within a COBOL module are accessible to the whole module. NOTE
IF YOU DO COMMENT OUT THE REPLACING SECTION IN THE ABOVE EXAMPLE, YOU WILL NEED
TO PUT A STATEMENT TERMINATOR (ie '.') AT THE END OF THE LINE 'copy "fd1.cpy".

COBOL COPY statement in the PROCEDURE DIVISION This is currently
not handled. The copy files will often have to be manually copied into the program
- or where possible the COPY statement replaced by a CALL statement - with the
relevant variables passed into the COPY file as input parameters. Note that here
you will have to alter the copy file slightly and turn it into a COBOL program
by including the IDentification , Environment and Procedure Division. Note that
this approach also helps in trapping and removal of unwanted Declarative Sections
(see Limiteations | COBOL Declarative Section)

COBOL TYPEDEF statements

Translation of Screens - All screen items positioned on
the same line !

DELPHI : Procedure names cannot start with numerical values (0-9)

Modifiying the 'Assumed Length' of a variable - the information
is not saved in the Mods file

DB Objects: Multiple FD records - Indexes of the 1st record
applied to 2nd rec
|