Depends on how Rob want's to approach this. But if if were upto me it wouldn't be parsed at all.
I believe that is what he wants.
BTW, Robert since you asked for suggestions here is a list of things I would change about GM and some even about ENIGMA and would use in a new engine:
* Improved IDE, and dynamic resource handling. Not have the entire resource trees loaded in memory upon opening a project, but having this optional, either preload all resources or dynamic, load as needed.
* Bult in documentation listing all possible functions, auto complete (optional turned on or off) (in GMS it is always on).
* Built in project analyser that goes through your project making recommendations on how to shorten code, optimise it, etc. If it finds any error, highlighting the exact spot and offering suggestions to fix.
* Ability to disable D&D from IDE for those who want to do their entire project by code. I personally do my entire project on code, not a single D&D. I mention optional for the ability to enable/disable it depending on the need of whoever is using it.
* Setting automatic saving time, incremental saving, backup, etc. as optional. If the IDE crashed, upon restarting it would automatically load the recently saved point.
* A much improved room editor, more interactive and more control over room creation. Ability to scale, rotate individual objects, backgrounds, tiles, etc. Set view areas and ports numerically or visually, by adjusting and scaling an outline inside the room, on the part you want to be visible (view) and translate that to the number values needed.
* Advanced video rendering. Rendering of video full screen, window, region, inside 2D/3D surfaces, independent of game, allowing to make interactive gaming experiences using video (MYST style games, allowing live people shot against a chromakey to be overlaid on top of your actual game graphics, etc.).
* Advanced 3D game creation, along with an interactive, 3D room editor. Having your new engine a 2D and 3D would be a great thing, and a 3D room editor maybe like FPS Reloaded has and even better of course.
* Built-in shaders templates. Much like particles have pre-made stuff (snow, rain, etc.) why not have some pre-made shaders, for those who are not familiar with SL. and it would be used like the functions dealing with rain, snow, etc. Example shader_type(water,....followed by the params)
* Bulk loading assets as separate entries.
Currently, you have to load every single bloody sprite yourself. That's fine if you have few of them. But for huge games where you have loads of them, it would be nice to being able to bulk load them. Currently if you do this, they will load as ONE sprite with several sub images. With what I am suggesting, they could each be loaded as separate sprite indexes in your tree. Of course once you select more than 1 sprite, it would ask you if you want 1 sprite with multi subimages or separate sprite indexes. Same concept for sound, backgrounds, etc.
Followed by the option of allowing bulk object creation, instead of individually creating new objects in a tree. For example if I highlight and select 4 sprites from the sprite tree, I would hit a key and it would automatically create 4 objects assigned to their respect sprite index. (This falls under changes in the IDE). As with the current IDEs it can be a pain in the arse to work with big projects.
* Allow loading external resources from raw data. This was discussed in another topic and Harri agreed with the concept.
So instead of having sprite_add loading from disk, there could be sprite_add_from_raw or data, adding a sprite/sound/background, etc from data !
Example, if I use a single resource file and use file read commands to binary extract data from position x to position y and store it in data. I would then use sprite_add_from_raw(data, spr_index, etc.) instead of a filename. This would allow for amazing possibilities and avoid 1 write and 1 re-read cycle.
* interactive code ... A good way to get people to code and learn your product is provide interactive help.
Let's say I want to do something, play a sound, I would like on an option and get a menu (sound, graphics, drawing, physics, etc.....) click on the category and a tree opens, selecting what I need to do and seeing the code appear. Much the same way you read a manual and learn, but only it is included as an interactive element.
There are probably many more ideas I have. but will leave it at that for now.