Newsgroups: comp.lang.oberon I created an <automatic menu syntax-directed multi-language> writer, [the next stage after syntax coloring] some months ago, and after being diverted to urgent problems, couldn't see how to use it, now that I'm free to continue refining it. Writing *THIS* will help me SELF-explain how it works? It uses wily: the public domain version from plan9, copied from ETHO. Using ETHO terminology: midMouse = MM = Execute the Command [with name = token-klicked-on]. wily doesn't have ETHO's restriction: that a valid command is <M.P>; but let's see for ETHO. So, at the start, the user loads a TextFrame containing only: START.p START.p is a command [M.P in ETHO terminology] which: replaces the textString "START.p" with eg. the 7-lines: "MODULE ModID; CONST ConstDecls.p; VAR VarDecls.p; PROCEDURE ...... BEGIN Statements.p END ModID." And eg. Statements.p is a command that replaces the textString "Statements.p" with eg. " KnownID.p := Expression.p IF ............ WHILE ............ REPEAT ........... FOR ........... END .... ------------------------------ So, essentially klicking 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
eas lab wrote:
Newsgroups: comp.lang.oberon
I created an <automatic menu syntax-directed multi-language> writer, [the next stage after syntax coloring] some months ago, and after being diverted to urgent problems, couldn't see how to use it, now that I'm free to continue refining it.
Writing *THIS* will help me SELF-explain how it works?
Sorry but it sounds like an alien from outer space... what you may have created was something fantastic, or something like training wheels in borland's IDE's... Since I don't know what you have created, you will have to explain it in english. Are you trying to enhance text editing ability like borland code tools? Something like Acme editor (sorry I'm not much familiar with Plan9 but am studying it). Are you trying to make languages extensible? domain specific languages? Extendable IDE or editor? Something alien I can't understand? anything to Compare it to that humans will understand?
Sorry but it sounds like an alien from outer space..
How about 'A Voice-activated Syntax-directed Editor' https://courses.cs.washington.edu/courses/cse590w/06au/resources/p205-hubbel... Or perhaps 'Eco editing a composed program' http://soft-dev.org/pubs/html/diekmann_tratt__eco_a_language_composition_edi... I am sure this is all just a new trick of Richard Stallman to spread the Emacs gospel. :) Cheers, enjoy your day j. On Fri, Oct 2, 2015 at 1:36 AM, Lars O <noreply@z505.com> wrote:
eas lab wrote:
Newsgroups: comp.lang.oberon
I created an <automatic menu syntax-directed multi-language> writer, [the next stage after syntax coloring] some months ago, and after being diverted to urgent problems, couldn't see how to use it, now that I'm free to continue refining it.
Writing *THIS* will help me SELF-explain how it works?
Sorry but it sounds like an alien from outer space... what you may have created was something fantastic, or something like training wheels in borland's IDE's... Since I don't know what you have created, you will have to explain it in english. Are you trying to enhance text editing ability like borland code tools? Something like Acme editor (sorry I'm not much familiar with Plan9 but am studying it). Are you trying to make languages extensible? domain specific languages? Extendable IDE or editor? Something alien I can't understand? anything to Compare it to that humans will understand? -- Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems https://lists.inf.ethz.ch/mailman/listinfo/oberon
Or perhaps 'Eco editing a composed program' http://soft-dev.org/pubs/html/diekmann_tratt__eco_a_language_composition_edi...
xplained reasons why <programmers don't like...& 70's versions weren't popular> . The following relates strongly to ETHO: which I'll show later. But right now I've hit-some-thing-hot, while reviewing <wily's Tut> " <date replaces it with the current time." He means: the selected text is replaced by <the date>, when MidMousing on the 5Char-token "<date" . Yes: quite spectacular. Last month I exercised wily on this <recursive expand menu-token with text>; eg. by kluxing "ProcDecl", you replace "ProcDecl" with eg: "PROCEDURE ProcID; Decls BEGIN Blok END ProcID;" BTW, I can't remember how it works & am just ad-libbing this now! Since my directory is called "SIP": this reminds me that I used <sed in place>. NB. that's a further example of the *need for menus* : I've forgotten how it works; but SIP reminds me of the essentials. Looking at how wily handles "<date": it would be far better than my <SIP system> if eg. "<ProcDecl" was replaced by the corresponding text. OK, now I remember: my SIP-system replaces/updates the FILE and not the SCREEN. So one needs to re-load the updated-file on each expansion cycle -- which is just a mouse-klik with ETHO & wily. Let's see how/if to use wily's method. Apparently MidMouse on: "<" <command which writes> replaces the selection with <whatever the command writes>. Let's try with <pwd Wow: that's amazing. OK, one problem: I was hoping for 1 mouse action, it needs 2: 1. select <pwd 2. MidMouse <pwd Let's implement the proposed <expansion> right here [like you can do with ETHO] right now! Ie. write a script named "ProcDecl" which writes the above proposed expansion. echo "PROCEDURE ProcID; Decls BEGIN Blok END ProcID;" And exercise/test it on: <ProcDecl Which replaces "<ProcDecl" with the 5 lines:-- PROCEDURE ProcID; Decls BEGIN Blok END ProcID; Wow !! Now let's replace "Decls" with "<Decls". BTW it's nice that "<" indicates an EXPANDABLE token. Script: ProcDecl == echo "PROCEDURE ProcID; <Decls BEGIN Blok END ProcID;" =================== starting from <ProcDecl [from my ad-lib example, instead of from: "MODULE <ModID"] 3 wipe-kliks give me [from the 2 toy-scripts above]:== PROCEDURE ProcID; CONST A = N, B = N; VAR VarID: Type; PROCEDURE ProcID; <Decls BEGIN Blok END ProcID; BEGIN Blok END ProcID; ================> Yes ETHO can do this too! Now just to paste this from wily to the crappy web-based gmail. Can't someone explain HOW2 access gmail [TLS ..etc] via LEO ?!
participants (3)
-
eas lab -
Jan de Kruyf -
Lars O