Shell Interpreter

shellinterpretercommandinterpreter

SETALL command: When writing FunnelWeb scripts, it is sometimes desirable to set ıall of FunnelWeb's optionsoptions to some particular value so that the script is not vulnerable to changes in FunnelWeb's default values which might occur from time to time. To this end, it may be worth creating a SETALL command that is identical to the SET command except that it will generate an error if the value of an option is not specified explicitly.setallcommand

Recursion test: A test should be added to test for recursive invocation in a shellscript.recursiontest

Diagnostic counting: The code for counting diagnostics in the script interpreter is rather messy and perhaps even buggy. It should be cleaned up and commented.diagnosticcounting

Argument counting: In the command.c module, there is a variable that counts the arguments to a command. Currently it takes the value of the number of parameters including the command verb. This has turned out to make the code less readable. It should be changed to be the number of arguments to the command verb.

Make facility: It may be worth building some sort of make facility into the script language so as to support machines such as the Macintosh that do not already have this facility.make

Signature file: One problem with using FunnelWeb in conjunction with an external Make facility is that a user might change a FunnelWeb source file without making changes that will affect the files that it generates. If FunnelWeb is then run and the +D option is on, then the output files will be deleted (to avoid further Make propagations). If Make then has a production linking the .fw file to its output files, then it may conclude that the output files are still out of date. To solve the problem, FunnelWeb could be changed to write a .sig file whenever it processes a .fw file. The Make production could then be wired up to link the .fw file to the .sig file instead of to the output files.signaturefile