Introduction to Compilers

This entry is part 1 of 1 in the series Introduction to Compilers

Introduction: Welcome to our series on compiler development using Python! In this series of articles, we will explore the fundamentals of grammars and their role in defining the syntax of programming languages. We’ll also discuss different notation systems used to express grammars, such as BNF, EBNF, and PEG, and their relation to lexical analysis. Understanding

Speeding Up Python Apps With CFFI

Speeding Up Python Apps With CFFI

Calling C/C++ Code from Python Introduction Python is a powerful and versatile programming language, but one of its weaknesses is that it can be slow compared to other languages like C or C++. However, Python can use C/C++ code to speed up the application or simply make use of functionality not available in Python. By

How to Allow Users Access to Virtual Devices

A I’ve been working on a little side project that uses a PC’s audio port to read the control signals from a radio control transmitter via the PC’s audio input and use it to control a virtual joystick. I had to do a refresher on how Linux handles input devices and search for what C

Securing Credentials in Python Apps

Securing Credentials in Python Apps

Python has become a very popular language for software development. Over the decades since it was first introduced, the language has slowly grown and matured while keeping its ease of use and shallow learning curve. This has made it the go-to language for much of the AI and ML communities and many web applications have

Building Machines In Code – Part 9

This entry is part 9 of 9 in the series Building Machines in Code

Tooling for the Tiny-T When we completed the console, last installment, I had said I was unsure what I would cover next. I’m really wanting to begin implementing our audio device, but I felt that adding a GUI for the Tiny-T system was a target much more achievable in the limited time I had. However,

Building Machines In Code – Part 8

This entry is part 8 of 9 in the series Building Machines in Code

Adding a Crude Console Last time, we left off with a working computer system using the Tiny-T processor. I told you that we would add a very crude terminal to the system this time. The terminal I’ll present today is barely a terminal. It won’t have any special functions, text scrolling, or any other features

Building Machines In Code – Part 7

This entry is part 7 of 9 in the series Building Machines in Code

Today’s Project NOTICE: Today’s Code will only work under Python 3.10 and later. In this episode, we will build a new system using a processor with Von Neumann Architecture. We will also be splitting our system into various files and classes to organize our system better. The Memory will no longer be part of the