2010 · 12 citations · 29 references
ComputingComputer ScienceCompilersProgramming LanguagesSoftware EngineeringApplication Programming InterfacesSoftware ArchitectureSoftware ConstructionSoftware DesignSoftware MaintenanceType SystemsApplication Binary InterfaceApplication Binary Interface DesignBinary CompatibilityProgrammatic CompatibilitySoftware Evolution Analysis
ZL is a C++-compatible language in which high-level constructs, such as classes, are defined using macros over a C-like core language. This approach makes many parts of the language easily customizable. For example, since the class construct can be defined using macros, a programmer can have complete control over the memory layout of objects. Using this capability, a programmer can mitigate certain problems in software evolution such as fragile ABIs (Application Binary Interfaces) due to software changes and incompatible ABIs due to compiler changes. In this paper, we outline the problem of fragile and incompatible ABIs and show how ZL can be used to solve them.
29
An efficient context-free parsing algorithm
Jay Earley · Communications of the ACM · 1970 · 817 citations · Full text
Bryan Ford · 2004 · 409 citations
Computing, Computer Science, Natural Language Processing +16
Revised <sup>6</sup> Report on the Algorithmic Language Scheme
Michael Sperber, R. Kent Dybvig, Matthew Flatt et al. · Journal of Functional Programming · 2009 · 325 citations · Full text
Revised <sup>5</sup> report on the algorithmic language scheme
Norman I. Adams, D. H. Bartley, G. Brooks et al. · ACM SIGPLAN Notices · 1998 · 316 citations · Full text
Syntactic Analysis and Operator Precedence
Robert W. Floyd · Journal of the ACM · 1963 · 256 citations · Full text
Language Studies, Computer Science, Computational Linguistics +7