[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