Skip to content

Commit

Permalink
[Tcl] Minor cleanups in the documentation. (First I saw a typo, then …
Browse files Browse the repository at this point in the history
…I went

crazy.)

git-svn-id: https://svn.parrot.org/parrot/trunk@26438 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information
chromatic committed Mar 17, 2008
1 parent f288f95 commit f3a4648
Showing 1 changed file with 22 additions and 23 deletions.
45 changes: 22 additions & 23 deletions languages/tcl/docs/overview.pod
@@ -1,29 +1,28 @@
=head1 OVERVIEW
=head1 OVERVIEW

This is a from-scratch implementation, based primarily on the tcl man page(s),
and the cvs-current test suite for tcl (8.5.1)
This is a from-scratch implementation, based primarily on the Tcl man page(s),
and the cvs-current test suite for Tcl (8.5.1)

Another interesting project would have been to modify the tcl source and
have it generate parrot directly. Many people smarter than I am have
declared this I<hard>, so I'm rather happy I'm working on it this way.
(Apparently Tcl's bytecode engine is very optimized for Tcl (big surprise).
So, converting the tcl-specific bytecodes there to parrot would be a big deal.)
Another interesting project would have been to modify the Tcl source and have
it generate Parrot directly. Many people smarter than I am have declared this
I<hard>, so I'm rather happy I'm working on it this way. (Apparently Tcl's
bytecode engine is very optimized for Tcl (big surprise). So, converting the
Tcl-specific bytecodes there to Parrot would be a big deal.)

=head1 RUNNING TCL

=head2 Generated Files

When you make tcl, you're generating several files:
When you make Tcl, you're generating several files:

=over 4

=item tclsh

While not included in the C<make all> target, you can C<make tclsh> (or
whatever the executable would be called on your platform), and this will
give you a faux-executable; a C binary that loads in all the parrot bytecode
for partcl. You can then use this in most places where you see
C<parrot tcl.pbc>
whatever the executable would be called on your platform), and this will give
you a faux-executable; a C binary that loads in all the Parrot bytecode for
partcl. You can then use this in most places where you see C<parrot tcl.pbc>

=item runtime/tcllib.pbc

Expand All @@ -40,7 +39,7 @@ is then included by tcllib.pir and compiled to tcllib.pbc.

This is roughly equivalent to C<tclsh> - It takes the command line arguments
(currently, the name of the file you wish to parse), and reads in the file,
and uses the tcl library to parse those contents as tcl. You can also specify
and uses the Tcl library to parse those contents as Tcl. You can also specify
command line options to be used with this bytecode file.

=item src/grammar/expr/pge2past.pir
Expand All @@ -52,7 +51,7 @@ command line options to be used with this bytecode file.
This C<PIR> files are generated from their corresponding C<.tg> and C<.pg>
files. These grammar files allow us to use PGE's implementation of perl6
rules to more simply specify our parsing rules. We use these rules to handle
both the general parsing for tcl itself, as well as the sub-"language"
both the general parsing for Tcl itself, as well as the sub-"language"
used by expressions in [expr] and elsewhere.

=back
Expand All @@ -63,7 +62,7 @@ The Tcl PMCs (Parrot Magic Cookies) are the user visible data types. These
live in the C<*.pmc> files in F<src/pmc/>. They are compiled into a
dynamically loadable library which is loaded with the C<.HLL> directive
(HLL stands for High Level Language). Most of the functionality associated
with these PMCS is derived from the base parrot classes, except as noted below.
with these PMCS is derived from the base Parrot classes, except as noted below.

=over 4

Expand All @@ -73,19 +72,19 @@ Scalar string, with an override for the boolean truth values.

=item TclInt

Scalar integer, with an override for various math. (For example, parrot
Scalar integer, with an override for various math. (For example, Parrot
Integers automatically promote to float division, while Tcl does not.)

=item TclFloat

Scalar float, with an override of the stringification: Tcl floats are
somewhat unusual compared to other parrot HLLs in that integer-valued floats
somewhat unusual compared to other Parrot HLLs in that integer-valued floats
stringify with a trailing C<.0>.

=item TclList

Ordered container, corresponding to values generated by the C<[list]> builtin.
Overrides the default stringification provided by parrot Arrays.
Overrides the default stringification provided by Parrot Arrays.

=item TclArray

Expand All @@ -109,13 +108,13 @@ common to all the scalar value types.
=head1 TESTS

To run the test suite, C<make test>. If you want to also get output from the
TODO tests, C<make devtest> instead. This is NOT the tcl test suite.
TODO tests, C<make devtest> instead. This is NOT the Tcl test suite.
Occasional failures are suspected against svn-head; there should be no
failures in a released version, however.

To run the tcl test suite, type C<make tcl-test>. This will checkout the
appropriate cvs copy of the tests from the tcl repository and run them.
arning, this will be slow.
To run the Tcl test suite, type C<make tcl-test>. This will checkout the
appropriate CVS copy of the tests from the Tcl repository and run them.
Warning, this will be slow.

=head1 EXAMPLES

Expand Down

0 comments on commit f3a4648

Please sign in to comment.