TRX: A Formally Verified Parser Interpreter

Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsin...

Full description

Bibliographic Details
Main Authors: Adam Koprowski, Henri Binsztok
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2011-06-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/686/pdf
_version_ 1797268675353378816
author Adam Koprowski
Henri Binsztok
author_facet Adam Koprowski
Henri Binsztok
author_sort Adam Koprowski
collection DOAJ
description Parsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, which we consider an attractive alternative to context-free grammars (CFGs). From this formalization we can extract a parser for an arbitrary PEG grammar with the warranty of total correctness, i.e., the resulting parser is terminating and correct with respect to its grammar and the semantics of PEGs; both properties formally proven in Coq.
first_indexed 2024-04-25T01:36:15Z
format Article
id doaj.art-0b366b96d013465985e0ee6fc0b0ef85
institution Directory Open Access Journal
issn 1860-5974
language English
last_indexed 2024-04-25T01:36:15Z
publishDate 2011-06-01
publisher Logical Methods in Computer Science e.V.
record_format Article
series Logical Methods in Computer Science
spelling doaj.art-0b366b96d013465985e0ee6fc0b0ef852024-03-08T09:15:49ZengLogical Methods in Computer Science e.V.Logical Methods in Computer Science1860-59742011-06-01Volume 7, Issue 210.2168/LMCS-7(2:18)2011686TRX: A Formally Verified Parser InterpreterAdam KoprowskiHenri BinsztokParsing is an important problem in computer science and yet surprisingly little attention has been devoted to its formal verification. In this paper, we present TRX: a parser interpreter formally developed in the proof assistant Coq, capable of producing formally correct parsers. We are using parsing expression grammars (PEGs), a formalism essentially representing recursive descent parsing, which we consider an attractive alternative to context-free grammars (CFGs). From this formalization we can extract a parser for an arbitrary PEG grammar with the warranty of total correctness, i.e., the resulting parser is terminating and correct with respect to its grammar and the semantics of PEGs; both properties formally proven in Coq.https://lmcs.episciences.org/686/pdfcomputer science - logic in computer sciencecomputer science - formal languages and automata theorycomputer science - programming languagesd.3.4, d.2.4, f.3.1, f.4.2
spellingShingle Adam Koprowski
Henri Binsztok
TRX: A Formally Verified Parser Interpreter
Logical Methods in Computer Science
computer science - logic in computer science
computer science - formal languages and automata theory
computer science - programming languages
d.3.4, d.2.4, f.3.1, f.4.2
title TRX: A Formally Verified Parser Interpreter
title_full TRX: A Formally Verified Parser Interpreter
title_fullStr TRX: A Formally Verified Parser Interpreter
title_full_unstemmed TRX: A Formally Verified Parser Interpreter
title_short TRX: A Formally Verified Parser Interpreter
title_sort trx a formally verified parser interpreter
topic computer science - logic in computer science
computer science - formal languages and automata theory
computer science - programming languages
d.3.4, d.2.4, f.3.1, f.4.2
url https://lmcs.episciences.org/686/pdf
work_keys_str_mv AT adamkoprowski trxaformallyverifiedparserinterpreter
AT henribinsztok trxaformallyverifiedparserinterpreter