[M3devel] Looking to update cm3 manual page.
Daniel Alejandro Benavides D.
dabenavidesd at yahoo.es
Mon Dec 7 17:03:45 CET 2009
Hi:
probably you want to take look the DEBUG pragma of Cambridge Modula-3 cam3:
http://web.archive.org/web/20040103230522/www.rrw-net.co.uk/semiramis-org-uk/rrw/docs/m3/m3.pdf or here http://web.archive.org/web/20040714091911/http://www.rrw-net.co.uk/semiramis-org-uk/rrw/docs/m3/index.html
the pragmas explained there are actually documented to be in the sources of cm3 see history notes http://opencm3.net/about-cm3.html
I think there is a table of compiler options for cam3 (page 54 and 55 which have some of it also listed in the cm3 -? message of the pdf document above) and of "pass 0" of it which are listed there on page 57. Page 56 have a list of pragmas ( http://web.archive.org/web/20050112061744/www.rrw-net.co.uk/semiramis-org-uk/rrw/docs/m3/node42.html#SECTION00630000000000000000 ) also see the traditional CM3 and DEC SRC pragma list (http://opencm3.net/doc/help/cm3/pragmas.html) but there isn't more information about <*INTRINSIC*> pragma than see http://opencm3.net/about-cm3.html
I think there other DEC in-house pragmas which the cm3 sources inhereted and are not linked to the compiler process itself like PRAGMA SPEC <*SPEC ...*> (i.e. http://opencm3.net/doc/help/gen_html/libm3/src/sequence/Sequence.ig.html see doc in http://web.archive.org/web/19970605182158/www.research.digital.com/SRC/esc/Esc-speclang.html) and those of .lm3 Larch Modula-3 checking (they were in .lm3 files i.e m3-libs/m3core/src/text/Text.lm3 , I think compiler didn't handle it. but still there is a syntax grammar that can be used to build a syntax checker of it http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-72.html ).
Another pragma that could be documented is the one present and explained in the documentation <*TRACE*>:
http://apotheca.hpl.hp.com/ftp/pub/DEC/SRC/hypertext/Modula-3/user.html
see source code in m3-sys/m3front/src/misc/Token.m3
and documentation in the SRC Modula-3 version 2.11 documentation:
Hope this can be useful for the man page and improved documentation you can take in account
--- El mié, 2/12/09, Peter Eiserloh <eiserlohpp at yahoo.com> escribió:
> De: Peter Eiserloh <eiserlohpp at yahoo.com>
> Asunto: [M3devel] Looking to update cm3 manual page.
> Para: "M3Devel" <m3devel at elegosoft.com>
> Fecha: miércoles, 2 de diciembre, 2009 12:01
> Hi all,
>
> It has been more than half a year since I last looked at
> the
> CM3 manual page. I am now looking at the it in
> preparation
> for the release of version 5.8, and noticing some
> deficiencies.
>
> I asking for help in identifying any further places it is
> lacking.
> I can integrate any feedback into a revised manual page,
> and
> submit an updated version back to the archives.
>
>
> Currently identified deficiencies:
>
> o The manual page should explicitly state which version of
> the
> compiler it documents.
>
> o The sub-section "Expected Directory Structure" needs a
> better
> discussion, especially an introduction.
>
> o The discussion of mode option "-ship" mentions
> environment
> variable CM3_INSTALL_ROOT, yet in cm3.cfg we set
> INSTALL_ROOT
> without the "CM3_" prefix. This should
> be resolved.
>
> ** What is the exact meaning of these two? Is
> one recognized
> by the compiler, and the other by
> the supporting quake
> code?
>
> o The ENVIRONMENT section does not mention
> CM3_INSTALL_ROOT
> at all. Add a discussion about both
> INSTALL_ROOT, and
> CM3_INSTALL_ROOT.
>
> ** Am I missing any other environment variables?
>
> o Missing command line options for the compiler:
>
> - I currently have "-g", but no discussion of
> -gstabs.
> No discussion about not supporting DWARF (or
> do we?).
>
> o Compiler unique language features, (i.e., pragmas).
> The
> reference books (Nelson, and Harbison) give a list
> of
> suggested pragmas. The manual page should list
> the ones
> supported by the CM3 compiler explicitly, and show
> their
> syntax.
>
> ** Can someone list for me the pragmas supported by
> the
> current (5.8.4) compiler.
>
> o Should list any limitations of either the compiler, or
> the library suite provided with the compiler.
>
>
> For example, the WIDECHAR is limited by its 16-bit
> size
> to only a portion of the unicode character set
> (the basic multi lingual plane), whereas a unicode
> character is 20-bits, and we would need either a
> 24-bit or 32-bit sized type to contain it all.
>
> ** Are there any other known limitations of the
> compiler,
> or library suite?
> - length of identifier?
> - length of TEXT (ie,
> memory)
> - length of filenames, or
> pathname
> (some architectures
> may have differences,
> ie MS-Windows).
>
> o There should be a discussion of the @m3XXX runtime
> library command line options.
>
> o There should be an EXAMPLE section, with example
> source code (Hello world), along with supporting
> m3makefile.
>
>
> +--------------------------------------------------------+
> | Peter P. Eiserloh
>
> |
> +--------------------------------------------------------+
>
>
>
>
More information about the M3devel
mailing list