Think In Geek

In geek we trust

Compilation of array expressions in Fortran

As I stated in my previous post, Fortran 90 improved the array capabilities of Fortran. Today we will discuss what are the challenges when compiling array expressions.

Continue reading “Compilation of array expressions in Fortran” »

Introduction to the gfortran array descriptor

With the approval of Fortran 90, its array capabilities were largely improved. While still far from languages like APL, the extra functionality required a rethinking of the concept array in Fortran. This led to the need for array descriptors in the language.

Continue reading “Introduction to the gfortran array descriptor” »

How (not) to write a C++ front end – Part 3

In the previous installment we talked about the parsing technology we used, which looks like the canonical academic approach to parsing. In this chapter we will see some dificulties we encountered along the years.

Continue reading “How (not) to write a C++ front end – Part 3” »

Exploring AArch64 assembler – Chapter 6

So far we know how to do some computations and access memory. Today we will learn how to alter the control flow of our program.

Continue reading “Exploring AArch64 assembler – Chapter 6” »

Exploring AArch64 assembler – Chapter 5

In this chapter we will see how we can access the memory in AArch64.

Continue reading “Exploring AArch64 assembler – Chapter 5” »

ARM assembler in Raspberry Pi – Chapter 26

In this chapter we will talk about a fascinating step that is required to create a program, even when using assembler. Today we will talk about linking.

Continue reading “ARM assembler in Raspberry Pi – Chapter 26” »

Exploring AArch64 assembler – Chapter 4

In this chapter we will see some instructions that will allow us to compute things.

Continue reading “Exploring AArch64 assembler – Chapter 4” »

Exploring AArch64 assembler – Chapter 3

In the last chapter we saw that instructions may have register operands and immediate operands. We also mentioned that mixing 32-bit and 64-bit register was not allowed. Today we will talk a bit more about register operands.

Continue reading “Exploring AArch64 assembler – Chapter 3” »

Exploring AArch64 assembler – Chapter 2

In the first installment of this series we did a very first simple program. In this chapter we will continue learning a bit more about AArch64.

Continue reading “Exploring AArch64 assembler – Chapter 2” »

How (not) to write a C++ front end – Part 2

In the previous installment I gave some context about the existence of Mercurium as a tool. In this chapter we will start digging into the parsing technology used.

Continue reading “How (not) to write a C++ front end – Part 2” »

Previous Posts Next posts