Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | replced bare send syntax whith << and <- forms | Adrian Thurston | 2020-07-18 | 1 | -1/+6 |
| | | | | | | Elimintates associated ambiguity between extending statements and starting a new one. Bare send was a nice idea, but it is too much for the language to bear. | ||||
* | first cut of a redefine statement | Adrian Thurston | 2020-04-12 | 1 | -14/+24 |
| | | | | | | | | Redefine happens during declaration. The existing langEl is removed from the map and a newly-declared lel replaces it. If the new list of productions references [...] the productions from the previous lel are moved into the new one, in its place. A copy would be preferrable, as move may require some fixup, but move gives an initial functional implementation. refs #112 | ||||
* | moved source files into commit repository | Adrian Thurston | 2020-03-14 | 1 | -0/+910 |
| | |||||
* | moved the original colm src dir to /colm | Adrian Thurston | 2019-09-08 | 1 | -892/+0 |
| | |||||
* | pushing the trim decision to run-time | Adrian Thurston | 2019-05-24 | 1 | -7/+4 |
| | | | | | | | | | The trim and no-trim operators are both now in the expression. In places where we want the print mechanism to decide if it trims or not, we lift the trim operator out of the expression and into the send expression, then pass it to the print and send instructions. This way the stream or input (parser) can control the trim (auto_trim feature) with the expression overriding the default. | ||||
* | allow referencing a tree in reduction actions | Adrian Thurston | 2018-12-17 | 1 | -0/+4 |
| | | | | syntax is $*N | ||||
* | removed XML and postfix print, implemented remaining print with send | Adrian Thurston | 2018-05-07 | 1 | -7/+1 |
| | | | | | | | | Removed the XML and postfix print forms. The functionality is now achieved with xml(), xmlac() and postfix() functions. Now implementing the print and prints using the send expression. All printing is now handled via the send instructions. | ||||
* | replacing the void LEL with a keyword and TYPE_VOID (non-tree) | Adrian Thurston | 2018-05-04 | 1 | -0/+2 |
| | | | | | Using LEL was a hack to make it work quickly, usig a non-tree type is the proper solution. | ||||
* | removed string concatenation from pattern, constructor and string | Adrian Thurston | 2018-03-30 | 1 | -6/+3 |
| | | | | | Only the send accumulator supports string concatenation. Taking this approach avoids ambiguity between a concatenation and a bare send. | ||||
* | allow a prod-name case clause to also have a pattern | Adrian Thurston | 2018-03-11 | 1 | -0/+1 |
| | |||||
* | added a send statement without the send <id> | Adrian Thurston | 2018-03-10 | 1 | -13/+17 |
| | | | | | | | | Added a bare send statement. This statement assumes availibility of send target named 'Output' Removed the expression statment to avoid ambiguity with factor string. Requires copying some factor items to the statment. | ||||
* | allow switching on production numbers | Adrian Thurston | 2018-03-09 | 1 | -1/+2 |
| | | | | | Added a form to case statements that accepts a production name instead of a pattern. | ||||
* | added a read_reduce statement to call postfix reducer | Adrian Thurston | 2017-07-27 | 1 | -0/+2 |
| | | | | Triggers the generation of the reducer. Accepts a stream. | ||||
* | started on a tree print in postfix notation | Adrian Thurston | 2017-07-20 | 1 | -0/+2 |
| | | | | | Postfix notation can be used as a streaming tree format as both an output and input. | ||||
* | some name improvements in colm grammar | Adrian Thurston | 2016-10-01 | 1 | -14/+14 |
| | |||||
* | auto-trim in print, send and construct, disable with @ | Adrian Thurston | 2016-10-01 | 1 | -3/+8 |
| | | | | | | | | | | | | | | Now automatically trimming when building trees and printing. This is consistent with the $ operator. Rationale is to standardize on the most commonly desired behaviour and provide options for the less-needed. Also much less likely to result in surprising output. There are many cases where test inputs won't have any surrounding ignores, making it easy to forget a trim is required. Then the occasional tree with surrounding ignores will give an undesired result. Better to standardize on trim, making the default behaviour more consistent. The trim can be turned off with the @ operator in front of an expression. | ||||
* | added the $$ operator, which converts tree-to-str with attrs | Adrian Thurston | 2015-12-15 | 1 | -0/+1 |
| | |||||
* | split reducers into their own class | Adrian Thurston | 2015-11-05 | 1 | -1/+1 |
| | | | | Previously selected with a runtime int. Using reduction name as the class name. | ||||
* | allow access to rhs elements by number | Adrian Thurston | 2015-11-01 | 1 | -0/+5 |
| | |||||
* | reduction actions: add loc reference, elim duplicate labels | Adrian Thurston | 2015-10-08 | 1 | -2/+5 |
| | |||||
* | collect and emit reduction action items | Adrian Thurston | 2015-10-06 | 1 | -4/+9 |
| | |||||
* | load reduction nonterms | Adrian Thurston | 2015-10-05 | 1 | -2/+2 |
| | |||||
* | added syntax dedicated to reductions | Adrian Thurston | 2015-10-05 | 1 | -0/+2 |
| | | | | | This avoids interferrence with existing parsing code. Calling the commit/reduce code only if the reduce construct is used. | ||||
* | load reduction actions and generate a commit containing them | Adrian Thurston | 2015-10-04 | 1 | -3/+3 |
| | |||||
* | sketched a grammar for reduction sections | Adrian Thurston | 2015-10-04 | 1 | -0/+48 |
| | |||||
* | allow globals to be declared in namespaces | Adrian Thurston | 2015-08-09 | 1 | -0/+1 |
| | |||||
* | now scoping functions inside the namespaces they are declared in | Adrian Thurston | 2015-08-09 | 1 | -1/+1 |
| | |||||
* | allow switch statements to be wrapped in {}colm-barracuda-v4 | Adrian Thurston | 2015-06-17 | 1 | -1/+2 |
| | | | | Required for unambiguously nesting switch switch statements. | ||||
* | adding commit points to switch clauses | Adrian Thurston | 2015-06-08 | 1 | -13/+19 |
| | |||||
* | replacing list and map with vlist and vmap | Adrian Thurston | 2015-06-06 | 1 | -13/+3 |
| | |||||
* | brought back the comma to param/arg lists | Adrian Thurston | 2015-05-03 | 1 | -4/+12 |
| | |||||
* | first cut of C extensions | Adrian Thurston | 2015-04-01 | 1 | -0/+8 |
| | |||||
* | some code cleanup, clone removal | Adrian Thurston | 2015-02-13 | 1 | -0/+4 |
| | |||||
* | first cut of value-based ints, test cases pass | Adrian Thurston | 2015-01-27 | 1 | -0/+4 |
| | |||||
* | require that a new parser of a context-type receive the context at new time | Adrian Thurston | 2015-01-24 | 1 | -1/+1 |
| | |||||
* | implemented capture for new | Adrian Thurston | 2015-01-24 | 1 | -1/+1 |
| | |||||
* | mandatory arg list for new | Adrian Thurston | 2015-01-24 | 1 | -1/+1 |
| | |||||
* | allow alias inside context declarations | Adrian Thurston | 2015-01-18 | 1 | -0/+1 |
| | |||||
* | setting the map el size | Adrian Thurston | 2015-01-17 | 1 | -1/+1 |
| | |||||
* | some work on the object-based map generic | Adrian Thurston | 2015-01-16 | 1 | -2/+2 |
| | |||||
* | brought back the pointer deref for reverse load | Adrian Thurston | 2015-01-16 | 1 | -2/+0 |
| | | | | | | | | Resurrected the pointer deref instruction for loading during reverse execution. Fixed the lastPtrInQual computation for structs and generics. Removed the deref syntax. | ||||
* | TYPE_PTR is no longer generated anywhere | Adrian Thurston | 2015-01-11 | 1 | -1/+0 |
| | |||||
* | some cleanup in the parser/loader | Adrian Thurston | 2015-01-05 | 1 | -4/+2 |
| | |||||
* | push towards embedded list elements | Adrian Thurston | 2015-01-04 | 1 | -0/+8 |
| | |||||
* | some name changing context -> struct | Adrian Thurston | 2015-01-04 | 1 | -6/+6 |
| | |||||
* | removed the multi-embeddable list code (aapl style) | Adrian Thurston | 2015-01-02 | 1 | -16/+2 |
| | | | | Left this work on branch embedded-list-el. | ||||
* | commit to object semantics for new | Adrian Thurston | 2014-12-25 | 1 | -2/+0 |
| | |||||
* | hacked together some struct (non-tree) semantics | Adrian Thurston | 2014-12-19 | 1 | -0/+1 |
| | | | | Can new, get and set non-tree objects (very limited features). | ||||
* | added struct, struct field and corresponding instructions | Adrian Thurston | 2014-12-14 | 1 | -0/+1 |
| | | | | | Can new and set/get the fields of a struct. Still using underlying tree object to implement. | ||||
* | added a syntax for declaring list element pointers | Adrian Thurston | 2014-12-07 | 1 | -0/+10 |
| |