By bdingo on 2019-01-05
There comes a time in one’s life when one must make the decision on whether or not they should write a compiler for a crappy language. As you may guess, our dingo pal was up for the challenge. After some hard work and procrastination, Budster whipped up a GRIBLANG lexer in C with unreadable pointer arithmetic and overall poor design. It was something, but the project couldn’t continue. Budster’s soy-filled muscles collapsed under the lack of abstraction that C brought forth. As a wise man once said, \“In the C language, you gotta to do everything yourself bud.\” Like the young NPC LIBREAL millennial he was, the dingo craved for something more. He needed abstraction. He needed sane heap management. He needed Rust. And so the great and glorious RIIR of Griblang had begun. It shortly ended after Budster realized that lexers are actually the easiest part and that he would have to traverse AST hell in order to make his precious dream a reality. So, he did what any typical millennial snowflake would do: he flat out abandoned the project. For months, a folder titled \“gribc\” lie dormant on Budster’s cluttered desktop.
But one day, everything changed. 2019 rolled in, and Rigby rose from the ashes of 2018. Rigby’s mere name was a play on the name GRIB. It was a token of Budster’s sheer laziness. But this token wasn’t an insult, it was a call to action. It was a cry for help from a child holding two kittens in a burning building. Budster could not stand idle any longer. Budster knew what he had to do. He had to finish GRIB.
He looked at what he had so far: a bare-bones lexer. Its architecture resembled the original C lexer. It tokenized the characters by running through a Chars
iterator and looking ahead at the next character in the stream to see if it should get its own token or be appended to the last token. It was effective, but the little compiler had some ways to go. Budster still had to get around to creating the AST generator and then he had to dip his paws in the deep and dark waters that are LLVM.
cargo new –bin thegribfiles
Comments
Third person is the new first person. In other news... I cried a bit reading this. I cannot wait for the first installment to come out.
Second person is so underrated *cri*
new reply
Wow this was very inspiring. I was inspired by this to also begin working on my old and withering projects which currently reside on my hard drive. I have a feeling this time I can really get somewhere
new reply
new comment