-
Notifications
You must be signed in to change notification settings - Fork 9
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
Future goals and ideas #17
Comments
Hi, I've actually been thinking about creating a version 2.0 of t2b. The initial version was more or less the results of 1 day of hacking, so some choices were made in the name of simply completing the project. There are lots of things I would ideally like to improve in a future version, but I'm starting to think that such an effort would be similar to making an interpreter for an actual programming language, so I'm not sure when I would be able to get around to it. Even as far as just fixing small bugs/nits in the existing implementation, I'm not sure when I would have a chance to, since I have limited time these days. |
That's great news. Keep me/us posted with what you envision.
It already is. But if the command set will stay similarly small and simple as the current command set, most of other things can users do using macros later in the future (actually many of the current commands can also be macros assuming the quoting/unquoting will be available). So don't think about the language itself as a big thing 😉. Btw. I like t2b because I totally love to think about things in terms of expected outcomes (i.e. top-down approach). And because t2b can "only" spit out something it makes my thinking clearer. That's why I proposed the points above, because t2b as it stands became too limiting for me.
Take your time. I'm also overly busy, so I can imagine what you mean. |
Update - I'm highly considering picking this back up. Probably will use ANTLR4 to build a new parser; I have used it a lot, and think the added dependency is worth it. The new language will have a handful of data types:
Existing functions, like At the same time, compatibility is important, so I will aim to keep the syntax backwards-compatible. Certain things will be deprecated, like There will be a Example:
|
Ah, ok. I was mainly interested in the macro functionality as that's a more generic approach allowing better "interleaving" between the code which is being generated and the t2b lang code itself. Having macros was the main selling point for me 😉. But I'm curious anyway what will come out of this effort as it might still be close to what I'd imagine. So don't let yourself be sidetracked by my rants. |
Actually many of the features described here are already implemented in flat assembler, fasmg has a powerful macro syntax and other features to create binary files. Not only executables but also many others. It might be interesting to have a look. |
Going back to the issue of scope creep - if fasm has these advanced features, then it might not be worth adding them to t2b. |
If I may be so bold, I've got the customasm app, which has a similar feature set -- I'm always looking forward to sharing ideas! |
Any plans to make the "structural" constructs (
if
,times
,macro
, ...) "complete" as follows?times
it's not only abouti
, but also about missingbreak
(to simulate infinite loop or a while loop)macro
it's about "hygiene" - i.e. any variable from the argument list shall be automatically "shadowed" in case of (both direct & indirect) recursion (now variables seem to be overwritten instead of always shadowed)Ad 4: Maybe instead of:
just write:
I'm aware the point (3) goes against the "variables are global" mantra, but it'd make macros so much more useful and with that whole t2b.
The text was updated successfully, but these errors were encountered: