This thesis details the implementation of a programming language equipped with an extensible mixfix parser developed using the OCaml programming language. The newly created language, named Mixfix, is derived from MiniHaskell, part of the plzoo library. The document begins by examining various methods by which existing programming languages facilitate the direct expression of user ideas. Following this examination, it introduces Mixfix and its unique mechanism for defining arbitrary operators, illustrating the language's adaptability. The thesis then summarizes adaptations made to MiniHaskell, particularly at the lexical analysis level. Before describing the implementation of the parser, it provides a brief overview of precedence, associativity, and the algebraic structure of monads, which form the basis for the monadic programming within which the parser is developed. The explanation of monads is followed by a description of how smaller parsers are combined into larger units. These are ultimately integrated into a single, flexible parser for the language, configurable through user-defined operators.
|