premake is build from a c native api + lua binding. and using the lua script as a configure file
lua script entry point is the api.lua
from the setting of the solution
The solution is a concept in the premake like the solution of the msvs. it is implemented by a function solution api defined in this api.lua and due to the lua syntax, use can call this functio without the parenthesis e.g solution "mysln"
The build configure file premake.lua is a option file this file and the default definition fill the building info and the action then take hand after this been settled!
After those setting, the premake will generate the solution fill, this process is just a write make files
the author use the simple but powerful lua function to wrap the functionality. the whole framework is simple and highly extensible!