Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User defined macros w/ variables #21

Closed
wants to merge 4 commits into from

Conversation

DerelictDrone
Copy link
Member

@DerelictDrone DerelictDrone commented Nov 20, 2023

Definition syntax:
#macro (name) (number of arguments) (code using $(arg num) to refer to argument)\n
Use syntax (once defined):
(name) a, b, c

Example code that recreates the compiler's own hardcoded vec2f macro
gmod_5dGvGmP5ZQ

Generated code comparison
gmod_NzyC7wUxl3

Macros can be referenced by other macros, at nearly no slowdown to compile time (tested with a chain of 60 macros referencing the next macro, and 16 uses of 4 defined macros of varied size, all compiles were under 1s) unless the macro is self-referencing infinitely, I can't seem to find a way to solve that one and am open to suggestions for solving before this is considered merge-worthy

The plan was to replace the inbuilt vector types with an include to a file containing definitions that recreate their use, so you can replace their names with structs to use them in C-style syntax w/ variables, but eh, that can come later.

@DerelictDrone DerelictDrone marked this pull request as draft November 20, 2023 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant