[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