summaryrefslogtreecommitdiff
path: root/src/program.h
Commit message (Collapse)AuthorAgeFilesLines
* remove all dependence on BUILT_SOURCESAdrian Thurston2021-01-311-1/+0
| | | | | Still running into issues on gentoo with BUILT_SOURCES. Instead make all the necessary dependencies explicit, using the source code files.
* making exported vars available from C codeAdrian Thurston2020-04-101-0/+9
| | | | | | Addes an array of exports to runtime data. Also declares each export as an integer. The value of the export can be passed to colm_get_gloal(). They are named colm_export_<export-name>. refs #116.
* moved source files into commit repositoryAdrian Thurston2020-03-141-0/+186
|
* moved the original colm src dir to /colmAdrian Thurston2019-09-081-186/+0
|
* make it optional to clean trees as we reduceAdrian Thurston2018-12-121-0/+1
| | | | | Was always freeing trees after each reduction action. Can now turn this off and have the trees underneath what we have reduced available.
* some more separation of stream_t and input_tAdrian Thurston2018-07-091-1/+1
|
* separating the input from stream typeAdrian Thurston2018-07-081-2/+2
|
* reusing stream impls when parsing from 'input'Adrian Thurston2018-07-041-0/+1
| | | | | | | | 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.
* pass prg to colm_tree_upref and maintian first struct idAdrian Thurston2018-06-151-0/+1
|
* added stds, a list of streams, used for bare sendsAdrian Thurston2018-05-131-0/+2
|
* allocate a unique struct id for streamsAdrian Thurston2018-05-051-0/+1
|
* use disjoint sets for struct and lang-el identifiersAdrian Thurston2018-05-041-0/+1
| | | | | | | Using disjoint sets allows us to verify at runtime that we are not mixing trees and structs. Some of this is still left over from when we used trees for streams and lists and things. Need to build up some internal consistency checks.
* updated Copyright yearsAdrian Thurston2018-03-041-1/+1
|
* added a read_reduce statement to call postfix reducerAdrian Thurston2017-07-271-1/+1
| | | | Triggers the generation of the reducer. Accepts a stream.
* added a reducer that can read the streaming postfix formatAdrian Thurston2017-07-251-0/+1
|
* allow program args to be passed in with lengthsAdrian Thurston2017-02-011-0/+1
| | | | In this mode we can pass in binary data.
* migrated from GPLv2 to MIT licenseAdrian Thurston2016-12-131-17/+18
|
* an automated include convention improvement from Peter ReijndersAdrian Thurston2016-12-131-2/+11
|
* manage file name allocations and allow them to be exportedAdrian Thurston2016-03-091-0/+3
| | | | | | | File names used in locations need to live beyond a program delete, but allocating them when exporting locations is too costly. Instead manage them in the colm program and allow them to be exported so they can live beyond the colm program. Will do something similar with the token text.
* host adapters now have unique names are are accessed with func pointersAdrian Thurston2016-02-191-0/+6
| | | | | This eliminates symbol collisions present when linking multiple colm programs into the same executable.
* allow omission of location in reductionsAdrian Thurston2015-11-301-0/+2
| | | | | | | There is code in here for omission of location and data in reductions. Unfortunately we cannot enable the omission of data unless we make changes to the backtracking. In the current implementation we push the token data with an mcopy from the data in the token.
* dynamically size runbufs from extract_tokenAdrian Thurston2015-11-121-1/+1
| | | | Allows large tokens. Note there are other places this is needed.
* stash reduction class in programAdrian Thurston2015-11-051-1/+2
|
* large scale symbol renaming in C codecolm-barracuda-v3Adrian Thurston2015-05-221-63/+63
| | | | using _ conventions for C, camelCase of C++
* more application of C naming conventionsAdrian Thurston2015-05-151-14/+14
|
* naming convention improvementsAdrian Thurston2015-05-151-3/+3
|
* improved naming, moved generated parser code to subdir genAdrian Thurston2015-05-101-14/+14
|
* some naming cleanupAdrian Thurston2015-05-101-15/+14
|
* merged FsmRun and PdaRun into pda_run, eliminated typedefAdrian Thurston2015-05-101-5/+5
|
* cleanup, including removal of map and list element poolsAdrian Thurston2015-02-151-2/+0
|
* 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
* some cleanup in the pointerAdrian Thurston2015-01-181-2/+0
|
* set the argv_el id when creating the structsAdrian Thurston2015-01-111-0/+1
|
* improvements to list object semanticsAdrian Thurston2015-01-111-2/+2
|
* make stream and parser overlay structAdrian Thurston2015-01-021-7/+0
|
* some function renaming, global is now struct typeAdrian Thurston2014-12-251-1/+1
|
* converted the global object to a structAdrian Thurston2014-12-251-0/+1
|
* some renaming and cleanupAdrian Thurston2014-12-251-6/+12
|
* added structElInfo to the runtime dataAdrian Thurston2014-12-201-1/+6
| | | | Storing size and can add trees offsets for downreffing on free.
* hacked together some struct (non-tree) semanticsAdrian Thurston2014-12-191-0/+6
| | | | Can new, get and set non-tree objects (very limited features).
* removed GPL license file and stripped GPL headersAdrian Thurston2014-10-221-17/+0
|
* renamed colm dir to srcAdrian Thurston2013-06-081-0/+148
| | | | | | 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.
* revert "moved 'colm' dir to 'src'"Adrian Thurston2012-08-011-128/+0
| | | | | | | | | | | Colm includes a library component with headers installed to a private dir inside include: $prefix/include/colm. We need our headers to reference each other using this colm prefix. This needs to be true for compiling our source and also for compiling external programs. It is conventient to have all the source in a directory called colm and then to use -I <source-root> when building colm. We use $prefix/include when building external programs. This reverts commit 247904a84430b8c9151fa6afb68f01b60afb92c9.
* moved 'colm' dir to 'src'Adrian Thurston2012-07-011-0/+128