On Sun, Aug 17, 2014 at 12:25:11PM +0100, Dominik Vogt wrote:
> On Sun, Aug 17, 2014 at 11:26:22AM +0100, Thomas Adam wrote:
> > On Sat, Aug 16, 2014 at 01:48:39PM +0100, Dominik Vogt wrote:
> > > First half of the documentation attached. I've spent all morning
> > > writing and need a break now. Whats missing is a list of the
> > > actual syntaxes the commands and the modules use.
> >
> > Wow. This is perfect. I've started analysing this in a lot of detail
> > and am in the process of diagramming this since I think that's useful.
>
> Be aware for a few mistakes and oversimplifications though. It's
> all coming back from my memory now. In times past I've spent a lot
> of time on the parsing, but couldn't fix some of the bugs without
> breaking existing scripts. There are some nasty interactions
> related to the order of expansion, tokenization and quoting.
No worries; this is a fantastic start, and once we have the
commands/modules documented in terms of their own parsing, we can always
check this and refine it as necessary.
> > Would you like me to write up the syntaxes the commands and modules use?
>
> That would be grand. I started that yesterday, but we have 184
> commands at the moment, and parsing of many is quite complicated.
> So, when I noticed that I was becoming more interested in ticking
> commands off the list than documenting their syntax properly, I
> stopped.
It's not going to be a very exciting task, granted.
> I see. I've attached the new version of the document with a
> couple of command syntaxes at the end. If we spend time on this
> now, it would be good if we write down the syntax in EBNF right
> away and try to identify types of information that is common to
> multiple commands. The does not have to be done in all details
> yet, for example, a CONDIFION_FLAG rule for the conditional flags
> would be enough for now; it can be broken down into the individual
> flags later.
I agree. As it happens I'd already started using EBNF for this, so I'm
really pleased with the efforts you've already done on this. As you
say, with things like CONDITION_FLAG, we can just note it and define it
later. So I'm happy to slot in the commands I have documented into this
file as well.
On that, I've gone ahead and pushed a branch to the mvwm repository
called 'document-parsing', and have added the following to it:
rewrite-notes/parsing
I'll aim to keep adding to this file, and pushing out my work as I go.
Hopefully that's acceptible; seems slightly easier than mailing updates
here.
Note that I'll still keep this thread active with progress, etc., so
that yourself and anyone else reading can still follow along.
> Note that the grouping of conditional commands in the attached
> file is wrong - I assumed that the syntax would be more or less
> identical for them, but noticed that this is not the case.
Indeed. I'll take a look when I get there.
Cheers!
-- Thomas Adam
--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)