gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control systemdiff --git a/docs/running-ant.txt b/docs/running-ant.txt
--- a/docs/running-ant.txt
+++ b/docs/running-ant.txt
This project supplies an ant build file.
When used without parameters it will
This project supplies an ant build file.
When used without parameters it will
-- build the main tool, mjc2wsl, as well as the MicroJava compiler
+- build the main tool, mjc2wsl
- compile all the given MicroJava samples in a temp folder
- translated these to WSL
- run a transformation script for all of these files
- compile all the given MicroJava samples in a temp folder
- translated these to WSL
- run a transformation script for all of these files
Many of these can be given parameters, such as
Many of these can be given parameters, such as
-ant mjc2wsl -Dfilename=temp/Rek1.obj -Dmjc2wsl.options=-q
+ ant mjc2wsl -Dfilename=temp/Rek1.obj -Dmjc2wsl.options=-q
+
+Alternatively parameters can be specified in a file named
+"custom.properties" in the root folder of the project (next
+to "build.xml").
General tasks
General tasks
MicroJava tasks
---------------
MicroJava tasks
---------------
-These tasks use "compiler.class.dir"
+These tasks use "compiler.class.jar" to get the classes,
+but will also look first into "compiler.class.dir" if there
+is any override.
+
mj-decode - decode the bytecode given in "filename" into
operation names and parameteres (uses
mj-decode - decode the bytecode given in "filename" into
operation names and parameteres (uses
Testing tasks
-------------
Testing tasks
-------------
+There are two sets of tasks for comparing outputs of
+different versions of programs.
+
+The fist set compares the original MicroJava code compiled
+into bytecode with the version translated into WSL (using
+mjc2wsl). These are "test-all-m" and "test-fn-m".
+
+The second set compared the translated WSL with the
+transformed version. These are "test-all-t" and "test-fn-t".
+
+In either case, the two versions of the program are run with
+inputs from the "${tests.dir}", the outputs are recordered
+and automatically compared (using customized perl scripts in
+the first version). For a given ${file.name} of the program,
+it will be run with inputs from any files that match
+"${file.name}*.txt". If there are none, then the program
+will not be tested.
+
+Obviously this could prove to be problematic if some
+programs have names that are longer versions of other
+program names (like "chars" and "chars-and-numbers", where
+any test for the later would be (wrongly!) ran for the
+former as well).
+
+
+Manual testing helper tasks
+---------------------------
+
test-run - run sequentially the '.obj', '.wsl' and '_t.wsl'
versions of the same program. given are "file.dir" and
"file.name" without an extension.
test-run - run sequentially the '.obj', '.wsl' and '_t.wsl'
versions of the same program. given are "file.dir" and
"file.name" without an extension.
"file.dir" is "samples.temp.dir".
"file.dir" is "samples.temp.dir".
+Metrics tasks
+-------------
+
+these tasks generate comparison outputs for transformed
+versions of WSL programs in a CSV file using the custom
+metrics script given in the `src-wsl` directory.
+
+
+Visual comparison tasks
+-----------------------
+
+currently there is a task that can generate LaTeX sources
+and compile them into a pdf showing in parralel how
+the program looks in MicroJava, bytecode, translated WSL
+and transformed WSL.
+
+
Logging
------------------------------------------------------------
Logging
------------------------------------------------------------
wsl-transf-samples is logged in
"transformations-TIMESTAMP.txt". The last run is always
copied to "transformations.txt" (property
wsl-transf-samples is logged in
"transformations-TIMESTAMP.txt". The last run is always
copied to "transformations.txt" (property
-"log.file.transformations")
\ No newline at end of file
+"log.file.transformations")
+
+similarly the testing tasks are logged.