October 2008 Entries

Twin Cities Languages User Group Talk Scheduled
My lexical analysis talk for the Twin Cities Languages User Group has been scheduled for Thu Apr 09 2009: Inside Lexical Analysis The first step in any source compilation is to analyze the source code's syntax so that it can be understood and translated into a target instruction set. But just how does this step work? In this talk, I'll discuss lexical analysis: the process by which a file full of code is systematically dissected into the identifiers, keywords and symbols that make up the source. ......

Posted On Friday, October 31, 2008 11:09 AM | Comments (0)

Closure Operator Support Added To Sotue
The .NET-based lexical analysis engine on which I have been working, dubbed “Sotue” for no particular reason, now supports building NFAs for regular expressions that includes what is known as the closure operators, all of which you should recognize as soon as you see them: ?, which means “match on zero or one occurrences of the preceding expression” *, which means “match on zero or more occurrences of the preceding expression” +, which means “match on one or more occurrences of the preceding expression” ......

Posted On Tuesday, October 28, 2008 9:59 PM | Comments (0)

Parsing Talk Under Consideration for Twin Cities Language User Group
Friend and colleague Jason Bock has asked me to consider presenting my parsing work at a future meeting of the Twin Cities Language User Group (TCLUG), and I was only too happy to accept. Jason and I haven’t worked out any details yet, but we’ll probably finalize my talk for either the April 2009 or May 2009 meeting. When I get more information, I will be sure to post it here. In the meantime, I encourage everyone in the Twin Cities area (that’s Minneapolis, Minnesota, USA and St. Paul, Minnesota, ......

Posted On Sunday, October 26, 2008 4:53 PM | Comments (0)

An NFA Viewer for Sotue
The first task for any lexical analysis engine, such as the one I building for Sotue, is to turn a regular expression such as “[A-Z][a-z]*” into a state machine that can be used by the engine itself to efficiently determine whether or not the input text matches the expression. Sotue generates these state machines in two phases: Construct an un-optimized state machine from the regular expression Optimize the state machine The un-optimized state machine is formally known in computation theory as a ......

Posted On Saturday, October 25, 2008 11:30 AM | Comments (0)

Sotue
The lex tool is defined in Wikipedia as follows: lex is a program that generates lexical analyzers ("scanners" or "lexers"). Lex is commonly used with the yacc parser generator. Lex, originally written by Eric Schmidt and Mike Lesk, is the standard lexical analyzer generator on Unix systems, and is included in the POSIX standard. Lex reads an input stream specifying the lexical analyzer and outputs source code implementing the lexer in the C programming language. The tool accepts an input file that ......

Posted On Sunday, October 19, 2008 12:10 PM | Comments (0)

Virtualization and XNA Development
I have, for quite a while now, used virtualization technology for all of my development. Multiple versions of installed tools, beta development kits and specialized setups have made the maintenance of a single machine too complex to support everything needed for every project. It has been much easier to create a virtual machine for a project, install whatever is needed, work on it, and tear it down at the end. If an installation fails, or if CTP software has destabilized an operating system. then ......

Posted On Sunday, October 12, 2008 9:23 AM | Comments (3)