Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
37 check-ins that include changes to files matching 'tests/grammars/g1-rules/defaults/adverbs/bless-special/*'
2018-09-08
| ||
22:11 | Brought trunk and event work. Closed-Leaf check-in: d912ded2f3 user: aku tags: language-doctools | |
22:07 | Brought trunk work check-in: 6ceda1b56e user: aku tags: parse-events | |
2018-09-07
| ||
04:42 | The code generating symbol names for literals was still subject on the exact content of the [:control:] charclass, causing differences in output depending on the version of Tcl used (seen between 8.5.18 and 8.5.19). Now ensured version-independent quoting in all the relevant places. Fixed order of conditions too. Cross-referenced these places. Regenerated the internal parsers (slif, literals). Updated tests. check-in: e71840b49a user: aku tags: trunk | |
2018-03-21
| ||
06:54 | Merged design fix to the json experiment. check-in: cc8068dba7 user: aku tags: language-json | |
06:53 | Fixed a design issue. Surrogate handling. The low-level unicode layer used a guard to prevent the addition of the surrogate codepoints when creating an ASBR from a CC. Thus for any CC including one or more surrogates the resulting ASBR actually represented the CC minus surrogates. The thinking was sort of that we are working with characters at the high-level, and while we have an 1:1 mapping to codepoints for most, this is not true for the surrogates, each of which is only half of a character. And the reducer targeting the C runtime based on Tcl ensures that characters in SMP are properly converted into surrogate pairs. Working on the JSON parser now has driven home that there are situations where we want to accept standalone surrogates, at the highlevel, and also that the low-level removal was a bad idea as well. The latter because a negated char class handled by Tcl does accept the standalone surrogate code points, whereas the ASBR for C is mangled to reject them. The result is a very unwanted difference in the behaviour of what should be equivalent parsers. So, lots of writing for a very small change, code-wise, the removal of the guard mentioned in the 2nd paragraph. And undoing the removal of the surrogates as a named character class. Further, brought the bugfix from commit [546018b243] into the `unicode_ops.tcl` used by the table generator. Same issue, and forgotten when the initial fix was made and committed. Updated tests to match results due to rule renumeration and CC changes. check-in: 1695c17f13 user: aku tags: trunk | |
2018-03-20
| ||
05:57 | The unicode work is good enough to solve the known issues with the json parser. Make it officially available to trunk. check-in: 81404d4d77 user: aku tags: trunk | |
05:55 | Unicode work good enough to solve the known issues with the json parser. Integrated. check-in: b333341f7c user: aku tags: language-json | |
2018-03-13
| ||
17:30 | Bring the unicode work into the json experiment for eval. check-in: 3358e68801 user: aku tags: json-unify | |
2018-03-12
| ||
17:11 | Merged completed literal work into the general unicode work. check-in: 47e7cce082 user: aku tags: reunification | |
16:34 | Tweaked the API between reducer core and callbacks, to handle symbol creation for the custom tags. finalized the integration of the new reducers into the generator backends. Extended Tcl backend to refactor codepoint ranges used in ASSRs, like the rtC backend does for byte ranges. Updated tests. Mostly. See note below. Note: Boot parser has not been switched to the extended grammar yet (allowing for unicode references in the SMP). Closed-Leaf check-in: 7d263e069d user: aku tags: relit | |
2017-10-03
| ||
05:46 | Pull completed base RTC work into mainline, and close. check-in: 5c42aa1913 user: aku tags: trunk | |
2017-09-26
| ||
22:37 | Moved testing of the slif semantics into a common core and added testing in conjunction with generated parsers. check-in: 8741cc1279 user: andreask tags: runtime-c | |
2017-09-20
| ||
23:56 | Bring rtc work to main line. Near-parity. TODO: Specify, generate, and test RTC lexer. Test RTC with semantics and containers. Add engine perf testing check-in: 48b47bd193 user: aku tags: trunk | |
23:52 | Pull RTC error generation and associated fixes into the main rtc work. check-in: 5ee3764313 user: aku tags: runtime-c | |
22:42 | Added lexer mismatch information to error message, updated expected AST information. check-in: 3b78c7b49c user: andreask tags: rtc-scratch | |
05:01 | Factored common parser testing into a single file driven by builtin and generated parsers (tcl, rtc). Allow for engine-specific results. Fixed expected error results for tcl to match the <>-bracketing added by [74bf29e7cc]. TODO: Complete errors generation for RTC, and fix up its results. TODO: Hunt the smash. check-in: e2fa82d9c9 user: aku tags: rtc-scratch | |
2017-07-12
| ||
22:48 | Trajectory and goal: Replace the manually-created boot parser with a generated parser, based on the meta grammar. That parser should regenerate itself, and pass the testsuite. - Fixed issue in the gate which prevented the very character causing trouble from being shown in error messages. The previous character (= last ok) was shown instead. - Extended gate, lexer, parser to provide more information on lexing/parsing failure (progress reports, pre-mismatch stream for current attempt, symbol maps, ...) - Modified the aggregated parser runtime (rt_parse) to use the new information when generating error messages. - Extended boot-parser, container and slif meta-grammar to support the naming of quantified rules. - Extended the export configuration to distinguish grammar (= package name) from debug tags. Latter is derived from the name. - Tweaked comments in the templates for generated lexers and parsers. - Extended the parser generator to insert action and rule names into its output. - Reworked sorting of rules in the parser generator, to prevent the special rules setting actions and names from being torn away from the rules they apply to. - -->> Goal reached <<-- Replaced the manual slif parser with parser generated from the slif meta-grammar. - -->> Milestone achieved <<-- - Fixed bugs and issues in the SLIF metagrammar - TAB is allowed in strings, without escape. - Added proper naming of the rules to match the boot-parser and existing semantics. - Updated the testsuites. - Created apps: - Regeneration of the boot-parser after changes to the slif. - A very basic parser generator. check-in: af6c661e9d user: aku tags: trunk | |
2017-06-26
| ||
22:21 | Removed support for the `bless` adverb from the boot-parser and following stages. Updated tests. Left the cases using bless in the suite, for the parse errors they now cause. check-in: c1b1d00b8e user: aku tags: trunk | |
2017-06-16
| ||
05:15 | Make the semantics work official, pulled into main line. check-in: 0bc6a8787c user: aku tags: trunk | |
2017-06-06
| ||
18:17 | Brought up to date with main working branch check-in: 81bbe98e8f user: aku tags: asbr-perf | |
2017-05-16
| ||
07:13 | Reduction choices for a C backend based on bytes and byte-ranges. Fixes for problems missed so far. Extended testsuite. Added the gcr_c result files Optimizations for character and ASBR reduction to prevent rule chains. check-in: 0e9dd3b6ed user: aku tags: new-slif-semantics | |
2017-05-12
| ||
20:45 | Fixes to normalizer: * Added bytes and byte ranges. Updated doc/atom.md. Fixes to reducer: * During a redo of the implementation of rstate the invokation of the normalizer on new pieces was inadvertently dropped. Added it back. * Added the missed handling of %namedclass'es to the Tcl specific reduction rules. Factored the common code into a separate proc (CC-TCL). Fixes to grammar container * Added missing method `remove`. Fixes to the container testsuite (reduce-tcl): * Skip over grammars without L0, or no literals. * With `grammar` unpacking done early not needed for getting the literals. * Varname typo * Added the gcr_tcl result files check-in: 5558558738 user: aku tags: new-slif-semantics | |
2017-04-26
| ||
19:27 | Updated container tests. Another API change (l0 atom -> l0 literal), with corresponding updates to tests. Everything passes again. Next, deconstruction of literals, i.e. normalization phase II. check-in: 69b1ee0e4d user: aku tags: new-slif-semantics | |
08:32 | Integrated new literal handling into semantics. Updated tests. Container API change, breaks container tests. To fix next. check-in: e596035c8a user: aku tags: new-slif-semantics | |
2017-04-21
| ||
06:29 | Fixed lurking bug in use of the symbol state engine. When creating a :lexeme (or :discard) the literal's symbol has to be recorded with a l0-usage at that point. Forgetting that is no problem if the symbol is for an actual literal, its state is literal either way. However with the deconstruction of literals into simpler pieces such symbols may stand for priority rules as well. For them, with the l0-usage forgotten they look like toplevel L0 symbols, i.e. lexemes, except that the engine also knows that they were not used in G1, thus reports the situation as error. check-in: 7d929144bf user: aku tags: new-slif-semantics | |
2017-04-20
| ||
23:07 | Reduced comments generated by literal handling. Tests updated to match. check-in: 5059e70410 user: aku tags: new-slif-semantics | |
19:18 | First simplification of literals. Single-element strings to characters, ditto for charclass whose element is a character. Updated tests to match. check-in: 85cd4f4c54 user: aku tags: new-slif-semantics | |
06:25 | Moved literal handling out of the semantics into its own helper class and file. Further restructured the code to allow for easier insertion of simplification rules. Tweaks to symbol names, updated the tests to match. check-in: f2fc6e54fd user: aku tags: new-slif-semantics | |
2017-04-18
| ||
23:19 | Moved l0 literals into their own class, 'literal'. Added character atoms as supported literal type. Updated the tests to match. check-in: 8f33a9c72c user: aku tags: new-slif-semantics | |
06:29 | Big set of related changes - Implemented grammar container. - Implemented state dump (serialization) for same - Pretty printer for state dump, for use in tests. - Created testsuite using SLIF ctrace's to drive a container and check the resulting state. - Tweaked various test cases (slif, derived ast, ctrace, container): Removed superfluous :start statements. - Changes to semantics, updated test cases to match. - Moved passing of start symbol to near the end (symbol existence ensured) - Create literal/lexeme definitions only once. check-in: 79414a2533 user: aku tags: new-slif-semantics | |
2017-04-11
| ||
05:52 | Dropped "symbol" from container interface. Not needed. Some text tweaks. Updated the tests to match. check-in: 150fa90af9 user: aku tags: new-slif-semantics | |
2017-04-08
| ||
04:51 | Reworked the grammar framework a bit to be more scalable, i.e. not requiring a change with every new key. Updated suites to match. Further added suite and placeholders for container testing. Currently the new suite is a full fail (container completely different from the API coming from the semantics). check-in: 281636de75 user: aku tags: new-slif-semantics | |
2017-04-07
| ||
20:41 | Changed the string/charclass rep conveyed from semantics to container, removed tagging, type can be infered unambiguously from the value. Updated tests to match. Further fixed ingestion of named (inverted) char classes. Added tests. check-in: 993a1e814c user: aku tags: new-slif-semantics | |
06:24 | Moved to decimal codepoints in literal specs. Added handling of nocase for chars, strings. Updated tests to match. check-in: 5b27a4891f user: aku tags: new-slif-semantics | |
05:05 | Grammar tweak to make handling of discard variants easier. Split the discard rule to inline the variants of <single symbol> Completely reworked the handling of symbols (g1, l0, lexeme, discard, literals, etc.) Now using a state-machine to keep track of the contexts symbols are found in, and the conclusions about which future contexts are thus still legal. Redone the handling of fixups for `lexeme default` and `discard default`. User-specified settings of "latm" and "discard events" now form an exclusion list of symbols, with the regular list to exclude them from pulled out of the new state tracking. Literal handling now performs normalization and derivation of symbols in the semantics. The container does not know anything about anymore. FIX BUG: Tcl escapes for strings and char classes are not handled yet, neither by semantics, nor syntax. FIX BUG: Normalization of specs for "nocase" still missing Updated tests to match. Added tests for all the cases missed by the old tracking scheme. check-in: 2d3c378396 user: aku tags: new-slif-semantics | |
2017-03-28
| ||
03:00 | Moved location management to AST processing, away from the container-to-be. Updated tests to match. check-in: dbe940e8b8 user: aku tags: new-slif-semantics | |
2017-03-23
| ||
05:15 | Implemented the defaults for g1 actions/blessings. Extended and updated tests. check-in: a91d328909 user: aku tags: new-slif-semantics | |