ASMPROC on GitHub.
ASMPROC is a super-set of the assembly language which adds structured programming (like IF ... THEN, FOR ... NEXT, etc), making it a lot easier to program in machine language. It works like a pre-processor: you feed it an asmproc-compliant source file and it will produce a .ASM file that you can compile with a separate assembler.
The story behind ASMPROC in brief is this: back in 2006 I discovered this wonderful forum and became interested in VIC-20 back again. I decided to write some ML game, but soon discovering I could not tolerate 6502's syntax: it was too verbose and too cryptic for me. So I started to write a small tool that would convert "IF THEN" into the equivalent "BNE, BEQ, BCS, BCC etc..." instructions. The trick worked quite well and I kept extending the tool with things I encountered in my day-to-day programming. In brief it became a complete language that I enjoyed very much.
And it proved to be useful because it allowed me to write the following games with little effort:
- Tetris
- Return To Fort Knox, which was preceded by a complete reverse engineering of the "Raid on Fort Knox" cartdrige
- Gomoku, also cross compiled for C16 and C64
- Pong, written in collaboration with @nbla000
- Tetris Deluxe, written by @nbla000 on the base of the original Tetris
The only problem in ASMPROC was that it was written in hurry and without a broad picture of the whole, in other words the source code sucked

So the plan in the years that came was to rewrite it, perhaps in another language, and refine it making it something that others could use.
I did several attempts at rewriting it, but all failed.
Recently I became interested again in retrocomputing and in Z80, so I decided to give it one more last try. I unzipped my old C++ source code and in something like a weekend, I converted the 2500 lines of spaghetti code into a JavaScript equivalent (TypeScript actually). Now I can reason on the code and can improve it if required.
I'm going to add support for Z80 (z80asm assembler) and ca65 because ASMPROC was originally meant to work with DASM.
If you are curious about this project, have a look at the README on Github just to make an idea of what it can do.