summaryrefslogtreecommitdiff
path: root/src/loadcolm.cc
Commit message (Collapse)AuthorAgeFilesLines
* moved source files into commit repositoryAdrian Thurston2020-03-141-0/+2
|
* moved the original colm src dir to /colmAdrian Thurston2019-09-081-2851/+0
|
* support _IN_ _EX_ indentation in string accumulatorsAdrian Thurston2019-05-251-2/+0
|
* pushing the trim decision to run-timeAdrian Thurston2019-05-241-10/+29
| | | | | | | | | 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 actionsAdrian Thurston2018-12-171-0/+12
| | | | syntax is $*N
* use parser, not input, in the send instructionsAdrian Thurston2018-07-091-1/+0
|
* select between parser/plain stream at compile time, switch to "_"Adrian Thurston2018-07-091-1/+1
| | | | | | | | | Now that we have multiple parser using the same stream it is not responsible to set a pointer to parser from stream and rely on that to decide where to send (or to check if it is a simple stream). Back to making the decision at compile time. Also switching from "stds" to "_".
* make the rhs of switch vars available in case clausesAdrian Thurston2018-05-201-1/+5
|
* added stds, a list of streams, used for bare sendsAdrian Thurston2018-05-131-1/+2
|
* removed XML and postfix print, implemented remaining print with sendAdrian Thurston2018-05-071-29/+69
| | | | | | | | 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 Thurston2018-05-041-0/+4
| | | | | 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 stringAdrian Thurston2018-03-301-29/+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 patternAdrian Thurston2018-03-111-9/+20
|
* added a send statement without the send <id>Adrian Thurston2018-03-101-126/+159
| | | | | | | | 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 numbersAdrian Thurston2018-03-091-22/+29
| | | | | Added a form to case statements that accepts a production name instead of a pattern.
* updated Copyright yearsAdrian Thurston2018-03-041-1/+1
|
* added a read_reduce statement to call postfix reducerAdrian Thurston2017-07-271-4/+18
| | | | Triggers the generation of the reducer. Accepts a stream.
* started on a tree print in postfix notationAdrian Thurston2017-07-201-0/+3
| | | | | Postfix notation can be used as a streaming tree format as both an output and input.
* migrated from GPLv2 to MIT licenseAdrian Thurston2016-12-131-17/+18
|
* an automated include convention improvement from Peter ReijndersAdrian Thurston2016-12-131-10/+3
|
* some name improvements in colm grammarAdrian Thurston2016-10-011-20/+20
|
* auto-trim in print, send and construct, disable with @Adrian Thurston2016-10-011-3/+12
| | | | | | | | | | | | | | 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.
* check include paths when opening includesAdrian Thurston2016-07-281-2/+15
|
* extract stream file names so we can use them after the colm program is deletedAdrian Thurston2016-03-161-0/+2
|
* added the $$ operator, which converts tree-to-str with attrsAdrian Thurston2015-12-151-0/+5
|
* location fix for red actionAdrian Thurston2015-11-301-2/+1
|
* split reducers into their own classAdrian Thurston2015-11-051-4/+7
| | | | Previously selected with a runtime int. Using reduction name as the class name.
* allow access to rhs elements by numberAdrian Thurston2015-11-011-0/+12
|
* reduction actions: add loc reference, elim duplicate labelsAdrian Thurston2015-10-081-2/+21
|
* load and generate accessors for $$ and $rhselAdrian Thurston2015-10-071-2/+7
|
* collect and emit reduction action itemsAdrian Thurston2015-10-061-4/+41
|
* load reduction nontermsAdrian Thurston2015-10-051-3/+14
|
* added syntax dedicated to reductionsAdrian Thurston2015-10-051-3/+14
| | | | | 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 themAdrian Thurston2015-10-041-0/+45
|
* working on a commit that can execute reduction actionsAdrian Thurston2015-10-041-17/+30
| | | | | | First track if the result is used. If not, we can remove parse trees at commit points. This is also the time to execute reduction actions so we can load as we parse. Not currently enabled (by way of omitting setting of not-used bit).
* allow globals to be declared in namespacesAdrian Thurston2015-08-091-9/+11
|
* now scoping functions inside the namespaces they are declared inAdrian Thurston2015-08-091-7/+8
|
* allow switch statements to be wrapped in {}colm-barracuda-v4Adrian Thurston2015-06-171-1/+2
| | | | Required for unambiguously nesting switch switch statements.
* fixed segfault following parse error in included fileAdrian Thurston2015-06-121-1/+2
|
* now creating list and map el structures in the declare passAdrian Thurston2015-06-071-94/+7
|
* some nameing cleanup around list and list elAdrian Thurston2015-06-061-3/+3
|
* replacing list and map with vlist and vmapAdrian Thurston2015-06-061-25/+74
|
* improved naming, moved generated parser code to subdir genAdrian Thurston2015-05-101-1/+1
|
* some naming cleanupAdrian Thurston2015-05-101-1/+1
|
* brought back the comma to param/arg listsAdrian Thurston2015-05-031-8/+21
|
* first cut of C extensionsAdrian Thurston2015-04-011-0/+21
|
* code cleanup and movementAdrian Thurston2015-02-151-28/+11
|
* need to make vlist and vmap elment structs uniqueAdrian Thurston2015-02-141-26/+53
|
* implementing vlist functionsAdrian Thurston2015-02-141-2/+2
|
* work on value list and value map, can insert into vmapAdrian Thurston2015-02-131-3/+6
|