diff options
| author | johnvg | 2011-05-10 13:41:36 +0000 | 
|---|---|---|
| committer | johnvg | 2011-05-10 13:41:36 +0000 | 
| commit | 2a5e67f4066d2ad670e9b8b20f5090b77987d14b (patch) | |
| tree | d31ff70bb25a19092679ec5087f05c22f2c76030 /portToNewSyntax/help.txt | |
| parent | don't use freopen to redirect stdout and stderror, (diff) | |
delete portToNewSyntax
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1938 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'portToNewSyntax/help.txt')
| -rw-r--r-- | portToNewSyntax/help.txt | 115 | 
1 files changed, 0 insertions, 115 deletions
diff --git a/portToNewSyntax/help.txt b/portToNewSyntax/help.txt deleted file mode 100644 index aa70654..0000000 --- a/portToNewSyntax/help.txt +++ /dev/null @@ -1,115 +0,0 @@ -        coclPort - a tool to port Clean 1.3 programs to Clean 2.0 -	---------------------------------------------------------------------------- - -Folder contents ---------------- -	 -	coclPort.exe - a tool to port Clean 1.3 programs to Clean 2.0 -	StdEnvPort - a necessary standard environment -	help.txt - this file - - -Why to use coclPort -------------------- - -	Clean 2.0 is not downward compatible to Clean 1.3.x: Due to changes in the -	syntax there are Clean 1.3.x programs that cannot be compiled with the new -	Clean 2.0 compiler. Fortunately these changes in syntax are rather small. -	The most important syntax modification is concerned with explicit -	import statements (see the documentation about differences between Clean -	1.3 and Clean 2.0 programs). - -	Purpose of coclPort is to help you to port Clean 1.3.x programs to -	this new syntax. - -What coclPort does ------------------- - -	coclPort is indeed a Clean 2.0 compiler that is modified such that it can -	handle Clean 1.3 import syntax. Therefore it cannot handle 2.0 import syntax. -	To port a 1.3 module -	just compile it with the coclPort compiler. Then for this "original" module -	a copy of that module is written out in which the explicit import -	statements have been adapted to Clean 2.0 syntax. This copy will be written -	into a folder named "PortedModules" which will be a subfolder of the folder -	that contains the original module. - -	Due to some other slight changes -	in the language it is possible that your Clean 1.3.x modules will not be accepted -	by coclPort. For instance the "String" type has become a -	basic type (so you can't import it explicitly). -	In that case you have to modify the contents of the original module -	and try again. -	 -	coclPort has some insufficiencies. See section "Insufficiencies". - -The preprocessor ----------------- - -	We have built a primitive preprocessor into the Clean 2.0 compiler -	that allows conditional compilation. This enables you to write sources -	that can be compiled with Clean 2.0 and Clean 1.3 regardless of -	the incompatibility of these compiler versions. coclPort will generate -	preprocessor directives, too, e.g consider the following statement: - -	    from module_name import == - -	The produced output might look like this: - -	    //1.3 -	    from module_name import == -	    //3.1 -	    /*2.0 -	    from module_name import class ==, instance == Int, instance == Real -	    0.2*/ - -	The preprocessor is explained in the documentation about differences -	between Clean 1.3 and Clean 2.0. - -How to use this program ------------------------ - -	You have to tell the CleanIDE that for compiling a module it should -	launch "coclPort.exe" instead "cocl.exe" (BTW "cocl" means "Concurrent -	Clean"). In the CleanIDE select an environment that uses the Clean 2.0 -	compiler. Now select "Environment/Edit Current" and select the "tools" -	button. The field at "compiler:" determines where the CleanIDE finds the -	Clean commpiler (cocl.exe). You should be sure that this entry indeed -	refers to the Clean 2.0 compiler and not e.g. to a Clean 1.3 compiler! -	Put the file "coclPort.exe" into the same folder as "cocl.exe" -	and change the entry in the field at "compiler:" from "cocl.exe" -	into "coclPort.exe". Now the CleanIDE will use coclPort as the compiler. - -	But coclPort needs another standard environment than cocl. You have to replace -	the path to StdEnv to a path to StdEnvPort. You can set paths with the -	"Environment/Edit Current" or "Project/Project Options" dialog. - -	Now simply try to compile your project. - -Insufficiencies ---------------- - -	Certain restrictions are imposed on the source code that should be ported: -	  - For every explicit import statement the "from" token should be the first -	    non white space character in that line. After some white space characters -	    the line should then contain the module name (and not e.g. a comment first). -	    This excludes the following import statements -	      /* comment */ from module_name import f -	      from /* comment */ module_name import f -	      from -		    module_name import f -	    An explicit import statement that is outcommented with "//" will work fine, -	    since it will be ignored anyway: -	      // from module_name import f -	  - coclPort has problems when a line within a comment begins -	    with the "from" token this can be mistaken as an explicit import statement -	    by this program. As a consequence in the "ported" version there might appear -	    an explicit import statement within that comment that should appear somewhere -	    else. Example: -	      import aphrotisaica /* And I knew I loved her -	         from that moment on until forever */ -	However we think that when something goes wrong with this program it should -	be easy to adjust the ported modules manually after it has been tried to -	compile them. The ported import statements will appear at least _somewhere_ -	in the generated sources. -	
\ No newline at end of file  | 
