[Oberon] Re. Compiler.Tool
    easlab at absamail.co.za 
    easlab at absamail.co.za
       
    Sun May  2 14:10:44 CEST 2004
    
    
  
Peter E. wrote:
> cg> Yes I too think the use of the ":" after <partitonName> is inconsistent.
> 
> I didn't intend to say that. How is it inconsistent?
On my 2001 version:
OFSTools.Unmount  Devlp   ==> Devlp: unmounted
       as does 
OFSTools.Unmount  Devlp:
  == inconsistent.
So is ":" part of the partition-ID or just a token separator ?
OFSTools.Mount  Devlp:  AosFS  IDE1#24 ~
  ==> Devlp:: mounted
So if ":" is a token separator what is "Devlp::"
Now with the following partitons mounted:
SYS: SYS: GCAosFS , C: GCFatFS , Persnl: GCAosFS , NoDocm: GCAosFS ,
OCGE: GCAosFS , Devlp:: GCAosFS    <--- !! NB !!
OFSTools.Unmount  Devlp:  == Devlp: not found
OFSTools.Unmount  Devlp:: == Devlp: not found
OFSTools.Unmount  Devlp == Devlp: not found
BTW I think you've forced me into a 'trap' where I can't close the Devlp:: 
partition.  That's what I meant by "learn to live with the bugs; just
'capture' the 'safe routes' [action-sets] in tools and scripts".
I expect partitions to have inconsistencies because they were an 
added-on facility.  
Consider, by analogy: 'a..de' is apparently a valid 5-char file-ID.
Since "." is a valid FileIDChar and NOT a token-delimiter.
> cg> The intention is NOT to pre-ppend partition identifiers.
> 
> I don't follow.  Please elaborate.
Well, you've cut it out of the thread, but as I remember you use
Compiler.Compile \O<CharString>   *
with <CharString> = "SYS:"
You have to consider 2 independent levels of operations:
1. string manipulation,
2. valid operations on a string which is a fileID.
And since the Compiler.Tool operations  were designed before 
and independant of the partiton facilities/operations/commands,
the pre-ppend-ed<CharString> could be:
i) any CharString ?
ii) any valid fileID ?
If the /O option does the operation of prefixing  the 4 chars "SYS:",
that's understandable.   But the allocation of the resulting file in 
a non-default [eg. non SYS: partition] is another matter.
This whole discussion is getting very convoluted and 'lispy', but I'd
like to see if/how:
Compiler.Compile \O Partn2:  *
would put the *.Obj to partition: Partn2 ?!
I doubt it.   Naming the intended file and allocating it, using the
new partiton facilities are 2 separate operations.
You will remember that OFSTools operations need one operation
to build the text-strings which 'talk about' files, and a second 
operation to consume these text-strings to operate on the file(s).
== Chris Glur.
PS.
> Options, not operations.  They are listed 
> in the Compiler.Tool.
It's not certain that my ver 2001 Compiler.Tool looks like yours.
I'm analysing what the commands DO ie. their operation, NOT
that they are optional.  "optional" [like "feature"] is a marketing word:
it tells how the person [who decides to pay] interacts with the machine.
    
    
More information about the Oberon
mailing list