
|
We convert Fortran programs to Microsoft Visual Basic version 6 and VB.NET
You get the quality of a manual conversion for the price of an automatic one
How We Do It
How We Work
What You Get
What It Costs
What To Do Next
How We Do It
- We have developed a library of run-time functions that emulate
Fortran capabilities not immediately available in VB such as backspace
and rewind, formatted input/output and certain instrinsic functions
- We have evolved a strategy for implementing Fortran capabilities
with no direct equivalent either in VB or in our run-time library such
as format reversion and implied DO loops within data transfer statements
- We have written a translation program called f2VB that converts Fortran into VB using this strategy in combination with the run-time library
- After conversion to VB, we trace and correct arithmetic expressions
that produce different results in the two languages such as truncation
during real-to-integer conversion and timing differences of type
coercion in mixed integer-real expressionschute de cheveux
How We Work
- You supply us with a representative sample of your
Fortran source code. Usually several thousand lines are required to get
an accurate picture of the particular problems posed by each conversion
- We run it through f2VB, assess the
amount of manual conversion required and prepare an estimate of the
time and costs required to complete the conversion (See Manual
Conversion)
- We return the converted source code to you so that you can review
it for readability and maintainability and evaluate our assessment of
any remaining manual conversion required. At this stage, the code will
compile but will not run without the f2VB run-time library
- Upon acceptance of our estimate, you provide us with a complete
source code program together with a representative input data set and
the output generated by the Fortran program operating on that data set
- We return a running VB6 or VB.NET program that produces the same
results from the input data as the original Fortran. Where numerical
differences exist due to rounding, iterative or accumulative errors, we
explain the reasons why and work with you to assess the significance of
these differences
- You test the VB program on more data sets until satisfied that the
Fortran has been fully converted. We resolve any output diiferences
that may arise during this phase of the work at no further cost to
yourselves
All other services are billed on an hourly basis. Typically, these include:
Manual Conversion
Here are the primary factors affecting the amount of manual work
that needs to be done after a Fortran program has been converted using f2VB:
- VB has a code limit of 64k of per procedure There
is no practical limit on memory usage for variable storage but, being
an object-oriented language, VB is not equipped to handle huge blocks
of unsegmented code. Fortran main programs can exceed this limit easily
and the only way round it is to code the main program as a sequence of
subroutine calls or, sometimes, to move a segment of code that is used
in a central processing loop into its own function. The time required
for such modifications depends directly on the degree of discipline of
the original Fortran programmer. If there are a lot of transfers of
control across large blocks of statements, it can be quite
time-consuming to cut all the strands of spaghetti and sew them
together again across separate modules
- COMMON Block Irregularities COMMON
blocks are most often used to make data available to different
procedures using the same data types and variable names across all
procedures. Such use is automatically handled by the f2VB
source code conversion program. However, FORTRAN does not require
variable names to be the same in different references to the same
COMMON block or even that data type and/or length be preserved across
references. VB has no corresponding way of dealing with this. We
currently have a manual strategy for dealing with the latter problem
and an automated strategy for replacing variable names to bring their
usage into line across procedures
- Data Type Coercion Every arithmetic
statement that mixes real and integer variables in ways that yield
different results betwen the two languages needs to be examined and
converted to bring the VB outcome into line with that of Fortran. Since
f2VB flags such statements automatically, they do not have to be sought out but each one has to be inspected individually
- Ability to Execute the Legacy Code It
can become important for the person converting the code to be able to
execute the Fortran program when tracking down differences between the
results or performance of the two versions. It is also extremely useful
when major code surgery is required to bring procedures under the 64k
code limit. Where the legacy machine or operating system is no longer
available, it may be necessary to convert the Fortran to run on the PC
as an intermediate step in the conversion process. When this is
required, we use Compaq Fortran v6.1 or Microsoft Fortran v5.1.
What To Do Next
- Read about the Advantages and Disadvantages of Converting to VB
- Read the rest of the FAQs
- If you are still thinking about doing a conversion by yourself, read our white paper on converting Fortran to VB so that you don't run into any of the less obvious pitfalls
- Contact us with any additional questions or concerns you may have
- Send us some source code and let us give you a quote
- Vous pouvez aussi vous renseigner auprès de nous en français

Partenaires
|
 |