Introduction to HOL: a theorem proving environment for higher order logic
Introduction to HOL: a theorem proving environment for higher order logic
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
Proceedings of the 11th International Conference on Theorem Proving in Higher Order Logics
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Formal verification of a c compiler front-end
FM'06 Proceedings of the 14th international conference on Formal Methods
Mechanisation of PDA and grammar equivalence for context-free languages
WoLLIC'10 Proceedings of the 17th international conference on Logic, language, information and computation
A formalisation of the normal forms of context-free grammars in HOL4
CSL'10/EACSL'10 Proceedings of the 24th international conference/19th annual conference on Computer science logic
TRX: a formally verified parser interpreter
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Simple, functional, sound and complete parsing for all context-free grammars
CPP'11 Proceedings of the First international conference on Certified Programs and Proofs
RockSalt: better, faster, stronger SFI for the x86
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Proof-producing synthesis of ML from higher-order logic
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
CakeML: a verified implementation of ML
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
A mechanisation of some context-free language theory in HOL4
Journal of Computer and System Sciences
Hi-index | 0.00 |
We describe the mechanisation of an SLR parser produced by a parser generator, covering background properties of context-free languages and grammars, as well as the construction of an SLR automaton. Among the various properties proved about the parser we show, in particular, soundness : if the parser results in a parse tree on a given input, then the parse tree is valid with respect to the grammar, and the leaves of the parse tree match the input; completeness : if the input is in the language of the grammar then the parser constructs the correct parse tree for the input with respect to the grammar; and non-ambiguity : grammars successfully converted to SLR automata are unambiguous. We also develop versions of the algorithms that are executable by automatic translation from HOL to SML. These alternative versions of the algorithms require some interesting termination proofs.