Blogs / Personal blogs

Brian Callahan

briancallahan.net

I am a Specialist Professor in the Department of Computer Science and Software Engineering (CSSE) and Director of the Monmouth University Cybersecurity Research Center (CRC) at Monmouth University in central New Jersey. As a researcher, my focus is broadly on all things cybersecurity: from its intersections with…

Popular posts
15
Total points
2,527
HN comments
846
Rank
#607 personal

Visit briancallahan.net → On Hacker News Aug 2020 – Dec 2022

Software Engineering 15Programming Languages 10Systems & Performance 5

3

I wrote a linker everyone can understand

When we wrote our assembler we made many design choices that helped us cut down on the complexity of the assembler itself. One of those decisions was to have the assembler directly output executables. That was a good choice in that it allowed us to quickly test as we were developing: once we implemented an opcode, we…

9

I got the J language working on OpenBSD

Yes, I am aware that I am interrupting our self-hosting PL/0 compiler series but I think it will be worth it. Earlier today, I got the J language system running on OpenBSD . I find it important to write these up, because it helps me preserve my own knowledge of what I did and hopefully it will help others porting…

10

Hand-optimizing the TCC code generator

I am on a number of different compiler mailing lists. One of those is the mailing list for the Tiny C Compiler . Imagine my surprise when a recent email mentioned our latest series and suggested trying a similar approach to improve the code generator in TCC. I was interested to see if there were any low-hanging fruit…

11

Let's write a compiler, part 3: A parser

Tokenizing the source code input is a great start for our compiler. Now let's turn our attention to parsing the PL/0 grammar. Once we have finished with the parser, the front end of our compiler will be finished and we will have a PL/0 validator. This is a program that can read in PL/0 source code and inform the user…

13

Can we do better than our C compiler?

Today, I wanted to see if I could out-compile my C compiler. I added a hand-compiled assembly version of echo from our previous coding exercise and added a new make target, make asm , that will assemble it. Let's look at our hand-compiled assembly and compare it to our C compiler and ask whether or not it was worth it.