summaryrefslogtreecommitdiff
path: root/src/colm.lm
Commit message (Collapse)AuthorAgeFilesLines
...
* start on the object-based list implementation (list2)Adrian Thurston2014-12-071-1/+9
|
* removed the Vector typeAdrian Thurston2014-11-081-2/+0
|
* now using 'new' for object semantics (formerly new2)Adrian Thurston2014-11-041-3/+1
|
* allow keyword 'struct' as synonym of 'context'Adrian Thurston2014-11-041-3/+7
|
* now using the object-based semantics for list and mapAdrian Thurston2014-11-041-4/+0
|
* added map2 type, also mapping to ptr of map<>Adrian Thurston2014-11-031-0/+2
|
* added deref back to the languageAdrian Thurston2014-11-031-0/+2
|
* some initial work on non-tree list typesAdrian Thurston2014-11-021-0/+2
| | | | Can allocate a list type.
* start on list2, the non-tree listAdrian Thurston2014-11-021-0/+2
|
* switch: compose match expression for every case clauseAdrian Thurston2014-07-161-1/+1
|
* added a syntax for print that is a synonym for send stdoutAdrian Thurston2014-07-061-0/+1
|
* added parse_tree for sending constructed trees (orig parse behaviour)Adrian Thurston2014-07-061-0/+2
|
* added a switch statementAdrian Thurston2014-07-031-0/+15
|
* send is now converting trees to strings, old behaviour with moved to send_treeAdrian Thurston2014-07-011-0/+2
| | | | | | | | | The send statement now converts trees to strings. It is now possible to swap a in a parser where streams where and not get parse errors due to trees not being accepted. The old behaviour is now available with send_tree. This is much less common, though still useful.
* removed comma operator from expression listsAdrian Thurston2014-02-011-2/+0
| | | | | | | | If comma is allowed there will likely be large amounts of code written with it because it's so comon in other languages. It is only needed in a few cases, so for those we can resort to other techniques, such as using parens around expressions to isolate ('a') ('b'). This will prevent confusion when seeing code with and without commas.
* updated ni syntax, require - between def and kwAdrian Thurston2014-01-191-5/+9
| | | | | | | | literal `( -ni token id /'a'/ -ni This allows ni to appear in literal defs without an ambiguity beween left and right ignore.
* new syntax for collect-ignore tokens: token <id> -Adrian Thurston2014-01-181-1/+7
|
* added backtick lexical syntax for literal tokensAdrian Thurston2014-01-141-31/+61
| | | | | | | | | | | | | | | Added a new syntax for literal tokens. A single backtick is starts the literal. Ends at whitespace or ] in second or greater position. The zero length token is now just a plain backtick. 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. Allowing ',' in parameter and argument lists to separate arguments, eg foo('a', 'b').
* added a namespace item list definitionAdrian Thurston2014-01-051-1/+17
| | | | The namespace item doesn't allow statements in namespaces.
* added the cast operatorAdrian Thurston2013-12-151-0/+2
| | | | | | | The cast operator converts a tree to another type by copying over tokdata, ignore tokens, and children. The new tree has the type of the target of the cast. Attributes are cleared (# determined by target type). The production number is set to -1.
* removed most labels, using the defaultsAdrian Thurston2013-10-191-245/+241
|
* final (near) use of prodNameAdrian Thurston2013-06-091-8/+7
|
* more use of prod name switches, covers almost all prodsAdrian Thurston2013-06-091-38/+38
|
* more use of prod name switch statementsAdrian Thurston2013-06-091-32/+32
|
* more use of prod name switches in the colm loaderAdrian Thurston2013-06-091-53/+52
|
* more use of prod name switches in the colm loaderAdrian Thurston2013-06-081-25/+25
|
* renamed colm dir to srcAdrian Thurston2013-06-081-0/+715
Renamed 'colm' dir to 'src'. To allow colm to work out of the installed location or the source tree, while the installed includes reference <colm/include.h>, a symlink to '..' is placed at src/include/colm.