summaryrefslogtreecommitdiff
path: root/src/declare.cc
Commit message (Collapse)AuthorAgeFilesLines
* added with_ignore(tree) iteratorAdrian Thurston2020-12-231-0/+10
| | | | | | | | | | | | This is identical to the basic tree iterator, except it visits ignore tokens. This makes it possible to rewrite comments, albeit, primitively. Constructors for tokens don't work right. Though we can set the data field. The following code can be used to turn comments into newlines: for I1: comment in with_ignore(Flux) { I1.data = "\n" }
* correct prodNum as we combine productions to implement [...]Adrian Thurston2020-04-141-5/+9
| | | | refs #112
* renamed DefList and LelDefList to the more accurate ProdList, LelProdListAdrian Thurston2020-04-121-8/+8
|
* first cut of a redefine statementAdrian Thurston2020-04-121-1/+29
| | | | | | | | 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/+1623
|
* moved the original colm src dir to /colmAdrian Thurston2019-09-081-1623/+0
|
* added and auto_trim flag to stream anad inputAdrian Thurston2019-05-221-1/+8
| | | | | When set to true, all tree prints to the stream or sends to the input will result in a trim. Achieved by passing trim to the generic print.
* make location file name and column available in Colm codeAdrian Thurston2018-12-021-10/+44
|
* improvements to free bytecodes, bytecode def cleanupAdrian Thurston2018-07-101-8/+8
|
* use FN_ prefix for functions, space is diff from IN_Adrian Thurston2018-07-101-46/+46
|
* reusing stream impls when parsing from 'input'Adrian Thurston2018-07-041-1/+38
| | | | | | | | 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.
* unified parse frag and finishAdrian Thurston2018-05-151-81/+83
|
* added stds, a list of streams, used for bare sendsAdrian Thurston2018-05-131-0/+9
|
* merged the WC and WV versions of parse instructionsAdrian Thurston2018-05-111-2/+2
|
* removed print statements, using only the send statementAdrian Thurston2018-05-071-7/+0
|
* made the postfix print into a functionAdrian Thurston2018-05-061-0/+4
|
* added xml() and xmlac(), which which collect xml to stringsAdrian Thurston2018-05-061-0/+8
| | | | | Going to eliminate the specialized print forms, instead opting for functions. Later on we can make these lazy.
* added gets() to parser, which returns the streamAdrian Thurston2018-05-051-0/+3
|
* replacing the void LEL with a keyword and TYPE_VOID (non-tree)Adrian Thurston2018-05-041-2/+1
| | | | | Using LEL was a hack to make it work quickly, usig a non-tree type is the proper solution.
* updated Copyright yearsAdrian Thurston2018-03-041-1/+1
|
* started on a tree print in postfix notationAdrian Thurston2017-07-201-0/+1
| | | | | 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/+19
|
* an automated include convention improvement from Peter ReijndersAdrian Thurston2016-12-131-3/+4
|
* implemented a const-string define option -Ename=valAdrian Thurston2016-07-281-18/+59
|
* new stream objects can now collect text, accessible with ->tree (str type)Adrian Thurston2016-03-071-0/+15
| | | | | This is much faster than send to a line parser and then extracting the tree just to convert it to txt.
* allow globals to be declared in namespacesAdrian Thurston2015-08-091-18/+18
|
* now scoping functions inside the namespaces they are declared inAdrian Thurston2015-08-091-46/+80
|
* moved MethodMap into NameScope, converted some ptrs to objsAdrian Thurston2015-08-081-9/+8
|
* cleanup in the list and map typesAdrian Thurston2015-06-141-5/+0
|
* cleanup and simplification, generic elements and variousAdrian Thurston2015-06-131-5/+0
|
* some cleanup around the unified list and map genericsAdrian Thurston2015-06-081-99/+30
|
* giving list and map the original (non-vlist) funcs and fieldsAdrian Thurston2015-06-071-4/+35
| | | | This change allows us to iterate list and maps using next/prev pointers.
* now creating list and map el structures in the declare passAdrian Thurston2015-06-071-8/+4
|
* replacing list and map with vlist and vmapAdrian Thurston2015-06-061-0/+3
|
* more of the vlist implementation .. moved all test cases to vlistAdrian Thurston2015-06-051-0/+22
|
* naming convention improvementsAdrian Thurston2015-05-151-1/+1
|
* warning elim, and impl of vlist files _R onlyAdrian Thurston2015-04-051-3/+28
|
* first cut of C extensionsAdrian Thurston2015-04-011-0/+27
|
* added global versions of the uord and sord funcsAdrian Thurston2015-03-211-0/+25
|
* added global versions of atoi, atoo, suffix and prefixAdrian Thurston2015-03-211-0/+16
| | | | These are easier to use as globals, rather than members on string.
* added exit_hard function, which just calls the system exitAdrian Thurston2015-03-211-1/+4
| | | | | | The exit() function will unwind the stack and attempt a graceful exit. Since the stack unwinding is not 100% funcitonal this sometimes causes segfaults. The hard exit will not segfault, but forces the process to terminate.
* added string.atoo (octal version of atoi)Adrian Thurston2015-03-141-0/+3
| | | | Need to clean up these function names and make them global.
* various minor cleanup in bytecodeAdrian Thurston2015-03-011-2/+2
|
* implemented str.prefix and str.suffixAdrian Thurston2015-03-011-0/+6
|
* need to make vlist and vmap elment structs uniqueAdrian Thurston2015-02-141-4/+4
|
* implementing vlist functionsAdrian Thurston2015-02-141-10/+10
|
* vmap find: only upref result if it is a tree typeAdrian Thurston2015-02-141-2/+5
|
* cleanup of the GenericType structAdrian Thurston2015-02-131-36/+36
|
* implemented vmap findAdrian Thurston2015-02-131-1/+1
|
* work on value list and value map, can insert into vmapAdrian Thurston2015-02-131-2/+60
|