next up previous contents
Next: References Up: SML Implementation of Previous: Usage of the Software

Conclusion

The new system we created implements a new Macro COSY environment. It is run on the SUN workstation under the UNIX operating system. The work was under the direction of Dr Lauer. The system consists of four main processors. They are LEXCICAL ANALYZER which translates a COSY program from a string into a token list, PARSER which uses the token list to produce a syntax tree according to the Macro COSY grammar, CSR CHECKER which checks whether the syntax tree satisfies all context-sensitive restrictions, and EXPANDER which expands the Macro COSY program from its corresponding syntax tree into a string which is in the form of a Basic COSY program. We also have a DISPLAYER which displays the expanded Macro COSY program on the screen with a good looking style.

From this project, we have learned a lot of things especially in system design using SML and the expansion of the Macro COSY programs. The functional programming language Standard ML of New Jersey provides a series of useful and convenient mechanisms such as functions, module facilities and polymorphic types to aid us to create the system easily. Because of its strong type checking system, we can easily to find out bugs when the program has some problem. Its module facilities allow us to divide this large system into parts. Before combining these parts together, we can test these parts individually. This reduces the program development time as well as improve the reliability of the program.

Due to time constraints, we did not expend a lot of effort on making the program more efficient. When we compile the system, it will take more than half an hour to finish it. This should be improved in the future. We also found some rules which seem redundant during testing. After we comment out those parts of rules(see sections 3.2 and 3.3), the system still can expand the existing examples. We will leave this problem to the reader.


next up previous contents
Next: References Up: SML Implementation of Previous: Usage of the Software

Peter Lauer
Mon Jul 22 17:29:46 EDT 1996