The executables (if any) can be found with the FORM executables . The sources are:
conv2to3.c : (22 Kb) C sources.
conv2to3.c.gz : (4 Kb) C sources in gzipped format.
Translate with
cc -o conv2to3 conv2to3.c
if you are using a UNIX based system. If not, try something similar on the system of your choice. Note that if the directory separator is different from / you should edit the definition of DIRECTORYSEPARATOR in the sources as indicated. The same for the extension character. In the sources they are defined as:
#define EXTENSIONCHARACTER '.'
#define DIRECTORYSEPARATOR '/'
Be careful to use the program only once on each source file!
Program files without an extension (or just a .) will be copied into new files with the extension .frm. Files with an extension will be overwritten. Hence the best way is to copy your old program into a separate directory and then run conv2to3 on all the files. If anything goes wrong (I cannot forsee all program styles) the old sources will still be available. If needed you could try to adapt the sources. If they are generically useful adaptations, let me know. (form@nikhef.nl)
From the program:
We convert:
1: ?,??,???,.,..,... wildcarding into ?a,?b,?c,?a,?b,?c
2: Subroutine calls obtain (,) instead of {|}
3: The main file may get the extension .frm
4: Inline commentary after ; gets marked by ;* to support multiple statements in one line.
5: 'a' notation of preprocessor variables is changed into the now preferred notation of `a'. (quote-quote -> backquote-quote)
6: After a file has been finished the program writes: * 2->3 converted
7: The order of the statements in a module.
8: Write, Nwrite -> On, Off; Idem Compress, ProperCount
9: In specnames the user can provide the names of procedures that contain a .sort or other end-of-module instruction. This will reset the count of statement types inside a module. We give here the example of the procedures ACCU and accu, being used by the author.
Comments:
commentchar treatment assumes that it is not inside any flowcontrol on the whole, its treatment is rather imperfect
Error repaired on 30-oct-2000 (If first character was * there was a mess).