🐱 HQ9C is a very serioues compiler for HQ9+, it meta-compiles with Rust.

Overview

HQ9+ Compiler

HQ9c (Or HQ9+ Compiler) is a blockchain-based NFT minting AI machine-learning cloud infraestructure for the compiling of the great programming language HQ9+ written in Rust using a C# FFI written in ASM.

Unlike other tools I made, this actually works! And it produces an executable through the Rust compiler to LLVM, then to C, then to Python, finally to Java 🤮 bytecode and to an executable.

How does it work, master Shifu?

The highly complicated HQ9+ programming language isn't easy to understand, but I'll do my best to explain it in a way your mortal mind can understand.

The HQ9+ programming language has 4 characters, and all other characters (included their lowercase versions) are treated as characters.

  • H
  • Q
  • 9 (My favourite)
  • +

H

The "H" character is powerful, one could say almost as powerful as the divine letter H. It houses the unlimited power of the 12 character phrase "Hello world!".

We all learned programming with the mythical "hi mom im learning scratch" and this reminds us of those times, long time before all these block chain based JS/TS blazingly fast AI machine learning API frameworks. ugh

Yes. "H" prints "Hello world!" to the standard output.

Q

Even tho not as powerful as H, Q (for queen ) also can have great powers, even curing alzheimer's, reminding you of your highly complicated and complex HQ9+ source code. This can be used as to flex to your friends that you made that whole code yourself, without showing your IDE is Eclipse 🤮 . If you're having problems with this, understand that this is an epidemic, and you can enter Eclipse's rehab here.

Your thoughts are, indeed, correct. "Q" prints the source code to the standard output.

9

The nineth number (actually, eighth) is the most complex command for the compiler, and the most complex command for you. This is one of the new additions of the HQ9+22 spec.

9 prints the whole. cannonical lyrics to 99 Bottles of Beer on the Wall. That song where you violently destroy your wall by hitting it with rock-hard beer bottles. Just like a pirate.

Attention! You'll need it to understand the following paragraph.

There's a secret compiler option, that can only be found in the secret help menu. I'll not tell you where this menu lies, because that's your problem. ¯\(ツ)

With that option, you can change the numbe r of +bottles................

sorry my cat shat on the keyboard while I was typing.

So, with that option you could change the number of bottles, that, indeed, are thrown to the wall in order to destroy it like a caveman.

Then you can go climb a couply of trees just to reinforce your new caveman state.

+

The + operator... It brings me so much joy of my infantile years, when I wasn't old and decrepit, almost dead.

This is the first thing we learn in school (I think), and it's so important in our daily lives, like... To be honest I just let the machine do its job.

Some of you are greatly utterly incorrect about the use of the accumulator, I can even cite this Stack Overflow response.

It's a joke.

No Jörg W Mittag from Stack Overflow. It's not a joke, the accumulator is a code optimization nexus in which code lie between life and dead.

No, the accumulator can't be printed, but that doesn't make it a less valuable thing, take into account that this "joke" is a 25% of our features.

Even more than that. I could intercept the very specific RAM address of the accumulator and read its value while the program takes place. Then what?! EH? Jörg W Mittag from Stack Overflow?!

Installation

I hope you read all of the above information, because it's a highly valuable read, that I left just for you.

The way to install is to:

  1. Clone the repo:
git clone https://github.com/blyxyas/hq9c.git
  1. Build the project with Cargo.

I know, this can be a little be challenging, I'll take your hand for this process...

Execute the following command:

sh ./makemakefile

This sh ./makemakefile will make the Makefile file to make the project, finally we can execute the makefile with make.

make

This will create the executable into .target/release/hq9c Now you could move the executable to /usr/bin, or maybe you just want to use it a local project and not on a global scale (Thought it's highly recommended).

Usage

To get the help message use the following command:

hq9c --help

To compile a file use:

hq9c -o <OUTPUTFILE> <INPUTFILE>
hq9c -o nasa_artemis_source nasa_artemis_source.hq9p

You can also change some parameters, and it will vastly improve the experience.

hq9c -o nasa_artemis_source -b 419 nasa_artemis_source.hq9p

(Will change the number of bottles thrown at the wall)

You can use any extension you want, but for the HQ9+22 spec. The recommended extension is hq9p or hq9

Inspiration

I want to thank my family for this genious idea that I had. I also want to thank my giant fat cat Keepy and my mini skinny cat Mina, and, how'd I forget, I really want to thank the creator of this marvelous language Cliff L. Biffle. and this another implementation (this time it's an interpreter.) by Lucas Larson for giving me the idea for creating a compiler.

This is all a joke, don't take it too serious. Tested with Arch Linux.

