Topic: extensible languages
Topic: function syntax by pattern
Topic: language extension via macros
Topic: language flexibility
Topic: semantic grammar
Topic: user-defined languages
| |
Summary
When syntax processing is table driven from the grammar's production rules, the user can modify the language's grammar by specifying additional rules. A number of language processors have provided this capability. It is not widely used because successful modifications require a thorough understanding of the implementation's syntax tables. Grammar modification is explicitly disallowed in DOD's Steelman specification. (cbb 5/80)
Subtopic: extend grammar of programming language
QuoteRef: gallBA4_1967 ;;204 can extend only the non-terminals: type, assignment statement, arithmetic expression, and boolean expression
| QuoteRef: schuSA_1970 ;;15 expand language through BNF eg Macro Fact -> "prim !" means factorial (prim) is ::= .../! where constraints (so recognize n!
QuoteRef: solnN_1971 ;;282 Standish '69: =+ | , i.e., class appended with classes and
QuoteRef: wegbB_1971 ;;257 ECL allows extensive changes to parse tables
| | | Subtopic: grammar as macros
QuoteRef: nappRB2_1976 ;;28 informal macros give user access to definition system of ALEC (its in RCC) this is unprotected but many system macros are provided to help
| Quote: instead of using IMP syntax, can define a transformation rule as if it was a macro [»biloW5_1974, OK]
| Subtopic: grammar as programming
Quote: ALEPH draws on the analogies between grammars and programs, parsing and problem solving [»grunL10_1981]
| Quote: like a grammar, ALEPH has a simple flow-of-control based on selection, decomposition, and call
| QuoteRef: kayAC6_1968 ;;44 Flex is driven by scibe-- floyd-evans productions. user has access (describes complete description of system)
| Subtopic: grammar modification is bad
QuoteRef: dod12_1977 ;;42 "The user shall not be able to modify the source language syntax
|
Related Topics
Topic: extensible languages (71 items)
Topic: function syntax by pattern (15 items)
Topic: language extension via macros (23 items)
Topic: language flexibility (34 items)
Topic: semantic grammar (23 items)
Topic: user-defined languages (42 items)
|