Electronic Notes in Theoretical Computer Science · 2004 · 100 citations · 28 references
ComputingComputer ScienceNatural Language ProcessingProgramming LanguagesSoftware EngineeringAbstract Syntax TreesParsingProgramming Language DesignProgramming Language ImplementationSyntactic AnalysisSyntax ParsingInterpretive ParadigmsLanguage ParsingLanguage Processing ModelsParser DesignRewriting SystemsTerm RewritingTerm Rewriting SystemsXml Parsing
TXL is a special-purpose programming language designed for creating, manipulating and rapidly prototyping language descriptions, tools and applications. TXL is designed to allow explicit programmer control over the interpretation, application, order and backtracking of both parsing and rewriting rules. Using first order functional programming at the higher level and term rewriting at the lower level, TXL provides for flexible programming of traversals, strategies, guards, scope of application and parameterized context. This flexibility has allowed TXL users to express and experiment with both new ideas in parsing, such as robust, island and agile parsing, and new paradigms in rewriting, such as XML markup, rewriting strategies and contextualized rules, without any change to TXL itself. In this paper I outline the history, evolution and concepts of TXL with emphasis on what makes it different from other language manipulation tools, and give examples of its use in expressing and applying recent new paradigms in language processing.
28
Generative communication in Linda
David Gelernter · ACM Transactions on Programming Languages and Systems · 1985 · 2.3K citations · Full text
The psychology of computer programming
Choice Reviews Online · 1999 · 971 citations
Design recovery for maintenance and reuse
Ted J. Biggerstaff · Computer · 1989 · 363 citations
Computing, Design, Design Automation +13