n***@gmail.com
2015-09-24 13:28:08 UTC
I created an <automatic menu syntax-directed multi-language> writer,
[the next stage after syntax coloring] ....
-- snip ---- snip ---- see OP: comp.lang.oberon
So, essentially kliking any <hot Tokens> replaces it
with it's expansion.
It's a type of syntax directed menu.
Let me get back to wily, and you write an ETHO prototype.
Oh, for ETHO you'd use eg:
x.START , x.ConstDecls , x.Statements ,x.Expression
===================== Stage 2:-
OK, ETHO seems not to have a:
FindReplaceTextFrame(FindStr, ReplaceStr,TextFrame)
so by doing it manually, each <expansion cycle> costs 4
mouse-klux instead of 1.
Using: START ==
MODULE Mid;
DecLst
BEGIN StmLst
END Mid.
& Substitution sequence : DecLst StmLst IfThenElse
Creates:----
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN StmLst
END Mid.
------
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IfThenElse
END Mid.
------
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IF Xpn
THEN StmLstS
ELSE StmLstS EndIF
END Mid.
------------- OK, ETHO gives it to me in 4 colors
[which you can't see] and helps to simplify.
Let's see if we can/should remove the 2-line gap before " END Mid."
Remove the trailing line terminating the IfThenElse File,
and run the whole thing from the beginning.
==> gives me:--
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IF Xpn
THEN StmLstS
ELSE StmLstS EndIF
END Mid.
----------
This is so simple, it ought to be illegal.
Doing it manually: each cycle of expanding a <HoToken> consists of:
1=mouseMark HoToken
2=klux [Search]
3=mouseWipe TextFrame which has the nameOfThe:HoToken
4=klux [RepAll]
So if you want to experiment with new languages, without the
waste of learning ANOTHER syntax: just build the
(keyWord/HoToken -> ExpansionFile) list.
[the next stage after syntax coloring] ....
-- snip ---- snip ---- see OP: comp.lang.oberon
So, essentially kliking any <hot Tokens> replaces it
with it's expansion.
It's a type of syntax directed menu.
Let me get back to wily, and you write an ETHO prototype.
Oh, for ETHO you'd use eg:
x.START , x.ConstDecls , x.Statements ,x.Expression
===================== Stage 2:-
OK, ETHO seems not to have a:
FindReplaceTextFrame(FindStr, ReplaceStr,TextFrame)
so by doing it manually, each <expansion cycle> costs 4
mouse-klux instead of 1.
Using: START ==
MODULE Mid;
DecLst
BEGIN StmLst
END Mid.
& Substitution sequence : DecLst StmLst IfThenElse
Creates:----
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN StmLst
END Mid.
------
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IfThenElse
END Mid.
------
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IF Xpn
THEN StmLstS
ELSE StmLstS EndIF
END Mid.
------------- OK, ETHO gives it to me in 4 colors
[which you can't see] and helps to simplify.
Let's see if we can/should remove the 2-line gap before " END Mid."
Remove the trailing line terminating the IfThenElse File,
and run the whole thing from the beginning.
==> gives me:--
MODULE Mid;
CONST <CLst>;
VAR <VLst>;
{ ProcDcl }
BEGIN
Asgn V:=X;
WHILE Bool DO;
IF Xpn
THEN StmLstS
ELSE StmLstS EndIF
END Mid.
----------
This is so simple, it ought to be illegal.
Doing it manually: each cycle of expanding a <HoToken> consists of:
1=mouseMark HoToken
2=klux [Search]
3=mouseWipe TextFrame which has the nameOfThe:HoToken
4=klux [RepAll]
So if you want to experiment with new languages, without the
waste of learning ANOTHER syntax: just build the
(keyWord/HoToken -> ExpansionFile) list.