Skip to content

Author: Paul Lefebvre

Compilers 105 – Back End Overview

Once the front end has done its work its time for the back end components to take over.

This is the fifth in our compiler series and the first on the back end. We covered the parts of the compiler that are called the front end in these posts:

Comments closed

Compilers 103 – Semantic Analyzer

The Semantic Analyzer is the real heart of the compiler. Its job is to validate code and figure out what the code actually means. Essentially it validates that the code is semantically correct.

This is the third post in our Compiler series. Previous posts:

Comments closed

Do you need an iMac Pro for Development?

Of course you want an iMac Pro! But do you really need one for your development work? Most of the iMac Pro videos and reviews seem to focus on video and audio editing, which are certainly tasks that make use of the many cores that are available (8-18).

But software development is also a Pro task. What benefits does an iMac Pro bring to a software developer?

Typically most people will opt for a computer that probably has four cores such as found in the i5 and i7 series. These are used in the popular Macbook Pro and iMac models, for example. Four cores sure sounds like a lot so why would a developer need more?

Comments closed

WinAPILib on GitHub

Many years ago, the Window Functionality Suite (WFS) library was created by Aaron Ballman. This library was a collection of Win32 Declares (and a few other things) for accessing Windows-specific functionality that was not directly provided by the Xojo framework.

WFS is still available on GitHub, but it has languished over the years. For example, it has lots of legacy code in it for older versions of Windows that is no longer needed since Xojo only supports Windows 7 and later. WFS is also not really compatible with 64-bit projects since the Declares mostly assume 32-bit or bust.

To that end, I’ve started a new open-source project called WinAPILib that is now available on GitHub.

Comments closed

Compilers 102 – Parser

At XDC 2016 there was a lot of interest in our Compiler session and LLVM. I’ve summarized a bit about LLVM in an earlier post, but to take things further, we put together this series of blog posts on compilers.

These will all be at a high-level. None of these posts are going to teach you how to write a compiler. The goal of these posts is for you to have a basic understanding of the components of a compiler and how they all work together to create a native app.

This is the second post in our ongoing series on compilers. I recommend that you first read Compilers 101 – Overview and Lexer before continuing.

Comments closed

Compilers 101 – Overview and Lexer

At XDC 2016 there was a lot of interest in our Compiler session and LLVM. I’ve summarized a bit about LLVM in an earlier post, but to take things further, we put together this series of blog posts on compilers.

These will all be at a high-level. None of these posts are going to teach you how to write a compiler. The goal of these posts is for you to have a basic understanding of the components of a compiler and how they all work together to create a native app.

Comments closed