Developing a Back-end Compatibility Check for the BNF Converter
dc.contributor.author | Widén, Jonathan | |
dc.contributor.author | Wigbratt, Leopold | |
dc.contributor.department | Chalmers tekniska högskola / Institutionen för data och informationsteknik | sv |
dc.contributor.department | Chalmers University of Technology / Department of Computer Science and Engineering | en |
dc.contributor.examiner | Seger, Carl-Johan | |
dc.contributor.supervisor | Abel, Andreas | |
dc.date.accessioned | 2025-10-06T13:47:57Z | |
dc.date.issued | 2025 | |
dc.date.submitted | ||
dc.description.abstract | There exist various architectural models for structuring large-scale software projects. A common pattern employed in various systems involves decomposing the application into a user-facing front-end component, responsible for input validation, and several back-end components, which perform subsequent processing and generate output. In such a system, each back-end may target a distinct output format. Communication between the front-end and the back-ends is typically conducted by means of a well-defined interface. It is often desired that the front-end be responsible for all input validation, so as to promote encapsulation and enforce uniform communication to the user. However, difficulties may arise when the back-ends impose different requirements on the input that they process. This thesis examines this problem in the context of the BNF Converter – a compiler construction tool that transforms a common grammar specification into software components used for implementing a compiler for the language of said grammar. The BNF Converter adheres to the aforementioned architectural model and supports multiple back-ends that target various output formats and are characterized by distinct capabilities and requirements with respect to the input. In order to address these discrepancies, a so-called back-end compatibility check was developed. This check enables the front-end to validate whether a given input conforms to the requirements imposed by a particular back-end. The methodology used for this purpose is expected to generalize to other systems exhibiting a similar structure. Additionally, a new back-end was implemented, both to evaluate the usefulness of the interface and to contribute to the development of the BNF Converter itself. | |
dc.identifier.coursecode | DATX05 | |
dc.identifier.uri | http://hdl.handle.net/20.500.12380/310595 | |
dc.language.iso | eng | |
dc.relation.ispartofseries | CSE 25-11 | |
dc.setspec.uppsok | Technology | |
dc.subject | BNF, Programming Languages, Lexing, Parsing, Parser Generators | |
dc.title | Developing a Back-end Compatibility Check for the BNF Converter | |
dc.type.degree | Examensarbete för masterexamen | sv |
dc.type.degree | Master's Thesis | en |
dc.type.uppsok | H | |
local.programme | Computer science – algorithms, languages and logic (MPALG), MSc |