summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog92
1 files changed, 92 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..1479d2d
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,92 @@
+colm 0.12.0 - Feb 1, 2014
+-------------------------
+ * allow matching against reference types
+ * refcount fixes for setting references
+ * can use 'in' expr to search ref types
+ * can take refs of temps in expresssions
+ * error handling improvements
+ * fixed the colm input open check
+ * added a default capture name to all production definition rhs elements,
+ defaults to the type name
+ * allow var ref as the target of a send construct
+ * added the cast operator
+ * return nil from open if file open fails
+ * improvements to locals downrefs (large func offset overflow and iters)
+ * fixed the typeref for stdout and stderr, now working
+ * evaluate print arguments left to right
+ * improved separation of declare, resolve/lookup, and compile passes
+ * lookup of types in cons/pats uses the cons type or pattern tree namespace
+ * added the void type, useful for calling func in send expression
+ * can re-enter namespaces that already exist
+ * don't search parent scopes when qualifications are present
+ * added a new syntax for literal tokens; a single backtick is starts the
+ literal, ends at whitespace or ] in second or greater position
+ * removed comma as separator in literal statement
+ * single-quoted strings are now treated like double-quoted strings; they
+ may appear in expressions and are concatenated with the other string forms
+ * new syntax for collect-ignore tokens "token <id> -"
+ * added the system function, which calls C's system
+ * fixes for contiguous stack regions that fixes some segfaults
+ * don't use stack top offsets in print instructions
+ * allow make_tree anywhere
+ * don't use sp offset for make_tree, removes need for contiguous
+ * eliminated stack offset from make-token instruction
+ * print function names in call op debug stmts
+
+colm 0.11 - May 26, 2013
+------------------------
+ * Require <> around ref and ptr type declarations (eg: ptr<type_ref>)
+ * Added production labels, which follow a production with the form
+ :Label. Labels are exposed in the C++ interface using an enum. They
+ are prefixed with _ to avoid conflict with member access functions.
+ * It's now possible to access Tree::tokdata from the C++ interface.
+ * The print, stream print, stream push, and stream append operations all
+ no longer trim trees by default. This makes these functions
+ consistent with constructor, which refrains from trimming to avoid
+ extra work. A construct with a tree trim is accomplished with an
+ additional operator. The above print and stream operations now have
+ the same usage patterns.
+ * Fixes to prodNum preservation through tree copy, and to the parser
+
+colm 0.10 - Apr 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 <ID> ... 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<Type>. 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.