--[[ Test Driver for Expression Builder and Method Chaining DSL Lair Configuration DSL Case Study H. Conrad Cunningham, Professor Computer and Information Science University of Mississippi See the comments in the Expression Builder (builder14) and the Semantic Model modules. Developed for CSci 658, Software Language Engineering, Fall 2013 1234567890123456789012345678901234567890123456789012345678901234567890 2013-10-15: Adapted from existing Lua code --]] -- Load buildr module local eb = require "builder14" --Test using file rules14.lua local config = eb.execute_dsl("rules14.lua") print("Generated Configuration is: " .. config:toString()) -- Test toString functions -- Define local names for convenience local ConfigurationBuilder = eb.ConfigurationBuilder local Resources = eb.Resources local S = eb.S local builderStr = 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): toString() print("\nTest of Expression Builder toString methods!\n" .. builderStr)