aql
@travnja3 I'd like you to take a look at this
Changes:
- rename aql flags
-
-qis now-c(shell-compatible) -
-pis now-e(docker-like)
-
- sort flags (they apparently print in reverse order)
- added
-fflag, which supports loading commands from file- does not add the commands to
.aql_history
- does not add the commands to
- added
-iflag, which support staying in interactive mode after-cor-f- so we can set up an environment from file and then stay with the defined environment
- the order of command executing is as specifies on the command line
- any
quitcommand a stops the execution of all stages
- any
- aql starts in interactive mode if nothing is specifies
However a problem was with EOT token calling QuitCommand which stopped the evaluation after a file was loaded (EOF). I had two options, either send no EOF from file or implement new EOTCommand which just return a new result EOT. I chose the later. Not sure about it though.
Example usage:
test.aql:
execute string::Parse @Automaton "
DFA 0 1
<>0 0 0" > $dfa
execute "f1"
execute "f2"
$ aql2 -c "execute 1" -c "execute 2" -f test.aql ; echo "retval -> $?"
1
2
f1
f2
retval -> 0
$ aql2 -c "execute 1" -c "execute 2" -f ../test.aql -i ; echo "retval -> $?"
1
2
f1
f2
> execute "i"
i
> <EOF>
retval -> 0
aql2 -c "execute 1" -c "quit 55" -f ../test.aql -i ; echo "retval -> $?"
1
retval -> 55
Edited by Jan Trávníček