This document describes how the GPDL compiler can be built on Windows and Linux systems. Windows ------- You can either use Visual Studio including the free Express Edition to open the solution file HeuristicLab.Problems.GPDL.sln, or alternatively you can use the msbuild command. For convenience we also provide the 'Build.cmd' script which can be used to build the solution. > Build.cmd The binary files will be generated in 'bin' folders within the projects. To try the SyntaxAnalyser use the command (from the solution directory): > SyntaxAnalyser/bin/Debug/SyntaxAnalyser.exe Examples/Multiplexer.txt There are more GPDL example files in the folder 'Examples'. To try the GPDL compiler use the following command: > GpdlCompiler/bin/Debug/GpdlCompiler.exe Example/Multiplexer.txt This will generate the file 'Multiplexer.cs' which can be compiled with the C# compiler: > csc Multiplexer.cs > Multiplexer.exe Linux ----- On Linux the compiler can be build with Mono. The source uses C# 4.0 syntax so you need a recent version of Mono that supports C# 4.0 (we tested with mono 2.10.8.1). On the development system (Debian Wheezy) the following packages and their requirements need to be installed: * mono-mcs * mono-xbuild * mono-dmcs * mono-gmcs To build the solution use the xbuild command. xbuild is the mono equivalent for the msbuild command and can be used to build Visual Studio solution files on Linux. > xbuild HeuristicLab.Problems.GPDL.sln The compiled binaries will be generated in 'bin/' folders within the projects. To test the syntax analyser use the command: > mono SyntaxAnalyser/bin/Debug/SyntaxAnalyser.exe Examples/LawnMower.txt There are further examples of GPDL definition files in the 'Examples' folder. To test the compiler use the command: > mono GpdlCompiler/bin/Debug/GpdlCompuler.exe Examples/LawnMower.txt This command will generate the C# source file of the solver 'Lawnmower.cs' which can be compiled to an executable using the C#-compiler > mcs LawnMower.cs > mono LawnMower.exe MacOS ----- We have not yet tried to build the source on MacOS with Mono. Most likely it is necessary to create a 'GenerateFromAtg' script which works on MacOS. Additionally, the pre-build events of the two projects 'HeuristicLab.Problems.GPDL.csprj' and 'SyntaxAnalyser.csprj' have to be changed to call the correct script. Please let us know if you manage to compile and run the GPDL compiler on MacOS! Oct. 2013, Gabriel Kronberger