Compiling C To PowerPoint

If you have worked for a large company — or even a small one — it might seem that you spend more time writing PowerPoint charts than programming. [Tom Widenhain’s] video asks the question: Can we compile C into PowerPoint? Watch the video below to find out the answer. Would it surprise you to know that [Tom] wanted to simulate the x86? It surprised us, too, and we had to note the video appeared on April 1. It does look workable, though, other than it is a bit unwieldy.

Instead of a Turing machine, this builds a set of clever logic gates. Unsurprisingly, [Tom] is the guy who put together a Turing machine in Excel. Surprisingly, he isn’t the first one to attempt a C to PPT compiler. The University of Chicago had a similar idea over a year ago, based on [Tom’s] earlier work and executed program using inefficient Turing machines.

Ironically, the code on GitHub uses Python to pull off the feat, even though the implementation is incomplete. Using the adder wasn’t very obvious to us, so here’s how it works. First, you have to be in slide show mode, of course. The top two rows of the adder (the first slide in the PowerPoint file) are the inputs. Click on the 1s or 0s. This fills in the middle section. Orange blocks are outputs and red blocks are those you have to click on in that middle section to populate the answer at the bottom. Kind of reminds of the paperclip computer.

So while the effort isn’t complete, we were impressed with the ingenuity of the logic gates. The use of the mouse position for data transfer made us nervous. As [Tom] points out, though, you are welcome to fork his repository and continue the project. We have to admit that we are more likely to abuse spreadsheets than presentation slides.

5 thoughts on “Compiling C To PowerPoint

  1. Silly me – I thought maybe this was a set of tools for producing PowerPoint as output from a C program. Kind of like how scripting languages like PHP can produce web pages on a browser as their output. HAHAHAHAHAHAHA! This notion dissolved on the first mention of “Turing machine”.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.