HSL Interpreter Rewrite

Flepp, Jann M. (2024) HSL Interpreter Rewrite. Other thesis, OST Ostschweizer Fachhochschule.

Full text not available from this repository.

Abstract

Hamilton Bonaduz AG is a leading provider of laboratory automation solutions, including liquid handling robots. Customers can program these robots through a domain-specific language called HSL (Hamilton Standard Language). The interpreter for this language is getting increasingly difficult to maintain and extend because it has continuously evolved over the years and is based on out-of-fashion technologies like Lex & Yacc. This thesis presents an architecture and prototype for a new HSL interpreter that can be used as a foundation for a complete rewrite of the existing interpreter.

The new interpreter is written in C# and leverages the ANTLR parser generator in combination with a custom AST (Abstract Syntax Tree) transformer. A recursive-descent parsing approach has been evaluated and detailed as an alternative. Preprocessor directives are parsed as part of the grammar and evaluated on the AST instead of in a dedicated preprocessor.

Replicating the existing interpreter's COM interface has been a critical requirement for the new design. This thesis suggests reusing the existing COM definitions by generating .NET interop assemblies. The prototype demonstrates the feasibility of this approach.

The interpreter can be extended with new features and instrument bindings through plugins. Based on .NET assemblies, this plugin system allows to extend HSL built-in functions without modifying the interpreter's source code.

Item Type: Thesis (Other)
Subjects: Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Bachelor Thesis
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Kramer, Philipp
UNSPECIFIED
Expert
Marrocco, Christian
UNSPECIFIED
Date Deposited: 04 Oct 2024 05:48
Last Modified: 04 Oct 2024 05:48
URI: https://eprints.ost.ch/id/eprint/1216

Actions (login required)

View Item
View Item