Next: 4.3 Translator Requirements
Up: 4. The FiST Language
Previous: 4.1 Motivations for the
4.2 Language Requirements
I set forth the following requirements for the FiST language:
- The language should be portable across different operating systems
offering the vnode interface, and accommodate small differences in vnode
interface implementations.
- The language should have a familiar ``look and feel.'' A model like
that used by yacc is desirable.
- No tedious or repetitive tasks should be required. Every option that
can be automated or defaulted should be.
- There should be keywords that can alter the overall behavior of the
generated code. Hopefully, this would make it easy to write a FiST program
by altering a working FiST program for a different type of file system.
- On the other hand, the advanced ``hacker'' should not be left out.
There should be facilities to modify or augment the behavior of every vnode
operation, from simple keywords all the way to hand-writing C code.
- The language should be as high a level as possible while retaining
flexibility to adjust small details and ease of parsing.
- An empty input file should result in a usable file system, in
particular the wrapper file system, described in Appendix
sec-appendix-typical-in-core-wrapfs.
Next: 4.3 Translator Requirements
Up: 4. The FiST Language
Previous: 4.1 Motivations for the
Erez Zadok
1999-12-07