]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix urls in gm2.texi, remove older news, improvements to def2doc.py.
authorGaius Mulley <gaiusmod2@gmail.com>
Tue, 1 Nov 2022 11:43:19 +0000 (11:43 +0000)
committerGaius Mulley <gaiusmod2@gmail.com>
Tue, 1 Nov 2022 11:43:19 +0000 (11:43 +0000)
Remove older papers and talks as the front end has changed
significantly.  Remove older text description for coroutines since the
underlying threading model has also changed.  Corrected other urls
given floppsie.comp.glam.ac.uk has disappeared.

gcc/ChangeLog:

* doc/gm2.texi (Papers and talks): Removed.
Urls to floppsie.comp.glam.ac.uk replaced.

gcc/m2/ChangeLog:

* gm2-libs-coroutines/README.texi: Remove all GNU Pthread text
as the processes now use __gthread.
* tools-src/def2doc.py (emitSubSection): Use '-' character.
(parseDefinition) Improved.

gcc/doc/gm2.texi
gcc/m2/gm2-libs-coroutines/README.texi
gcc/m2/tools-src/def2doc.py

index fdecabc01ab23e5fef03ba4e81d5c2173d3bf280..5d7b800a0462b77d7acad48d25b060357735d394 100644 (file)
@@ -192,7 +192,7 @@ here is a talk on GNU Modula-2 given at
 Manchester on 8th September 2018.
 The title is, ``GNU Modula-2 update, catching semantic errors post
 code optimisation and improved debugging''
