Constructive cricitism: this would really benefit from a parsing layer and dealing with more abstract structures, rather than operating on strings and regular expressions.
I really hope this is not vibe coded, because my criticism, if this wasn’t the honest work of a beginner, would be much more scathing than that and would confirm all my biases against LLMs.
Ah, so it's a so-called "high-level assembler" like PL/360 [0] for System/360 or PL-11 [1] for PDP-11? The problem with such languages is, well, C has killed them pretty thoroughly. You can take PCC, or LCC, or Tiny CC, and cobble a new instruction-emitter (for a relatively sane ISA) of decent quality in a week or so.
Hi Joker_vD, I really appreciate the comment and you’re mostly right—C was meant to be a portable assembly language that abstracts developers from machine instructions. Riscrithm isn’t trying to be a worse copy of C; it would be impossible for a single developer to match it. Instead, Riscrithm is meant to make writing RISC-V assembly simpler while maintaining a 1:1 relationship between Riscrithm lines and assembly lines. When writing a driver, you often need to use assembly, and with Riscrithm, you know exactly what each line does and how it’s translated. In contrast, with C/C++ or others, a single line of code can expand into many more assembly lines. This is just v1.0.0 (which I wrote in my free time this weekend), and v1.1.0 is coming soon with better features—I hope you’ll check it out!
I should also apologize for the delay in my reply, but the time difference is quite the buzzkill!
Riscrithm is an intuitive RISC-V assembler designed to make writing assembly simpler. Its syntax is meant to be clean while staying strictly aligned with native machine instructions. The GitHub repository offers a detailed description of Riscrithm v1.0.0, along with a Developer Manual in the README.md for an deep dive into its syntax (the README.md also includes a short summary of what v1.1.0 will include). While v1.0.0 isn’t perfect, work is underway on version 1.1.0, which will add important new features to the language. The compiler is written in Go, with versions available for Windows, Linux, and Apple (both AMD64 and ARM64). For any further questions, feel free to leave a comment on the post.
Constructive cricitism: this would really benefit from a parsing layer and dealing with more abstract structures, rather than operating on strings and regular expressions.
I really hope this is not vibe coded, because my criticism, if this wasn’t the honest work of a beginner, would be much more scathing than that and would confirm all my biases against LLMs.
Ah, so it's a so-called "high-level assembler" like PL/360 [0] for System/360 or PL-11 [1] for PDP-11? The problem with such languages is, well, C has killed them pretty thoroughly. You can take PCC, or LCC, or Tiny CC, and cobble a new instruction-emitter (for a relatively sane ISA) of decent quality in a week or so.
[0] https://en.wikipedia.org/wiki/PL360
[1] https://en.wikipedia.org/wiki/PL-11
Hi Joker_vD, I really appreciate the comment and you’re mostly right—C was meant to be a portable assembly language that abstracts developers from machine instructions. Riscrithm isn’t trying to be a worse copy of C; it would be impossible for a single developer to match it. Instead, Riscrithm is meant to make writing RISC-V assembly simpler while maintaining a 1:1 relationship between Riscrithm lines and assembly lines. When writing a driver, you often need to use assembly, and with Riscrithm, you know exactly what each line does and how it’s translated. In contrast, with C/C++ or others, a single line of code can expand into many more assembly lines. This is just v1.0.0 (which I wrote in my free time this weekend), and v1.1.0 is coming soon with better features—I hope you’ll check it out! I should also apologize for the delay in my reply, but the time difference is quite the buzzkill!
Riscrithm is an intuitive RISC-V assembler designed to make writing assembly simpler. Its syntax is meant to be clean while staying strictly aligned with native machine instructions. The GitHub repository offers a detailed description of Riscrithm v1.0.0, along with a Developer Manual in the README.md for an deep dive into its syntax (the README.md also includes a short summary of what v1.1.0 will include). While v1.0.0 isn’t perfect, work is underway on version 1.1.0, which will add important new features to the language. The compiler is written in Go, with versions available for Windows, Linux, and Apple (both AMD64 and ARM64). For any further questions, feel free to leave a comment on the post.