From 8de498c2244bc3acf2e721c806520a033c9c34b1 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Fri, 13 Feb 2026 11:23:02 +0000 Subject: [PATCH] check --- developer/authored/a.out | Bin 15960 -> 0 bytes .../temp.linux-x86_64-cpython-311/TM_module.o | Bin 190448 -> 0 bytes document/Symbol_Specification.html | 66 ++++++++++-------- 3 files changed, 36 insertions(+), 30 deletions(-) delete mode 100755 developer/authored/a.out delete mode 100644 developer/authored/build/temp.linux-x86_64-cpython-311/TM_module.o diff --git a/developer/authored/a.out b/developer/authored/a.out deleted file mode 100755 index 8bf5c213c8c84904638d9ec7d78f7a6e07befde5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15960 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 diff --git a/document/Symbol_Specification.html b/document/Symbol_Specification.html index d9c0526..ca2a1b4 100644 --- a/document/Symbol_Specification.html +++ b/document/Symbol_Specification.html @@ -1,17 +1,17 @@ - - - Symbol Specification - - - - - - - + + + Tape Machine + + + + + + +
  • Symbol subclass
  • Factory subclass
  • -
  • Context subclass
  • -
  • a null symbol
  • +
  • ContextMap subclass
  • @@ -40,7 +39,7 @@

    - When a Symbol instance is garbage collected, it contacts the Symbol.Factory, so that its identity can be added to the Symbol.Factory's free list. + When a Symbol instance is garbage collected, it contacts the Symbol.Factory, so that its identity can be added to the Symbol.Factory's free set.

    Factory

    @@ -48,7 +47,7 @@

    The Factory has:

    1. counter
    2. -
    3. free_list
    4. +
    5. free_set

    @@ -61,39 +60,46 @@

    - The lowest counter value is zero. At time of Factory initialization the zero value is given as the identity for the SymbolSpace.null symbol. This initialization strategy assures the counter value remains the highest issued symbol identity even immediately after initialization. + The factory __init__ method is given a variable name that is assigned to the identify zero symbol during init. Thus the factory is always in a consistent state and ready to be used after it is made.

    - To add to the free list, first check the current counter value, If the count matches the identity of the newly freed Symbol instance, decremented the count. If the Counter's post decrement value is on the free list, it is removed from the free list and the count is decremented again, this repeats until the new decement count is not found on the free list. It is an error to attempt to free the null symbol, that of 0. + To add to the free set, first check the current counter value. If the count matches the identity of the newly freed Symbol instance, decrement the count. If the Counter's post decrement value is on the free set, it is removed from the free set and the count is decremented again. This repeats until the new decrement count is not found on the free set. It is an error to attempt to free the null symbol (identity 0).

    -

    Context

    -

    - Context is a map keyed on a symbol list. Such a symbol list is called a 'symbol context'. Each key maps to a Factory. -

    +

    Typically a caller does not directly instantiate factories, but instead uses the ContextMap. When this convention is followed, all symbols belong to a context. +

    + +

    ContextMap

    - A program creates a context by calling make while giving it a Symbol instance list. That list, in the order the symbols are given, is said to be a symbol context. The make routine returns a Factory. Thus the returned Factory instance is a context specific factory. -

    + A program makes a factory by calling ContextMap.make while giving make two arguments. The first is a Symbol instance list that serves as the context key. The second argument is a variable that will be assigned to the first symbol in said context. The make routine returns a Factory. Said Symbol instance list can be empty, this is the so called root context. +

    -

    The program should never give make a symbol context that is already a key in the table. make can be guarded using read +

    The program should never give make a context key that is already a key in the map. make can be guarded using read.

    -

    The read function is given a symbol context and returns the corresponding context specific factory, or none, if there isn't one. +

    The read function is given a context key and returns the corresponding Factory, or none if there isn't one.

    -

    A symbol that is part of symbol context will never be garbage - collected. Hence, a symbol context remains in the table even when it is not being used. +

    A symbol that is part of a context key will never be garbage collected. Hence, a context key remains in the map even when it is not being used.

    -

    A symbol context is deleted from the table by calling the delete interface function and giving it the symbol context to be deleted.

    +

    A context key is deleted from the map by calling the delete interface function and giving it the context key to be deleted.

    + +

    Instantiating a SymbolSpace

    +

    + The SymbolSpace initializer is given a variable that serves as the first symbol to be made, and an optional context which serves as the first context to be made. The context defaults to the empty list. +

    Usage

    -

    A programmer first creates a SymbolSpace, then in normal use, the programmer will create a top level symbol to serve as a namespace. The programmer will then use the resulting context specific factory to create symbols within that namespace +

    A programmer first creates a SymbolSpace. Then, in normal use, the programmer will create a top level symbol to serve as a namespace. The programmer will then use the resulting Factory to create symbols within that namespace.

    +
    + +