Indeed, language has been presented as the embodiment of a I I the tacit I y adopted views, know I edge, I imitations and culture of a community. To describe the structure of the universe according to the Hopi, it is necessary to try -- insofar as it is possible to make this metaphysics explicit, properly describable only in the Hopi language.
THE ROLE OF THE COMPUTER
Thompson (1972, p. 315) has argued that the use of specified languages provides important economic advantages to the eventual users, as we 11 to the producers. For the manufacturer, the obvious advantage is in the expanded poo I of powerful softeners which.
Chapters IV and V discuss the interesting features of LWL
Chapter IV deals with a PASCAL-like language for specifying data types and primitive semantic operation, and Chapter V presents the rich
CHAPTER I I
HIGH LEVEL, SPECIALIZED LANGUAGES
LOW LEVEL LANGUAGES
Perhaps the key issue, both technical and conceptual, in the application of computers to human use is the determination of the degree of. The keynote of the low-level programming approach is its concentration on the symbol-manipulating aspects of computation, as opposed to meaning at the user's conceptual I I eve I .
THE . USE OF GENERAL PROGRAMMING LANGUAGES
Whatever philosophy one may like about the ability of machines to possess knowledge, it is obvious that in the above paradigm, what matters is the meaning of the user's problem, not the manipulations needed to solve it. Independent of the physical reality of this computerized "know I edge", the user is dealing with a system that seems to understand his problems on much the same level as he does.
SPECIALIZED LANGUAGES
If the increased power and generality of the latest programming languages does not seem to address the problem of naturalness and. Let's examine the structure of the II also I" we are discussing, the programmer computer system .team.
SYNTAX DIRECTED COMPUTING
The true nature of the syntax-driven interpreter is natural to the application language developer because it provides the ab.ave para I for the way the application programmer now works. The Meta I language can be seen as the external representation or model of the REL system (to its user, the specialized language implementer}.
CHAPTER III BIBLIO: AN EXAMPLE
BIBLIO STATEMENTS
Thus, publications which usually have the name of the publisher and the date of publication, the name of a distributor {eg. This brief description defines the underlying logic of the data. base on 1-Jwatter BIBLIO rest.
BIBLIO QUESTIONS
By recursively combining applications of derived calculations, a large and wide net can be cast through the database to search for the desired information. We will now present the computer system and metalanguage in which such specialized application languages can be implemented.
CHAPTER IV
THE METALANGUAGE: UNIVERSE OF DISCOURSE
DECLARATIONS
- BASIC DATA TYPES
- STRUCTURED DATA TYPES
Data is represented by constants and the values of variables, each of which must appear in a variable declaration that associates a data structure {data ~ } with the variable. In addition, there are four standard scalar types: Boolean, with the constant values False and True;.
DECLARE I FIXED BINARY{31},
256, we really want to think that it is of type integer and only needs enough storage to distinguish 256 values.
J FIXED BINARY{15);
TYPE CHECKING
In the above example, the programmer is not allowed to object by reflecting his knowledge of the physical structure of title_string in every place where he defines a variable of that type. LWL provides a powerful, generic definition structure that is suitable for the PASCAL-like definition of new constant values and data types, but also allows the introduction of new metalanguage syntactic constructs.
THE define STATEMENT
The definiendum is bound to the structural analysis of the definiens as .l_!. parse~ the time of the definition. Thus, the meaning of a definition only needs to be analyzed at the time of its definition, which saves extensive parsing for commonly used defined constructs.
CONSTANT, TYPE ANO CATEGORY DEFINITIONS
The metavariables i ab I es def and i endum are bound to the corresponding definiens metavariables, as in lambda calculus. The identifier is then used to name three related things: the LWL data type, the object language semantic category, and the corresponding object language syntactic category (part of speech).
4~2.3 METALANGUAGE EXTENSIONS
PROGRAMS
- MISCELLANEOUS DIFFERENCES FROM PASCAL
- THE PHRASE MARKER
Functions are constructed by the compound application of rules of grammar in parsing the user's sentences. The phrase tag, mentioned above, is the universa I's true version of the REL language processor.
- THE SCOPE OF VARIABLES
- DATA ALLOCATION, PERSISTENCE AND ACCESS
- THE USE OF REL
An amb pi represents a phrase whose va I ue is ambiguous, and contains a pointer to the first of · the various phrase markers representing the ambiguous meanings. A terminal session is the total processing performed during a single execution of the REL system, corresponding to the.
REL COMMAND LANGUAGE - PROCEED
LIST PROCESSING
The form of I ist data items (elements) is strictly limited by two conventions: each element of the list has a fixed length and the first byte of each I ist el.element must be a char type variable whose value is defined by the structure of the rest of the record. This information is used by the garbage collector to determine which fields to "chase". If the language definition of the list record type writer does not include the required char initialization variable, it is added by default and initialized at any location to the appropriate value.
PAGING
Additionally, the version of the workset strategy used in VS2 does not support ours. This concludes the discussion of that part of LWL that allows the language writer to define the primitive data types of the object language and the functions that work with them.
CHAPTER V
THE METALANGUAGE: LANGUAGE PROCESSING
SYNTAX ANO SEMANTICS
Note that most EBCDIC devices do not have lowercase letters or some special symbols used in the LWL description. Turning to Chomsky's second question, we understand "structural description" by the description that introduces functions in the previous chapter.
FEATURES
Checking for absence and resetting fng is indicated by the - sign, and changing the setting of a property in lhs is indicated by a*·. The above example shows how features can be used to simulate a priority mechanism in the parser.
TRANSFORMATIONS
One of the few models of a computer system with such capabilities is presented by Keyser and Petrick [1967]. In the example s imp I e be I ow, we use the order of the noun phrases in the phrase marker of the verb phrase to distinguish their cases.
- PARSING AND CONDITION FUNCTIONS
- METAVARIABLES ANO BINDING
- AMBIGUITY
- LANGUAGE EXTENSION
Thus, any object language can include functions that extend the grammar of the language itself. Finally, we discussed the handling and use of metavariables and ambiguity, and the capabilities for extending the object language.
ALTERNATIVE TECHNOLOGIES
- EXTENSIBLE PROGRAMMING LANGUAGES
The extensible language answer is that the object language should be built by adding whatever new capabilities are needed to the base language. The incorporation of a facility for simbo I i c man i pu I at i·on is a we I I -known {eg. FORMAC} technique for improving .. the usability of an algebraic with symbolic manipulation,.
SBF = [LO:FORM, OP:CHAR, RO:FORMJ
SUF = [OP:CHAR, RO:FORMJ
- COMPILER GENERATORS
- SEMANTIC LANGUAGES
- ANOTHER LOOK AT METALANGUAGES
- MANY POSSIBLE METALANGUAGES
Steps four and five interpreters and emitters of even code in syntax productions, . to create the finished language processor. The problem domains of individual languages range from producing abstract motion graphs [Thompson 1974c] to answering natural language questions (REL English).
LANGUAGE IMPLEMENTATION IS DIFFICULT
A more promising direction is to specify the meta-language even more than LWL is specialized, and to add to it very complex models of a particular application domain. A metalanguage such as this may already contain facilities that support features sufficiently close to the desired object language of a particular user that he can specify, in terms natural to the field, what his object language should be.
METALANGUAGES WITH HIGHER LEVEL PRIMITIVES
Ii bindings that support properties that are close enough to the desired object language of a given user that he can specify, in terms natural to the domain, what his object language should be. LWL now provides powerful scripting tools to syntactically design an object language, but the primitive semantic capabilities of LWL from which object language semantics must be built are relatively low-level.
THE PRGLIFERATION OF LANGUAGES
An attractive compromise between common and unique languages is to require a common core, but to allow each of multiple users to have special facilities beyond that core. Another is to require the same data structures and some common set of semantic functions, but to give each user different syntactic access to a common structured database.
CONCLUSION
An object language consists of: its extended syntax, the grammar rules with which the REL language processor interprets .. statements of the I language; and data represent i ori, dee I fields of types of objects in the universe of discourse of the language (data structures) and .. actions that can be performed on them {functions). The extended object language syntax is introduced by using the rule statement.
If there is exactly one such pair, a new grammar rule is added to the LWL, where the right-hand side is the sequence from II and the left-hand side is the part-of-speech of the parse from I, with the semantics being the phrase of that parse and the corresponding metavariables being interconnected. Furthermore, the category data type definition identifies the semantic category of the object language and.
Attributes are used to mark whether an expression has a I I constant components and the type of result of expression evaluation. Instead of the single function chr, the name of each (non-real, non-integer) scalar type is a function, and so, for example, char(i) is the i-th character in the character representation.
APPENDIX II THE SYNTAX OF BIBLIO
BAS I C_I NPUT}
CRELATE_TO_SUBJECT}
BUILO_AUTHOR_LIST)
Note that the syntax examples drawn from this language for the
Thus, creating new entities is a two-stage process: our analysis, the encoding function col lect_i collects the string of characters to the right of its components (up to a semicolon} into a .
AUTHORS_OF}
WORKS_RELEVANT}