In Partial Fulfillment of the Requirements for the Degree of
Master of Science
Will defend his thesis
A Domain Specific Language (DSL) is a programming language used in a certain business domain. An internal DSL is a type of DSL that depends on another general purpose programming language called a host language. When an internal DSL is processed, its instructions run as part of the host language instructions. So if the internal DSL is not valid, processing it could produce unexpected results. Our objective in this thesis is to device a library to validate internal DSLs. To validate an internal DSL before processing it, we provide a way for the user to define a grammar. This grammar is used to describe the structure and the contents of the internal DSL. From this grammar our library builds an internal structure which is used to simulate the execution of the DSL processor. If the DSL runs successfully through the simulated structure then it will also run successfully through the real processor, and thus the DSL can be considered valid.