# FILE. . . . . /home/hak/hlt/src/hlt/osf/apps/v0/Todo.List # EDIT BY . . . Hassan Ait-Kaci # ON MACHINE. . Hp-Dv7 # STARTED ON. . Sun Nov 18 01:29:45 2012 # Last modified on Thu Jan 31 08:31:26 2013 by hak THINGS TO DO FOR OSF V0 (listed in no particular order): ######################################################################## -> Make the last sort expression evaluated be persistent [DONE] so that pragmas with no arguments refer to that implicitly. ######################################################################## -> Cleanup "reset" in Taxonomy, Context, and all Sorts (esp. Top & Bottom) ######################################################################## -> Fix the tokenizer for the missing prompt problem after including a file. ######################################################################## -> Make the parser read an initialization file ".osf" if one is present before doing anything else. ######################################################################## -> Clean up the redundant java code into just one to be shared for timing pragmas and sort expression evaluation. ######################################################################## -> Make the include pragma take many arguments [DONE] ######################################################################## -> Add a pragma to define another pragma as a macro facility reading from a specified string (using the Jacc string parsing facility). For example, defining a '%load "foo.bar"' pragma as a shorthand for '%include "foo.bar". %encode.' could be done as: %pragma load "%include #1. %encode.". where '#1' stands for the 1st argument of the pragma being defined. ######################################################################## -> Make pragmas that take sort symbol arguments take sort expressions - not just sort symbols. [DONE] ######################################################################## -> Provide a sort expression definition facility to be evaluated right away and the resulting code associated to the defined sort name. Note that this does not allow using sort names that are not yet defined or encoded in such a sort definition. Therefore this is always safe as no recursion is possible. For example, if 'foo', 'bar', and 'fuz' are encoded sorts. Then, we the following definitions are ok if given in this order: %defsort buz (foo|bar)\fuz. %defsort bof buz\foo. but that switching the order of these definitions would give an error since 'buz' would be undefined when defining 'bof'. ######################################################################## -> Implement the remaining missing pragmas. ######################################################################## -> Implement a data structure builder and pretty-printer for psi-terms [DONE]. ######################################################################## -> Implement interpretation of psi-terms (essentially evaluate its sort expressions) and adapt the pretty-printer to use the interpreted sort values. NB: Add a pragma "%evaluate" that toggles a switch for the pretty-printer to know whether to print uninterpreted or interpreted sorts. [DONE] ######################################################################## -> Implement a definition facility for psi-terms. ######################################################################## -> Implement a facility for element sorts (numbers, strings, ...) ######################################################################## -> Implement psi-term unification and generalisation ######################################################################## -> Fix hlt.language.tools.Hilite and hlt.language.tools.Documentor to generate ... for the $...$ and %...% items in javadoc comments [see Documentor.formatDoc(String)]; also differentiate the main doc per file for comments and stamps (@author, @date, @copyright ...) ######################################################################## -> Fix Jacc (Grammar.java) to copy /* */ comments while generating the java parser file (rather than generating blank lines as it does now.) [DONE] ######################################################################## -> After that V0 will be finished - move on to V1... ########################################################################