-[@url{http://floppsie.comp.glam.ac.uk/Papers/paper23/gaius-mulley-gnu-m2.pdf,slides}
+[@url{https://splendidisolation.ddns.net/Papers/paper23/talk.pdf,slides}
 and @url{https://www.youtube.com/watch?v=6jf6weRuHjk,video}].
 
 @item gm2 1.8.2
@@ -215,7 +215,7 @@ here is a talk on GNU Modula-2 given at
 Hebden Bridge on 9th September 2016.
 The title is, ``GNU Modula-2 status, whole
 program optimisation and language interoperability''
-[@url{http://floppsie.comp.glam.ac.uk/Papers/paper22/gaius-gcc-cauldron-2016.pdf,slides}
+[@url{https://splendidisolation.ddns.net/Papers/paper22/talk.pdf,slides}
 and @url{https://www.youtube.com/watch?v=8GMyxwHdr1E,video}].
 @item gm2 1.1.6
 was released on February 22nd 2016.  gm2-1.1.6 grafts onto gcc-4.7.4.
@@ -416,28 +416,13 @@ or by
 The mailing list contents can be viewed
 @url{http://lists.gnu.org/archive/html/gm2}.
 
-@node Other languages, Papers and talks, Community, Using
+@node Other languages, , Community, Using
 @section Other languages for GCC
 
 These exist and can be found on the frontends web page on the
 @uref{http://gcc.gnu.org/frontends.html, gcc web site}.
 
-@node Papers and talks, , Other languages, Using
-@section Papers and talks
-
-A paper was presented at the @uref{http://www.gccsummit.org/2006,
-GCC 2006 conference} on
-@uref{http://floppsie.comp.glam.ac.uk/Papers/paper15/mulley-proc.pdf,
-the state of GNU Modula-2}.
-
-A @uref{http://www.gccsummit.org/2010/speakers.php?types=LIGHTNING,
-lightening talk} has been given at the GCC 2010 conference titled
-"Exploiting front end knowledge to effortlessly create Python modules"
-and the slides are
-@uref{http://floppsie.comp.glam.ac.uk/Papers/paper20/talk.pdf,
-available}.
-
-@node Using, , Overview, Top
+@node Using, , Community, Top
 @chapter Using GNU Modula-2
 
 @menu
@@ -462,7 +447,6 @@ available}.
 * Built-ins::             Accessing GNU Modula-2 Built-ins.
 * The PIM system module:: SYSTEM data types and procedures.
 * The ISO system module:: SYSTEM data types, procedures and run time.
-* Papers and talks::      Papers and talks.
 * Other languages::       Other languages for GCC.
 * What is GNU Modula-2::  Brief description of GNU Modula-2.
 * Why use GNU Modula-2::  Advantages of GNU Modula-2.
index f66c0549a896545550e20d50400f24555dab495a..72a1db3b043335469ccf8cb998b1bd9ec1e554e3 100644 (file)
@@ -5,44 +5,4 @@
 @c For copying conditions, see the file gcc/doc/include/fdl.texi.
 
 This directory contains a PIM @code{SYSTEM} containing the
-@code{PROCESS} primitives built on top of GNU Pthreads.
-
-The justification for this approach is that it provides a
-@code{SYSTEM} compatible with Programming in Modula-2 [234] and the
-Logitech 3.0 compiler. It also allows higher level executives to be
-ported onto GM2 with little effort. The disadvantage with this
-approach is that @code{IOTRANSFER} is not
-preemptive. @code{IOTRANSFER} will only context switch when a call to
-@code{LISTEN} is made or a call to @code{SYSTEM.TurnInterrupts} is
-made.
-
-In practice this limitation can be tolerated as long as processes
-perform IO at some point (or wait for a timer interrupt) or call
-@code{SYSTEM.TurnInterrupts}. But nevertheless a @code{LOOP}
-@code{END} will starve all other processes. However the great
-advantage is that GNU Modula-2 can offer users the ability to use
-@code{IOTRANSFER}, @code{TRANSFER}, @code{NEWPROCESS} in user space,
-on a multi-user operating system and across a range of platforms.
-
-The GNU Modula-2 @code{SYSTEM} works by utilizing the user context
-switching mechanism provided by GNU Pthreads. @code{NEWPROCESS}
-creates a new context, @code{TRANSFER} switches
-contexts. @code{IOTRANSFER} is more complex. There is a support module
-@code{SysVec} which provides pseudo interrupt vectors. These can be
-created from input/output file descriptors or timer events
-@code{timeval}. This vector is then passed to @code{IOTRANSFER} which
-keeps track of which file descriptors and timevals are active. When a
-call to @code{TurnInterrupts} or @code{LISTEN} is made the sub system
-calls @code{pth_select} and tests for any ready file descriptor or
-timeout. A ready file descriptor or timeout will ultimately cause the
-backwards @code{TRANSFER} inside @code{IOTRANSFER} to take effect.
-
-See the @file{gm2/examples/executive} directory for an executive and
-timerhandler module which provide higher level process creation,
-synchronisation and interrupt handling routines. These libraries have
-been tested with the examples shown in @file{gm2/examples/executive}
-and @file{gm2/gm2-libs-coroutines}.
-
-Users of these libraries and the libraries in
-@file{gm2/examples/executive} must link their application against the
-GNU Pthread library (typically by using @code{-lpth}).
+@code{PROCESS} primitives built on top of @code{gthread}s.
index 163987ee91093f1118932ff19001b1c1c67fed80..0891b081acf30b69ce1a3f525221fb0a78684ff1 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-# def2texi.py creates texi library documentation for all exported procedures.
+# def2doc.py creates texi library documentation for all exported procedures.
 # Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
 
 # Copyright (C) 2000-2022 Free Software Foundation, Inc.
@@ -64,7 +64,7 @@ def emitSubSection(name):
         output.write("@subsection " + name + "\n")
     elif args.sphinx:
         output.write(name + "\n")
-        output.write("=" * len(name) + "\n")
+        output.write("-" * len(name) + "\n")
 
 
 #  displayLibraryClass - displays a node for a library directory and invokes
@@ -248,8 +248,7 @@ def parseDefinition(dir, source, build, file, needPage):
         output.write(str.rstrip(line) + "\n")
         line = f.readline()
         if len(str.rstrip(line)) == 0:
-            output.write(str.replace(str.replace(str.rstrip(line),
-                                                 "{", "@{"), "}", "@}") + "\n")
+            output.write("\n")
             line = f.readline()
             if (str.find(line, "(*") != -1):
                 removeFields(f, line)
@@ -257,8 +256,7 @@ def parseDefinition(dir, source, build, file, needPage):
                 output.write(str.rstrip(line) + "\n")
         else:
             output.write(str.rstrip(line) + "\n")
-
-            line = f.readline()
+        line = f.readline()
         while line:
             line = str.rstrip(line)
             checkIndex(line)