colm 0.10 - April 18, 2013 -------------------------- * Implemented the colm parser in colm. Bootstrapping with a parse tree construction in C++. Using that generated parser to to parse the colm grammar, from which the primary parser is produced. * Improved error reporting. * Added some tracking of progress through a stream for better backtracking over includes that are pushed onto a stream. * Updated the vim syntax, no longer highlighting parser, list, etc (types). * Parse expressions are now returning trees again. Returning the parser results in semantics inconsistent with many other areas of the program. * Can now put '.' or eos on the end of a send expression to terminate the parse * Removed the original send syntax (<<). * Lowercased and otherwise improved the C interface. * The default binary name no longer has .bin suffix. * Fixed -o option, now using -c to mean compile on (library). The export filename options are now -e and -x. colm 0.9 - Feb 19, 2013 ----------------------- * The parse loop now scans data that is owned by the input stream. It is copied into a contiguous block in the scanner when the token is consumed. * The syntax of lexical regions was altered to omit the name. The curlies were replaced with lex ... end syntax. * The syntax of namespaces were altered. Curlies were replaced with namespace ... end. colm 0.8 - Dec 29, 2012 ----------------------- * The parse statement now includes a call to the finish operation. It returns a value of type parser. The result tree and any error message can be retrieved from this object using 'tree' and 'error' members. * Dropped curly brackets and the name from the syntax of lexical region defintition. Using "lex ... end" * Dropped curly brackets from the syntax of namespaces and context blocks. Using "namespace N ... end N" and "context N ... end N" * Now have a growable stack instead of a large, fixed, pre-allocated stack.