interpreter pattern able to use and maintain the system keep in mind that the use of dsl should aid the businessnot hamper itor it will discard the language in the long runif it ever adopts it in the first place we have considered the pros and cons of having dsl and decide to move forward with one for specifying rules for the restaurant specials on macro levelyou want to accomplish two tasks firstyou want to define the language specificallyyou want to define the semantics (meaningand syntax (structureof the language nextyou want to write code that will be able to take the language as input and translate it into form that machine can understand and action based on your conversations with customersextract the things that are involved in the process as well as the actions taken by every entity involved after thisisolate common words or phrases that have specific meaning in the domain under consideration use these three elements to construct grammarwhich you will discuss with the domain experts before implementing it before we look at an example of this process in the context of the restaurant specialsi want you start thinking of yourself as tool maker whenever you encounter frustration or problemyou should begin thinking of how you would go about solving this problem and what tools you would code to make the process ten times easier or faster this is the mindset that sets the best software developers and engineers apart from the rest of the field in our example casewe started by having series of conversations with the restaurant owner (the domain expertand identified the following rules for specialsmembers always get off their total tab during happy hourwhich happens from : to : weekdaysall drinks are less mondays are buy one get one free burger nights thursday are 'eat all you canribs sunday nights after : buy three pizzas and get the cheapest one free when you buy you get the two cheapest ones free and so on for every three additional pizzas thenwe identified the things that were mentionedmembers tabs happy hour