HP Labs Technical Reports
Semantic Representation Languages as Programming Languages
Laubsch, Joachim; Nerbonne, John; Diagne, Abdel Kader; Oepen, Stephan
Abstract: Semantic representation languages (SRLs) and programming languages (PLs) share design goals: first, in both cases we seek modules in which not only conventional surface representations but also underlying data structures are important. Here we need general tools allowing the printing and reading of expressions. Second, these modules need to cooperate extensively with foreign modules, so that the importance of interface technology (compilation) is paramount; and third, both PL compilers and semantic modules need "inferential" facilities for transforming (simplifying) complex expressions in order to ease subsequent processing. But the most important parallel is the need in both fields for tools which are useful in combination with a variety of concrete languages - general purpose parsers, printers, simplifiers (transformation facilities) and compilers. This arises in PL technology from the need for experimentation in language design, which is again parallel to the case of SRLs. Using a PL-based approach, we have implemented NLL, a public domain software package for computational natural language semantics. Several interfaces exist for both grammar modules and applications, using a variety of interface technologies, including especially compilation.
Back to Index