NOTE PACKAGE NAME: GNU Java Training Wheels (GNU J.T.W.)
NOTE VERSION NUMBER: Version 1.1

NOTE AUTHOR FULL NAME: Davin Max Pearson

NOTE AUTHOR EMAIL: <davin.pearson@gmail.com>

NOTE AUTHOR WEBSITE: <http://davin.50webs.com>

NOTE COPYRIGHT: (C) Copyright 2010-2016 Davin Pearson

NOTE LICENSE: GNU GPL for the code and GNU Free Documentation License for the documentation

NOTE DESCRIPTION:

I have created two new pre-processor programming languages: Java
Training Wheels (J.T.W.) and Lisp++.  The Java Training Wheels
language is powered by a pre-processor that adds features not found in
the Java language.  As proof of concept for J.T.W., a SUPERFOR macro
is presented much like for loops in the BASIC programming language.

Also as a second proof of concept, a file inclusion mechanism is
presented that behaves like the C Pre-Processor so that J.T.W. methods
can be placed in their own source files when these methods become
large and unwieldy.

The J.T.W. language also introduces BEGIN and END constructs, which
are simpler for novices to learn than Java's { ... } constructs.  The
{ ... } construct is more suitable to advanced programmers like Lisp's
( ... ) construct.  However novice programmers want all of the help
that the compiler can give them, which includes support for the BEGIN
... END constructs.

Also I have introduced new keywords: FUNCTION, METHOD, PROPERTY,
CONSTRUCTOR, CLASSVAR, VAR, THEN, ELSEIF, AND, OR, BEGINMAIN and
ENDMAIN.

NOTE URL TO PACKAGE HOME PAGE: <http://davin.50webs.com/J.T.W>

See the above URL for instructions on how to install the tarball
gnu-java-training-wheels.tar.gz.  Alternatively, you can follow the
instructions in this file.

NOTE URL TO SOURCE TARBALL: <http://davinpearson.com/binaries/java-training-wheels-1.1.tar.gz>

If you are reading this document then you would have already installed
the above tarball.

NOTE INSTALLATION FOR DUMMIES:

(1) This tarball should be extracted to any location on your hard
drive.  I recommend ~/temp but anything will do.

(2) While in the above created folder, you should issue the following
command: ./configure to copy all of the files to their intended
locations.  The Makefile target "make install" does nothing and exists
only to satisfy the GNU package maintainers.

The installer will ask you if you want to install Davin's full version
of GNU Emacs.  It will also ask you for a location for your *.jtw
files.  I recommend /usr on GNU/Linux systems and
c:/java-training-wheels on M.S. Windows systems.

NOTE COPYLEFT STATUS:

All files in the tarball gnu-training-wheels.tar.gz are being offered
to GNU.  Some files are tutorials, others are code files.  The
tutorial files are released under the GNU Free Documentation License,
and the code files are released under the GNU General Public License.

see the following U.R.L.'s for these licenses:

http://www.gnu.org/copyleft/fdl.html for the GNU Free Documentation License

http://www.gnu.org/licenses/gpl-3.0.txt  for the GNU General Public License.

NOTE INSTALLATION FOR EXPERTS:

(1) The file manual/tesinfo-mode.el is a major mode for editing
*.tesinfo files.  The "s" in tesinfo-mode.el stands for texinfo
_S_ource file.

(2) After installing the documentation, the folder
/usr/share/docs/jtw-manual contains code for the actual GNU
J.T.W. manual in *.html format.

(3) After installing the documentation, the file
/usr/share/info/jtw-manual.info.gz contains the documentation in
*.info format.

(4) The files manual/jtw-diagram.* contains image files for a
diagram.

(5) The files manual/Turtles.* contains image files for a
diagram of Turtles for tutorial 14

(6) The file manual/fdl-1.3.txt contains the Gnu Free
Documentation License, the license used by this manual.

(7) The file manual/gpl-3.0.txt contains the Gnu General Public
License, the license used by the code of this package.

(8) The files manual/tutorial-*.tesinfo contains documentation for each of
the 18 tutorial sessions needed to learn to program in J.T.W. and
Java.

(9) The file manual/tutorial-passwords.tesinfo contains passwords for
unlocking the answers to the tutorials which can be found on my
website at http://davin.50webs.com/J.T.W

(10) The file manual/file-inclusion.tesinfo contains documentation of how to
use file inclusion in J.T.W. and Java.

(11) The file manual/packages.tesinfo contains documentation of how to
use packages in J.T.W. and Java.

(12) The file manual/superfor.tesinfo contains documentation of how to use the
SUPERFOR construct which is an enhanced BASIC-style for loop.

(13) The file manual/superfor.el contains a fragment of the Elisp code
for implementing superfor loops.  The actual code can be found in file
dlisp/jtw-build-jtw.el

(14) The file manual/m4.m4 contains code for the m4 preprocessor which is run
on jtw-manual.tesinfo to produce jtw-manual.texinfo which is run using
the makeinfo command.

(19) The file manual/m5.m4 contains code for the m4 preprocessor which
is run on jtw-manual.tesinfo to produce jtw-manual.texinfo which is
run using the makeinfo command.

NOTE CODE DEPENDENCIES:

(1) J.T.W. needs to have GNU Emacs, java, javac, bash, make, grep and
sed on the host system to build *.class files from *.jtw source files.

(2) The file texinfo.tex and the commands chmod, cp, gzip, m4,
makeinfo, mv and rm are required to build the texinfo documentation.

NOTE VERSION HISTORY:

Version 1.0 Used the C Pre-Processor (cpp) to compile #include
directives but unfortunately cpp removes comments from the target file
and /** ... */ comments are harvested by Javadoc to document the
program, so cpp cannot be used.

Version 1.1 Added support for compiling packages.