You might also like...
A very opinionated, zero-configuration shell prompt
A very opinionated, zero-configuration shell prompt

A very opinionated, zero-configuration shell prompt

Fls - Ferris-LS, a very bad LS replacement. Besides that, proves that I suck at clean & good code.

FLS A handy ls remake, purely for learning. Why FLS? There's no reason, at all, don't use it. I just want to learn Rust :D Usage Flags: -i = Use icons

dlfile is a very simple, straightforward CLI to download a file

dlfile dlfile is a very simple, straightforward CLI to download a file, except it... Only downloads over HTTPS Requires TLS 1.2 or higher Executes in

Work out how far apart things should be (very quickly)
Work out how far apart things should be (very quickly)

Kern determiner Work out how far apart things should be (very quickly) kerndeterminer is a Rust-based library for determining a kern value between two

This rust compiler backend emmits valid CLR IR, enambling you to use Rust in .NET projects

What is rustc_codegen_clr? NOTE: this project is a very early proof-of-concept This is a compiler backend for rustc which targets the .NET platform an

Vyper-Compiler Version Manager in Rust

Vyper Compiler Version Manager in Rust Install $ cargo install --git https://github.com/storming0x/vvm-rs --locked vvm-rs Install from source $ git c

Discord-to-Cohost compiler written in Rust using Tera
Discord-to-Cohost compiler written in Rust using Tera

Cohoard - Post formatted chatlogs to Cohost! Cohoard is a tool for turning chatlogs into formatted posts on Cohost. You can use Cohoard to easily form

Nederlandse programmeertaal. Geinterpreteerd en met dynamische types. Met bytecode compiler en virtual machine, in Rust.

Nederlang Nederlang is een geinterpreteerde programmeertaal, in het Nederlands! Met als bestandsnaam extensie.... .nl! Het maakt gebruik van dynamisch

⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in 🦀 Rust 🦀

Cairo 1.0 🐺 ⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in 🦀 Rust 🦀 Report a Bug - Request a Feature - Ask a Question Getting Started Prerequisi

Owner
Alex
✌️ Hi! (she/her) FYI I have two cats, they're both cute, I would send a picture if I knew how this "interweb" thing worked.
Alex
a universal meta-transliterator that can decipher arbitrary encoding schemas, built in pure Rust

transliterati a universal meta-transliterator that can decipher arbitrary encoding schemas, built in pure Rust what does it do? You give it this: Барл

Catherine Koshka 7 Dec 21, 2022
🚧 Meta Programming language automating multilang communications in a smart way

Table of Contents Merge TLDR Manifest merge-lang Inference File Structure Compile Scheduling Execution Runtime Package Manager API Merge NOTE: Any of

camel_case 4 Oct 17, 2023
Meta framework. Support for dynamic plug-ins and AOP

Kokoro Dynamic publish-subscribe pattern framework. Support for dynamic plug-ins and AOP Not yet stable, do not use in production !! 下面的内容有些老旧了,但是 exa

Kokoro 18 Mar 1, 2024
A very fast implementation of tldr in Rust

A very fast implementation of tldr in Rust: Simplified, example based and community-driven man pages.

Danilo Bargen 2.9k Dec 31, 2022
A cli based pastebin in Rust, but very insecure

pasta A cli based pastebin in Rust, but very insecure Use nightly toolchain to build rustup override set nightly When this program is running, you can

Snehit Sah 3 Mar 25, 2022
Learning Rust through Advent of Code 2021 - probably not very clean!

AoC 2021 ======== I'm using AoC2021 as an excuse to learn Rust (and maybe some other languages). Please do *not* use this repository as a good source

Andrew Zhu 0 Dec 8, 2021
A very basic show-case of rust on the esp32 in 2022

Readme This example code does the following: Set up a WiFi connection on the ESP32-C3 Spawn a thread using std::thread in which we listen for incoming

Mattia 13 Jan 19, 2023
F-Fetch targets low systems. Written in Rust. It's very simple, designed so you can pick it up and replace it.

F-Fetch F-Fetch targets low systems. Written in Rust. It's very simple, designed so you can pick it up and replace it. First Look ~/.config/ffetch/con

cd 3 Jul 10, 2023
A very tiny terminal snake game, purely implemented in Rust.

tiny-snake.rs A very tiny terminal snake game, purely implemented in Rust. Features Optimized binary has only 2760 bytes. No dependencies. Not even li

Rodrigo Batista de Moraes 59 Aug 16, 2023
A very simple third-party cargo subcommand to execute a custom command

cargo-x A very simple third-party cargo subcommand to execute a custom command Usage install cargo-x cargo install cargo-x or upgrade cargo install -

刘冲 9 Dec 26, 2022