FOL(ID:4452/fol002)


independant file structure description language


Related languages
LPL => FOL   Compiled by
McGee Information Algebra => FOL   Influence
PL/I => FOL   Extension of

References:
  • Claybrook, Billy G. "FOL: A Language for Implementing File Organizations for Information Storage and Retrieval Systems" view details Extract: The LPL Language
    The LPL Language
    Most of the statement forms in LPL are similar to those in FOL so in order to conserve space we give only a brief description of the LPL DEFINE statement, data types, and attributes.

    LPL Data Types and Attributes
    The language includes the data types REAL, INTEGER, ALPHA (equivalent to PL/I CHARACTER), POINTER, LIST, STACK, and QUEUE. LPL has attributes NODETYPE, IDENT, and RFCNT. The declaration
    DCL ITYP INTEGER NODETYPE, ID INTEGER IDENT, RC INTEGER RFCNT;
    declares ITYP to be an INTEGER variable representing the type of a node, ID to be an INTEGER variable having the identification attribute (i.e. ID represents an ID field like that in a SLIP node), and RC to be an INTEGER variable having the reference count attribute. The meaning of these attributes will be described further in the discussion of the DEFINE statement.

    Definition of a Node
    The DEFINE statement in LPL allows the user to describe the nodes that he desires for an application. Each time the DEFINE statement is executed it sets up a template describing that node type. Suppose that we have the declaration statement :
    DCL ITYP INTEGER NODETYPE, RV REAL
    IV INTEGER, CV ALPHA(20), LK POINTER,
    ID INTEGER IDENT, RC INTEGER RFCNT;
    The mode of the variables in this declaration statement indicate to the DEFINE statement the attributes of the fields to be included in a node. The format of the DEFINE statement is illustrated in the example:
    DEFINE NODE(ITYP, RV(1), IV(J), CV(K), ID(L), RC(M), LK(N));

    The variables in the argument list must appear in a declaration statement preceding the DEFINE statement. The I, J, K, L, M, and N INTEGER quantities (they could be INTEGER constants) indicate how many entries of each data type are in a node. Each node can have four types of values: REAL, INTEGER, ALPHA, and POINTER. The IDENT and RFCNT entries in a node allow the user to have his own identifier and reference count fields. This increases the flexibility of LPL by allowing the user to set up any list structure format he desires.

    Not all of the variables must appear in the DEFINE statement. The statement DEFINE NODE(ITYP, CV(3), LK(2), IV(2)); describes a node of type ITYP with three alphanumeric values with 20 characters each, two link or POINTER fields, and two integer values. Extract: Summary of FOL
    Summary

    FOL is an attempt to provide the file designer with a convenient means for implementing and manipulating general structured files. FOL is similar in some respects to APL and IDS, but it is also significantly different in other respects: (I) it is implemented in a list processor environment, (2) it does not impose a circular or ring structure on files, and (3) the declaration of record structures is more flexible than in APL and IDS because they are dependent on the less flexible declarations of PL/I and COBOL. In general, FOL gives the user the needed flexibility for developing file organizations for efficient data base design and the command language for manipulating the data.
          in SIGPLAN Notices 10(01) January 1975 Proceedings of the 1973 SIGPLAN/SIGIR Interface Meeting, Gaithersburg, Md., Nov. 1973 view details
  • Claybrook, Billy G. "A file definition facility for file structures" view details Abstract: This paper describes a file definition facility (FDF) for defining files as graph structures. The structure of the file is explicitly declared in the file definition. Primitive functions (from graph theory), operators, and the format of the definition statements are given. The combination of functions and operators appear as directives to the programming system for structuring files. Several simple examples are given to illustrate the use of the FDF. The data organization for the implementation of this facility is described in detail. Problems of considerable importance that are treated are: (1) garbage collection, (2) template construction, and (3) runtime address calculation. The external definitions are represented internally by descriptors. The format of the descriptors is given and a discussion of the items in the descriptors is presented.
          in [ACM SIGFIDET] Proceedings of the ACM SIGFIDET workshop on Data description, access and control, 1974 view details