| CHEATHAM, T.E.: `The introduction of definitional facilities into higher level programming languages'. Proceedings of the 1966 Fall Joint Computer Conference, AFIPS, 1966, 29. pp. 623-637 |
..... Alternative preprocessors such as m4 can be used for C , but they also operate independently of the underlying language. A preprocessor supports reconfiguration of source text at compile time using techniques such as file inclusion, conditional compilation and text replacement. Cheatham [4] identified three kinds of macro replacements: Text macros (text replaced by text as exemplified by Cpp macros) Computational macros (text replaced by the result of a computation as exemplified by inline functions and templates) Syntax macros (text replaced by the syntax tree ....
CHEATHAM, T.E.: `The introduction of definitional facilities into higher level programming languages'. Proceedings of the 1966 Fall Joint Computer Conference, AFIPS, 1966, 29. pp. 623-637
....support syntax that is as flexible, as informative, and as close as possible to users intuitions and standard usage in particular problem domains. Thus, users of OBJ can define any syntax they like for operators, including prefix, postfix, infix, and most generally, mixfix; this is similar to ECL [15]. Obviously, there are many opportunities for ambiguity in parsing such a syntax. OBJ s convention is that a term is well formed if and only if it has exactly one parse, or more precisely, a unique parse of least sort ; it is intended that the parser give information about difficulties that it ....
Thomas Cheatham. The introduction of definitional facilities into higher level programming languages. In Proceedings, AFIPS Fall Joint Computer Conference, pages 623--637. Spartan Books, 1966. 97
....take as values any type of syntactic construct these macro processors are only capable of recognizing languages which can be specified by restricted context free grammars with only one non terminal symbol. The syntax macro, developed independently and concurrently by Leavenworth [45] and Cheatham [15], was designed to allow programmers to extend high level programming languages using macros in the same fashion in which programmers had been able to extend assembly languages using traditional macro processors. The actual parameters of a syntax macro are typed language constructs instead of ....
....the programmer to add syntax rules, in a limited form, to the source language. The programmer is restricted in the form the macros can take and is limited in their syntactic types. The author suggests that a more general form be developed to remove the macro delimiter prefix restriction. Cheatham [15] proposes a similar scheme but allows macros to be defined which may expand into any syntactic type of code instead of limiting them to statement and functions macros as Leavenworth has. Since this effectively allows the programmer to add new syntax rules to the programming language s syntax ....
T.E. Jr. Cheatham. The introduction of definitional facilities into higher level programming languages. In AFIPS (Fall Joint Computer Conference, 29), pages 623--637, 1966.
....syntax that is as flexible, informative, and close to users intuitions and to standard usage as possible. OBJ users can define any syntax they like for operations, including prefix, postfix, infix, and most generally, mixfix, to customize it for any given problem domain; this is similar to ECL [15]. Obviously, there are many opportunities for ambiguity in parsing such a syntax. OBJ s convention is that an expression is well formed if and only if it has exactly one parse (or more precisely, a unique parse of least sort; see Section 2.3) The argument and value sorts of an operation are ....
Thomas Cheatham. The introduction of definitional facilities into higher level programming languages. In Proceedings, AFIPS Fall Joint Computer Conference, pages 623--637. Spartan Books, 1966. 26
....example, a similar language for the Zilog Z80 microprocessor is described in [13] It has been demonstrated [97, 86] that at least some structured assembly languages can be implemented with macro assemblers. Around 1970, there was considerable interest in designing extensible highlevel languages [18, 91]; the extensions were supposed to be defined and implemented by the end users, often through macros (possibly in a machinedependent fashion [5] This activity was accompanied by similar developments in the field of fully machine specific languages [31] for an elaborate example, B. N. Dickman ....
T. E. Cheatham. The introduction of definitional facilities into higher level programming languages. Proceedings of AFIPS 1966 Fall Joint Computer Conference, pp. 623--637. 1966.
....can be avoided by macro processors that interact with the compiler. Syntax macros use this technique to prevent the programmer from defining a macro which will generate syntactically incorrect code. Syntax macros were developed independently and concurrently by Leavenworth [20] and Cheatham [2]. They preserve syntactic correctness by specifying their interaction with the grammar of the language. This is done by specifying the non terminal type of the macro and its parameters. For example, we could define a while macro with the following signature: statement macro while(expression) do ....
Cheatham, T. J. (1966) "The introduction of definitional facilities into higher level programming languages." In: AFIPS (Fall Joint Computer Conference, 29). (pages 623--637).
....from built in forms. Nearly all of the proposals provide for limited expansion time computation, such as arithmetic and conditional replacement. In most cases, however, the compiletime metalanguage is relatively weak compared to the base language. In his seminal paper on definitional facilities [4], Cheatham proposes the use of an embedded syntax macro processor for extension purposes, but restricts the semantics of definitions to an expansion string and a few built in macro time operations for manipulating tables (e.g. the symbol table) He dismisses more general semantic processing as ....
T. E. Cheatham, Jr. The introduction of definitional facilities into higher level programming languages. In Proceedings of the 1966 Fall Joint Computer Conference, pages 623--637, 1966.
....for a completely new C syntax using more conventional syntactical styles like Ada or Pascal. Within a clean syntactical framework, it would be much easier for 10 researchers to examine alternative syntaxes, and it would be possible for a meta program to perform syntax extension. Cheatham [6] and Leavenworth [10] introduced the concepts of a syntactic macro whose arguments have types corresponding to parts of the language grammar, and Vidart [16] gave these concepts a sound and efficient foundation with an Abstract Syntax Tree (AST) interpretation. Weise [18] applies these ideas to ....
Cheatham, T.E. The Introduction of Definitional Facilities into Higher Level Programming Languages. Proceedings of the 1966 Fall Joint Computer Conference, AFIPS, vol. 29. 623-637, 1966.
....AST they return. This information is used by the parser to ensure macro invocations only occur where their return type is expected. For example, syntax macros that return statements can only occur where statements are allowed by the grammar. Syntax macros were independently introduced by Cheatham [4] and Leavenworth [9] in the middle 60 s. They proposed that the actual parameters to macro invocations be found by a parser, and that the syntactic type of a macros return result be part of a macro definition. Vidart s PhD thesis [14] cleaned up many problems with syntax macros by making the leap ....
....The system is currently undergoing revision. Except for the last macro example, all macros shown in this paper worked in the previous implementation. Once the re implementation is complete, we will conduct large scale experiments with the macro system. Besides the systems already mentioned [14, 3, 4, 9], there s current work on new macro systems for syntactically rich languages. Todd Jonker [7] is working on hygienic macro technology for syntactically rich languages. William Maddox at Berkeley is investigating extensions of his Master s thesis [10] that give macros semantic abilities. Dain ....
Cheatham, T. E., "The introduction of definitional facilities into higher level programming languages," pp. 623-637, Proc. AFIPS (Fall Joint Computer Conference, 29), 1966
....support syntax that is as flexible, as informative, and as close as possible to users intuitions and standard usage in particular problem domains. Thus, users of OBJ can define any syntax they like for operators, including prefix, postfix, infix, and most generally, mixfix; this is similar to ECL [14]. Obviously, there are many opportunities for ambiguity in parsing such a syntax. OBJ s convention is that a term is well formed if and only if it has exactly one parse, or more precisely, a unique parse of least sort ; it is intended that the parser give information about difficulties that it ....
Thomas Cheatham. The introduction of definitional facilities into higher level programming languages. In Proceedings, AFIPS Fall Joint Computer Conference, pages 623--637. Spartan Books, 1966.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC