I got myself a parser
So, only two days later I already have not only (what looks like) a full parser, which has already landed in develop
,
I also implemented the first big change in the grammar and semantics: keywords are allowed mixed with positional
parameters; in case of command execution, they're converted to positional options; in normal function calls they're just
put where they belong.
In the future there will be more restrictive checks so the Python
part of the language does not change, but right now
I'm interested in adding more small changes like that. For instance, as I said before, allowing the options to have the
right amount of hyphens (-o
, -option
or --option
), because right now I have code that prefixes with --
to
anything longer than 1 character. The alternative would be to have another _special_arg
to handle that. And while I'm at it,
also allow --long-options
. This is only possible because there's
an specific check in the code
for that. Unluckily this does not mean I can do the same trick for executable names, so I still lack absolute and
relative commands, and you still have to write osmpbf-outline
as osmpbf_outline
. Maybe I'll just depart a little more
from the grammar and allow those, but I have to deep think about it (that is, let the problem be in the back of my head
for a while). What I can also do is to allow to use several times the same option
(git ('comit-tree', p='fae76fae7', p='7aa3f63', 'a6fa33428bda9832')
is an example that comes to mind) because
it's another check not really done by the grammar.
In any case, it's quite a leap in the language. I just need to test it a little more before doing the next release, which
surely will be the 0.5
. I'll keep you posted!