Developing a Back-end Compatibility Check for the BNF Converter

dc.contributor.authorWidén, Jonathan
dc.contributor.authorWigbratt, Leopold
dc.contributor.departmentChalmers tekniska högskola / Institutionen för data och informationstekniksv
dc.contributor.departmentChalmers University of Technology / Department of Computer Science and Engineeringen
dc.contributor.examinerSeger, Carl-Johan
dc.contributor.supervisorAbel, Andreas
dc.date.accessioned2025-10-06T13:47:57Z
dc.date.issued2025
dc.date.submitted
dc.description.abstractThere 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.coursecodeDATX05
dc.identifier.urihttp://hdl.handle.net/20.500.12380/310595
dc.language.isoeng
dc.relation.ispartofseriesCSE 25-11
dc.setspec.uppsokTechnology
dc.subjectBNF, Programming Languages, Lexing, Parsing, Parser Generators
dc.titleDeveloping a Back-end Compatibility Check for the BNF Converter
dc.type.degreeExamensarbete för masterexamensv
dc.type.degreeMaster's Thesisen
dc.type.uppsokH
local.programmeComputer science – algorithms, languages and logic (MPALG), MSc

Ladda ner

Original bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
CSE 25-11 LW JW.pdf
Storlek:
704.11 KB
Format:
Adobe Portable Document Format

License bundle

Visar 1 - 1 av 1
Hämtar...
Bild (thumbnail)
Namn:
license.txt
Storlek:
2.35 KB
Format:
Item-specific license agreed upon to submission
Beskrivning: