summaryrefslogtreecommitdiff
path: root/colm.vim
Commit message (Collapse)AuthorAgeFilesLines
* first cut of a redefine statementAdrian Thurston2020-04-121-2/+2
| | | | | | | | 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
* allow use of token keyword for literal defsAdrian Thurston2019-11-291-1/+1
| | | | refs #79
* allow backtick literals to have an end quote.Adrian Thurston2019-11-281-2/+1
| | | | | | | | | | | | | | Rather than exclude ? + and *, exclude ` from literals and allow backtick literals to be end quoted. Allows us to follow the literal with an operator without using a space between the two, which is very unnatural. Can write: [`,`?]. If we forget to the end quote it we end up with literal that (probably) does not exist. It should generate an error, rather than silently give us something we don't want. Note that ] is still excluded from literals in positions 2+.
* revert "exclude ? from position 2+ of literal token"Adrian Thurston2019-11-281-2/+1
| | | | This reverts commit bd8de42f05975c262a6ecd156d8a6fbc50aa0de5.
* colm syntax: contain all keywords inside [] regionsAdrian Thurston2019-11-101-11/+9
| | | | fixes #49
* exclude ? from position 2+ of literal tokenAdrian Thurston2019-11-071-1/+2
|
* allow referencing a tree in reduction actionsAdrian Thurston2018-12-171-0/+2
| | | | syntax is $*N
* restrict the C++ keywords to inside reduction blocks using containedAdrian Thurston2017-03-071-10/+10
|
* vim syntax: reduction literal needs to be containedAdrian Thurston2015-11-101-2/+2
|
* allow access to rhs elements by numberAdrian Thurston2015-11-011-1/+10
|
* syntax highlighting for reduction blocksAdrian Thurston2015-10-191-2/+46
|
* added syntax dedicated to reductionsAdrian Thurston2015-10-051-1/+2
| | | | | This avoids interferrence with existing parsing code. Calling the commit/reduce code only if the reduce construct is used.
* sketched a grammar for reduction sectionsAdrian Thurston2015-10-041-3/+3
|
* replacing list and map with vlist and vmapAdrian Thurston2015-06-061-1/+1
|
* hacked together some struct (non-tree) semanticsAdrian Thurston2014-12-191-1/+1
| | | | Can new, get and set non-tree objects (very limited features).
* syntax highlight list_el and map_elAdrian Thurston2014-12-071-1/+1
|
* now using 'new' for object semantics (formerly new2)Adrian Thurston2014-11-041-1/+1
|
* allow keyword 'struct' as synonym of 'context'Adrian Thurston2014-11-041-1/+1
|
* some initial work on non-tree list typesAdrian Thurston2014-11-021-1/+1
| | | | Can allocate a list type.
* added missing keywordsAdrian Thurston2014-07-161-2/+2
|
* added parse_tree for sending constructed trees (orig parse behaviour)Adrian Thurston2014-07-061-1/+1
|
* send is now converting trees to strings, old behaviour with moved to send_treeAdrian Thurston2014-07-011-1/+1
| | | | | | | | | The send statement now converts trees to strings. It is now possible to swap a in a parser where streams where and not get parse errors due to trees not being accepted. The old behaviour is now available with send_tree. This is much less common, though still useful.
* new syntax for collect-ignore tokens: token <id> -Adrian Thurston2014-01-181-1/+1
|
* added backtick lexical syntax for literal tokensAdrian Thurston2014-01-141-0/+2
| | | | | | | | | | | | | | | Added a new syntax for literal tokens. A single backtick is starts the literal. Ends at whitespace or ] in second or greater position. The zero length token is now just a plain backtick. Removed comma as separator in literal statement. Single-quoted strings are now treated like double-quoted strings. They may appear in expressions and are concatenated with the other string forms. Allowing ',' in parameter and argument lists to separate arguments, eg foo('a', 'b').
* added cast to the highlightingAdrian Thurston2013-12-291-1/+1
|
* added void to the highlighted typesAdrian Thurston2013-12-271-1/+1
|
* remeved accum from highlighed works, also is a typeAdrian Thurston2013-04-141-1/+1
|
* added 'end' to vim syntaxAdrian Thurston2013-04-121-0/+1
|
* don't highlight parser, list, map, vectorAdrian Thurston2013-04-121-2/+2
| | | | These are part of a type_ref and as such should be plain.
* bring back globalsAdrian Thurston2012-09-091-1/+1
|
* eliminated global and old parse syntaxesAdrian Thurston2012-08-231-1/+1
|
* added a syntax for specifying no ignoresAdrian Thurston2012-05-231-1/+1
| | | | | | Added the keyword 'ni', which can go ahead of or before a token pattern (literal or usual), which means no-ignore. Sets the noPreIgnore and noPostIgnore bits in the token, which affect the ignore scanning and attaching.
* Added an export keyword for returning values to C++ code. Export makes a globalAdrian Thurston2011-11-011-1/+1
| | | | | that has an associated fetch function in the export code. Replaces the return from the main line. refs #328.
* Added a syntax send Parser [Stuff], where send is now a keyword. FunctionAdrian Thurston2011-09-161-1/+1
| | | | lookup now try applying a default function to the local objects. refs #322.
* Syntax for single literals that are not terminated. refs #313.Adrian Thurston2011-08-021-1/+1
|
* Function parameters and variable declarations are now all in pattern-style,Adrian Thurston2011-03-241-1/+4
| | | | "Name: type". refs #241.
* The keyword 'cons' is now a synonym for 'construct'.Adrian Thurston2010-01-311-2/+2
| | | | | | | | | The keyword 'parser' is now a synonym for 'accum'. I was hesitant of this at first due to it being only one letter away from 'parse'. Now treating parser context as an object that needs to b passed to parse statements of types that have context and passed to an accumulator (parser object).
* Started on context declarations. These are a means of encapsulating the dataAdrian Thurston2010-01-241-1/+1
| | | | | | needed for a context-dependent parse and keeping that data local to a single parse invocation. Data for context-dependent parsing should be global to the parse, not global to the whole application.
* Added accum keyword to the syntax highlighter.Adrian Thurston2009-09-091-1/+1
| | | | | An an unclosed literal pattern with no literal text on the end should generate a newline.
* Added a sync pattern.Adrian Thurston2009-02-271-0/+2
|
* new precedence keywordsAdrian Thurston2009-02-251-1/+1
|
* Moved from private repository.Adrian Thurston2008-11-011-0/+89