Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
The craft of Prolog
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Programming language semantics
ACM Computing Surveys (CSUR)
Automated consistency checking of requirements specifications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Modern compiler implementation in ML: basic techniques
Modern compiler implementation in ML: basic techniques
The XML handbook
JICSLP'98 Proceedings of the 1998 joint international conference and symposium on Logic programming
High Integrity Compilation: A Case Study
High Integrity Compilation: A Case Study
Interoperability between Bioinformatics Tools: A Logic Programming Approach
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Deterministic, Error-Correcting Combinator Parsers
Advanced Functional Programming, Second International School-Tutorial Text
A constraint-based approach for specification and verification of real-time systems
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
L2C2: logic-based LSC consistency checking
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Provably Correct Code Generation: A Case Study
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We present a logic programming based framework for rapidly translating one formal notation Ls to another formal notation Lt. The framework is based on Horn logical semantics-a logic programming encoding of formal semantics. A Horn logical semantics of the language Ls is constructed which employs the parse trees of the language Lt as semantic domains for expressing the meaning of sentences in Ls. This formal semantics, coded in logic programming, immediately yields an executable (reversible) filter. This (reversible) filter is provably correct, as it is generated from the semantic specification. Our approach provides a formal basis for interoperability and is illustrated through five major practical applications: Translating Nemeth Math Braille notation to LATEX, translating HTML to VoiceXML to make web-pages accessible via an audio-browser or a phone, translating ODBC programs/data to OQL (Object Query Language) programs/data, automatically generating validating parsers for XML, and interoperating between various biological software systems developed for phylogenetic inference via the NEXUS data representation language.