h2wac
How to Write a Compiler #7 - Top Level Statements
C-minor's top-level statements are implemented by manipulating the AST before invoking the other compilation stages and are easy introduction to working with the AST.
h2wac
C-minor's top-level statements are implemented by manipulating the AST before invoking the other compilation stages and are easy introduction to working with the AST.
h2wac
For language products typical unit testing doesn't work well long term. Instead I recommend sandboxing for early prototyping and a dedicated test case file runner for more end-to-end style testing.
h2wac
If ever there was a design pattern that's perfectly suited to a job, it's the visitor pattern for working with an abstract syntax tree. But what is the visitor pattern and why is it so well suited?
h2wac
The Parser takes a stream of tokens, checks the syntax is valid and produces an Abstract Syntax Tree.
h2wac
Ask anyone who's worked on a compiler, and they'll all agree that the Abstract Syntax Tree is the most important structure in the whole compiler. But what exactly is it and what is it used for?
h2wac
Tokenization is the process of reading source code and splitting it into meaningful symbols that describe the program's content. It's the first step of any compiler.
h2wac
C-minor is a strongly typed, garbage collected language that compiles to in-memory machine code for direct execution. Here's how I built it.
C#
nvpatch is a command line utility to patch Windows x64 applications to enable NVidia and AMD discreet graphics GPUs on low power devices.
C#
An algorithm for converting boolean bit flag expressions to fast bit mask and test operations and even faster execution via dynamic IL method generation.
richedit
This video finishes the implementation of Undo/Redo in the view as well as support for multiple views and plain text clipboard operations. For source code, see this tagged branch of the RichTextKit repo. Got questions or comments? Find me on Twitter - @toptensoftware
richedit
This video looks at the document side aspects of undo/redo support. For source code, see this tagged branch of the RichTextKit repo. Got questions or comments? Find me on Twitter - @toptensoftware
richedit
In this video we reach a bit of a milestone with basic edit operations now working! Got questions or comments? Find me on Twitter - @toptensoftware
richedit
Looks at enhancements to RichTextKit's TextBlock class to support primitive edit operations. For source code, see this tagged branch of the RichTextKit repo. Got questions or comments? Find me on Twitter - @toptensoftware
richedit
This video looks at the remaining mouse interactions for selecting whole words, lines and paragraphs.
richedit
Continuing the development of a rich text editor in C#, this time looking at scrolling.
richedit
Looks at the implementation of keyboard navigation in the text editor.