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

©2002 KingsHall Data Ltd. All rights reserved.
open source solution  plombier rachat de credit thalasso plombier paris