summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: ca2b8db6198494c9118b0228e1c3dbac61d0b43a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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.