summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* version bump for fix critical fix to parse tree clearingcolm-0.7Adrian Thurston2013-02-061-2/+2
|
* proper, non-recursive implementation of clear parse treeAdrian Thurston2013-02-061-17/+34
|
* version 0.7.1 that fixes critical bugcolm-0.7.10.7.1Adrian Thurston2012-10-191-2/+2
|
* fixed typo-bug in buffer growth in str collectionAdrian Thurston2012-10-191-1/+1
|
* bump to 0.7colm-0.70.7Adrian Thurston2012-08-011-2/+2
|
* avoid collisions between colm members and C++ impl membersAdrian Thurston2012-08-011-16/+16
| | | | | Prefixed prg and tree with __ to avoid collisions with function members that come from colm attributes.
* revert "moved 'colm' dir to 'src'"Adrian Thurston2012-08-0171-67/+66
| | | | | | | | | | | 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.
* munmap (free) the stack, relevant to long-lived programsAdrian Thurston2012-07-311-22/+24
|
* pass program arguments to colmRunProgram instead of colmNewProgram.Adrian Thurston2012-07-314-42/+47
| | | | | Idea with this is to make it possible to re-use an allocated program for more than one invocation.
* cleanup: 'accum' -> 'parser'Adrian Thurston2012-07-286-39/+39
|
* added .tree member and .eof() function to parserAdrian Thurston2012-07-286-1/+66
| | | | | The .tree is for fetching the built tree. The .eof() function is an alias of finish(), which is a little more precise with respect to functionality.
* reassign bytecode valuesAdrian Thurston2012-07-281-271/+270
| | | | Have 38 or so values left. At e0 but some were skipped in 5.
* renamed Defintion to Production and added a static constructorAdrian Thurston2012-07-2310-100/+91
|
* added static constructors for LangVarRef and cleaned up those callsAdrian Thurston2012-07-223-16/+36
|
* cleanup: removed Token from PdaRunAdrian Thurston2012-07-225-17/+17
| | | | | Token is a data structure for the parser, not the collected parse tree. PdaLiteral now collects location and data.
* cleanup in the parser and parse tree data structuresAdrian Thurston2012-07-222-52/+57
|
* some cleanup of the parse tree data structsAdrian Thurston2012-07-213-110/+112
|
* fixed order of replacement element productionsAdrian Thurston2012-07-211-1/+2
| | | | | | Had a code_expr ahead of a literal element in "stuff". Since code_expr allows a string we were getting the wrong tree. Note that accum has code_expr first because we want the strings. Going to need to sort this out!
* minor cleanup around parsingAdrian Thurston2012-07-165-20/+19
|
* cleanup in strings/accum/repl listsAdrian Thurston2012-07-161-32/+24
| | | | They are all now right recursive like accum.
* accum list needs to be right recursiveAdrian Thurston2012-07-161-1/+1
| | | | | Necessary to achieve correct ambiguity resolution. Right recursion gets us longer matches first.
* updated tests to match send (accum) syntax changeAdrian Thurston2012-07-163-9/+9
| | | | Must wrap items sent to a parser using [].
* disabled the plain code_expr version of accumulateAdrian Thurston2012-07-161-5/+5
| | | | | Must use either "" or [] to wrap the items that go there. This is consistent with pattern matching and replacement.
* moved the send (also old << syntax) to LangTermAdrian Thurston2012-07-164-118/+121
| | | | | | The send belongs in the lang terms with the rest of the parsing, consing, matching, etc. Was in LangStmt only because there are some grammar issues to fix. The repl/accum/string definitions are a bit sloppy.
* some cleanup of parse tree type namesAdrian Thurston2012-07-154-21/+22
|
* a new parse statement syntaxAdrian Thurston2012-07-154-1/+209
| | | | | | | | Added a parse statement constructs the parser, sends some text in the style of the send statement, then returns the parser. More can be sent. When done finish is called. The goal here is to eliminate the parse statements that return the parsed tree because there is no way to get the parse error. The parser is immediately destroyed.
* test case covering fix for EXIT.Adrian Thurston2012-07-093-0/+24
|
* some fixes for the static constructor functionsAdrian Thurston2012-07-092-1/+11
|
* fix for EXIT op: need to save the frame id for comparisonAdrian Thurston2012-07-091-1/+4
|
* static member constructorsAdrian Thurston2012-07-025-149/+329
|
* more static member constructorsAdrian Thurston2012-07-023-154/+236
|
* added a static member constructor for LangStmtAdrian Thurston2012-07-022-54/+164
|
* using static member functions for TypeRef constructionAdrian Thurston2012-07-026-74/+146
|
* more static member constructor functionsAdrian Thurston2012-07-022-21/+52
|
* more static member functions for consing parse tree elementsAdrian Thurston2012-07-022-49/+104
|
* using a cons function for TermAdrian Thurston2012-07-013-23/+44
|
* using static constructors for creating ExpressionAdrian Thurston2012-07-014-18/+43
| | | | | The advantage of static constructors is that we can use common constructors for initializing fields.
* moved 'colm' dir to 'src'Adrian Thurston2012-07-0171-66/+67
|
* improvements to the ragel and colm config-time checksAdrian Thurston2012-07-012-21/+52
| | | | | | Fixed the test of build_parsers that allows the ragel/colm check to function. Was checking for "true" when it should be a check for "yes". Added --with-* options for specifying where the packages are installed to.
* set the pubdatecolm-0.60.6Adrian Thurston2012-06-201-1/+1
|
* moved away closed issuesAdrian Thurston2012-06-1648-0/+0
|
* converted issues to text and split by idAdrian Thurston2012-06-0979-1643/+824
|
* cleanup of region creationAdrian Thurston2012-05-292-61/+35
|
* flattened the reg lang name tree down to a list for regionsAdrian Thurston2012-05-292-44/+14
|
* only need regions in the name tree.Adrian Thurston2012-05-282-138/+0
|
* cleanup in token region codeAdrian Thurston2012-05-282-68/+27
| | | | | Use the same name for the RegionDef and TokenRegion. Eventually should be able to unify these two structs.
* don't need labels in the regular language treeAdrian Thurston2012-05-282-30/+0
|
* code cleanupAdrian Thurston2012-05-284-251/+3
| | | | | | | Eliminated the name resolution walk within the state machine. This is from ragel and is not needed. Also removed some top level code for constructing state machines not in a scanner. We don't have this in colm, all state machines are in a scanner.
* code cleanupAdrian Thurston2012-05-285-59/+42
| | | | | The JoinOrLm structs are no longer needed. VarDef and RegionDef reference the Join and the TokenRegion, respectively.
* specializing graph dicts and lists for regions and regular language defsAdrian Thurston2012-05-286-77/+171
| | | | | | Previously used a single graph dictionary for regions and regular language defs because we were derived from ragel. Splitting these The split goes down to VarDef and JoinOrLm.