How do game makers/engines like Buildbox, GameSalad, Construct, GameMaker, etc work in principle? I am not interested in getting a list of technologies (programming languages, APIs, etc), but how - from a software engineering perspective - do these programs convert the user's interactions into exportable code?
What I'm looking for is only a rough outline how the software creates code/source files from the user interactions with the software. While details would be awesome, a high level overview would be sufficient.
I'm a second year CS major and have some experience with Java/C/C++ as well as some web languages and framework. It's hard to find information on how a game creation software works because there's more content on how to make games in general.
In case you don't know, Buildbox, GameSalad, Construct, GameMaker are popular drag and drop game builders. While Buildbox is exclusively drag and drop, the others have optional scripting languages as a feature.