--[[ Test of Expression Builder and Method Chainging DSL (Rules14) Lair Configuration DSL Case Study H. Conrad Cunningham, Professor Computer and Information Science University of Mississippi See the comments in the Semantic Model Module. This Lua module is based on Fowler's builder for the Expression Builder and Method Chaining implementation of the Lair Configuration DSL. Developed for CSci 658, Software Language Engineering, Fall 2013 1234567890123456789012345678901234567890123456789012345678901234567890 2013-10-15: Adapted from from rules14.rb Note: I added trailing configuration call, assignment to "config", and an explicit return from what was in the Ruby version. This could be added to to the header_code and trailer_code strings that are attached to the DSL script before compilation. --]] local config = ConfigurationBuilder: item(S.secure_air_vent): item(S.acid_bath): uses(Resources:acid(): type(S.hcl): grade(5)): uses(Resources:electricity(12)): item(S.camera):uses(Resources:electricity(1)): item(S.small_power_plant): provides(Resources:electricity(11)): depends_on(S.secure_air_vent): configuration() return config