summaryrefslogtreecommitdiff
path: root/src/parser.cc
Commit message (Collapse)AuthorAgeFilesLines
* renamed DefList and LelDefList to the more accurate ProdList, LelProdListAdrian Thurston2020-04-121-13/+13
|
* first cut of a redefine statementAdrian Thurston2020-04-121-15/+17
| | | | | | | | 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 repositoryAdrian Thurston2020-03-141-0/+1128
|
* moved the original colm src dir to /colmAdrian Thurston2019-09-081-1122/+0
|
* reusing stream impls when parsing from 'input'Adrian Thurston2018-07-041-2/+11
| | | | | | | | To detect parsing from a top level input and to avoid appending it to a parser's top level (thus creating a tree), added a new type for input so we can replace the parser's top level. This change forces us to a two level structure where stream seq is at the top and stream data underneath. Requires us to hack the destructor so that we don't multiple delete the stream impl.
* added stds, a list of streams, used for bare sendsAdrian Thurston2018-05-131-0/+8
|
* allow a prod-name case clause to also have a patternAdrian Thurston2018-03-111-2/+3
|
* allow switching on production numbersAdrian Thurston2018-03-091-4/+12
| | | | | 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/+4
| | | | Triggers the generation of the reducer. Accepts a stream.
* fixed type of strtol return val in lexFactorRepNumAdrian Thurston2016-12-191-1/+1
| | | | Patch from Peter Reijnders
* migrated from GPLv2 to MIT licenseAdrian Thurston2016-12-131-17/+19
|
* an automated include convention improvement from Peter ReijndersAdrian Thurston2016-12-131-8/+4
|
* split reducers into their own classAdrian Thurston2015-11-051-4/+7
| | | | Previously selected with a runtime int. Using reduction name as the class name.
* added syntax dedicated to reductionsAdrian Thurston2015-10-051-4/+4
| | | | | 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/+15
|
* working on a commit that can execute reduction actionsAdrian Thurston2015-10-041-2/+5
| | | | | | 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-40/+39
|
* now scoping functions inside the namespaces they are declared inAdrian Thurston2015-08-091-26/+29
|
* cleanup in the list and map typesAdrian Thurston2015-06-141-6/+4
|
* now creating list and map el structures in the declare passAdrian Thurston2015-06-071-30/+2
|
* some nameing cleanup around list and list elAdrian Thurston2015-06-061-3/+3
|
* replacing list and map with vlist and vmapAdrian Thurston2015-06-061-4/+34
|
* fixed identification of tree map keys, which fixes the key downrefcolm-barracuda-v2colm-barracuda-v1Adrian Thurston2015-04-191-1/+1
|
* first cut of C extensionsAdrian Thurston2015-04-011-0/+12
|
* code cleanup and movementAdrian Thurston2015-02-151-6/+5
|
* some code cleanup, clone removalAdrian Thurston2015-02-131-0/+31
|
* revert "removed GPL license file and stripped GPL headers"Adrian Thurston2015-01-231-0/+17
| | | | | | | | | | This reverts commit f04d3ede7dbb6d3edd6a9865ebf88c5e6d82f18e. Conflicts: src/codegen.cc src/ctinput.cc src/exports.cc src/fsmcodegen.cc
* support recursive list elements referencesAdrian Thurston2015-01-181-1/+1
| | | | The search for list_el invoked a recursive evaluation of the types.
* set the argv_el id when creating the structsAdrian Thurston2015-01-111-3/+5
|
* some work on list access and traversalAdrian Thurston2015-01-051-0/+1
|
* Context renamed to StructDefAdrian Thurston2015-01-051-6/+5
|
* some cleanup in the parser/loaderAdrian Thurston2015-01-051-3/+3
|
* push towards embedded list elementsAdrian Thurston2015-01-041-1/+56
|
* some name changing context -> structAdrian Thurston2015-01-041-14/+14
|
* don't allocate a constructor for parse statementsAdrian Thurston2015-01-041-9/+4
| | | | Just need a consItemList for the list of items we are going to parse.
* cleanup in the struct declarationAdrian Thurston2015-01-031-14/+9
|
* merged StructDef and Context structsAdrian Thurston2015-01-031-10/+5
|
* some cleanup in the struct declarationAdrian Thurston2015-01-031-7/+6
|
* removed the context form, can only declare structs nowAdrian Thurston2015-01-021-19/+3
|
* rolling over to struct type for streamAdrian Thurston2014-12-281-1/+22
|
* converted the global object to a structAdrian Thurston2014-12-251-3/+7
|
* hacked together some struct (non-tree) semanticsAdrian Thurston2014-12-191-0/+16
| | | | Can new, get and set non-tree objects (very limited features).
* added struct, struct field and corresponding instructionsAdrian Thurston2014-12-141-2/+3
| | | | | Can new and set/get the fields of a struct. Still using underlying tree object to implement.
* some name shorteningAdrian Thurston2014-12-141-2/+3
|
* eliminated more of the bools from ObjectFieldAdrian Thurston2014-12-141-2/+0
|
* specify the type of the ObjectField when it is createdAdrian Thurston2014-12-131-6/+9
| | | | When creating an ObjectField, specify the internal type for use later on.
* renamed parsedata.h -> compiler.hAdrian Thurston2014-12-121-1/+1
|
* removed object-based typerefs for genericsAdrian Thurston2014-11-081-1/+1
|
* cleanup in the TypeRef type enumAdrian Thurston2014-11-081-2/+2
|