2020-01-03 tino * [r13887] src/GrammarApplicator_runRules.cpp: Optimize Restore * [r13886] manual/contexts.xml, manual/rules.xml, src/ApertiumApplicator.cpp, src/Cohort.hpp, src/ContextualTest.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/NicelineApplicator.cpp, src/Rule.hpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, test/T_IgnoreRestore, test/T_IgnoreRestore/args.txt, test/T_IgnoreRestore/expected.txt, test/T_IgnoreRestore/grammar.cg3, test/T_IgnoreRestore/grammar.cg3b.10043, test/T_IgnoreRestore/input.txt: Implement rule type Restore, rule flag Ignored and LookIgnored, and contextual option 'I' (closes #51) 2019-12-30 tino * [r13878] src/GrammarApplicator.cpp: Fix segfault when varstring relations result in new tags 2019-12-12 tino * [r13858] src/Grammar.cpp, src/GrammarApplicator.cpp, src/Tag.cpp, src/inlines.hpp, src/parser_helpers.hpp, test/T_SplitCohort/grammar.cg3: Fix //r regex tags implying but not actually implying ^$ 2019-11-11 tino * [r13756] src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/NicelineApplicator.cpp, src/main.cpp, src/options.hpp: Implement --dep-absolute 2019-11-04 tino * [r13723] src/GrammarApplicator_runRules.cpp, test/T_RemCohort/expected.txt: When removing cohorts, append them to the previous cohort's enclosed cohorts, if any. This preserves the input order much better. 2019-10-30 tino * [r13706] src/version.hpp: Release 1.3.1 2019-10-25 tino * [r13701] src/GrammarApplicator_runContextualTest.cpp, test/T_Omniscan/grammar.cg3: Shorthand @< and @> should fail when prev/next missing (fixes #47) 2019-10-13 tino * [r13693] python/CMakeLists.txt, python/setup.py.in: Python module cg3 alias of constraint_grammar 2019-09-29 tino * [r13684] ChangeLog, newsletters/2019-09-29.txt, src/version.hpp: Release 1.3.0 2019-09-24 tino * [r13676] python/CMakeLists.txt: No, SWIG >= 3.0 is required due to namespaces * [r13675] python/CMakeLists.txt: SWIG 3.0 -> 2.0 2019-09-23 tino * [r13674] cg3.pc.in: Missed ${prefix}/ 2019-09-17 tino * [r13661] src/TextualParser.cpp: Forward in-template status to linked tests 2019-09-16 tino * [r13659] CMakeLists.txt, src/CMakeLists.txt: Use GNUInstallDirs and relative paths 2019-09-14 tino * [r13658] python/CMakeLists.txt: LIST_DIR -> BINARY_DIR * [r13657] CMakeLists.txt, python/CMakeLists.txt: Add PYTHON_INSTALL_PARAMS to help with packaging 2019-09-05 tino * [r13606] src/AST.hpp, src/ApertiumApplicator.cpp, src/Cohort.cpp, src/CohortIterator.cpp, src/ContextualTest.cpp, src/FSTApplicator.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/MatxinApplicator.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Reading.cpp, src/Rule.cpp, src/Set.cpp, src/SingleWindow.cpp, src/Tag.cpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/inlines.hpp, src/interval_vector.hpp, src/libcg3.cpp, src/process.hpp, src/uextras.cpp: Don't warn about wrong ** in templates (workaround); Lots of 0 -> nullptr 2019-09-02 tino * [r13587] src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/Grammar.cpp, src/GrammarWriter.cpp, src/TextualParser.cpp, src/cg-relabel.cpp, src/cg_comp.cpp, src/cg_proc.cpp, src/inlines.hpp, src/libcg3.cpp, src/main.cpp: Turn magic constants into functions * [r13586] manual/sets.xml, src/Set.cpp, src/parser_helpers.hpp, test/T_Unification/expected.txt, test/T_Unification/grammar.cg3, test/T_Unification/grammar.cg3b.10043: Implement multi-use unification for && sets (issue #44) * [r13585] src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runRules.cpp, src/inlines.hpp: Handle multiple active &&sets at a time. 2019-08-30 tino * [r13577] CMakeLists.txt, python/CMakeLists.txt: Allow configuring Python module without building or installing it 2019-08-29 tino * [r13560] CMakeLists.txt: Default policy to newest so that we can catch deprecations; Be nicer when built as subproject; Set CPack version 2019-08-26 tino * [r13555] src/GrammarApplicator_runRules.cpp: Move/Switch endless loop no longer fatal * [r13554] .gitignore, .travis.yml, CMakeLists.txt, cmake.sh, python, python/CMakeLists.txt, python/constraint_grammar.i.in, python/setup.py.in: SWIG Python 3 bindings, by Lokendra Singh (closes #37) git-svn-author: lokendras1998@gmail.com 2019-08-21 tino * [r13551] src/GrammarApplicator_matchSet.cpp: Don't let barriers test the static reading (issue #42) 2019-08-19 tino * [r13550] src/GrammarApplicator_runRules.cpp: Whoops, only do that for the * reading * [r13549] src/GrammarApplicator_runRules.cpp: If there aren't any sub-readings, return the primary reading * [r13548] src/GrammarApplicator.hpp: Not supposed to be [[noreturn]] 2019-08-17 tino * [r13547] src/GrammarApplicator_runRules.cpp, test/T_Append/expected.txt, test/T_Append/grammar.cg3, test/T_Append/input.txt: Copy Except will now except from sub-readings as well as main reading 2019-08-13 tino * [r13542] src/GrammarApplicator_reflow.cpp, src/Strings.cpp, src/Strings.hpp: Convert %[UuLl] markers to control codes to avoid having combined % accidentally match %L 2019-08-09 tino * [r13538] src/TextualParser.cpp, src/TextualParser.hpp: More [[noreturn]]; Warn for ** without LINK or C 2019-07-09 tino * [r13526] manual/grammar.xml, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/TextualParser.hpp, test/T_AnyMinusSome/args.txt, test/T_CG2Compat/args.txt, test/T_Delimit/args.txt, test/T_Dependency/args.txt, test/T_Dependency_Loops/args.txt, test/T_External/sets.inc, test/T_Include/grammar.cg3, test/T_Include/rules.cg3, test/T_Include/rules.inc, test/T_Include/sets.cg3, test/T_Include/sets.inc, test/T_JumpExecute/args.txt, test/T_MapAdd_Different/args.txt, test/T_MappingPrefix/args.txt, test/T_MergeCohorts/args.txt, test/T_NumericalTags/args.txt, test/T_OriginPassing/args.txt, test/T_Parentheses/args.txt, test/T_Protect/args.txt, test/T_Relations/args.txt, test/T_RemCohort/args.txt, test/T_SectionRanges/args.txt, test/T_Sections/args.txt, test/T_Select/args.txt, test/T_SetOp_FailFast/args.txt, test/T_SoftDelimiters/args.txt, test/T_SpaceInForms/args.txt, test/T_SplitCohort/args.txt, test/T_SubReadings_CG/args.txt, test/T_Substitute/args.txt, test/T_Trace/args.txt, test/T_Unification/args.txt: Implement Include Static (closes #35) * [r13525] src/GrammarApplicator.hpp, src/GrammarApplicator_runRules.cpp, src/TextualParser.hpp, src/inlines.hpp: Static analysis findings: Add [[noreturn]], fix loop, init members 2019-07-08 tino * [r13524] src/TextualParser.cpp: Link None Link is fine if jumping around (fixes #36) 2019-06-24 tino * [r13523] src/GrammarApplicator_runContextualTest.cpp, test/T_Dependency/expected.txt, test/T_Dependency/grammar.cg3, test/T_Dependency/input.txt, test/runall.pl: Add POS_DEP_DEEP to No-Barrier pre-condition 2019-05-17 unhammer * [r13517] test/Apertium/T_Delimit/expected.txt, test/Apertium/T_Delimit/grammar.cg3, test/Apertium/T_Delimit/input.txt, test/Apertium/T_EndlessSelect/expected.txt, test/Apertium/T_RemoveSingleTag/expected.txt, test/Apertium/T_RemoveSingleTag/input.txt, test/Apertium/T_Sections/expected.txt, test/Apertium/T_Sections/grammar.cg3, test/Apertium/T_SetOp_FailFast/expected.txt, test/Apertium/T_Unification/expected.txt: Fix #32 – Apertium tests were failing I'm not sure these follow the original intentions, but some of them were unchanged since 2008 … 2019-04-29 unhammer * [r13496] .gitignore, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp: cg-proc -w: Only uppercase if whole form upper, uppercase all baseforms The wordform «Håndball-VM» used to give /HÅNDBALL+vm$ now titlecases first subreading instead of uppercasing: /Håndball+vm$ The wordform «HÅNDBALL-VM» used to give /HÅNDBALL+vm$ now uppercases second subreading too: /HÅNDBALL+VM$ We require at least two alphabetic uppercase characters before calling it uppercase (and no lowercase). This doesn't solve https://github.com/TinoDidriksen/cg3/issues/24 but at least realises ^I/prpers$ as ^I/Prpers$ instead of ^I/PRPERS$, which is less shouty in the cases where people haven't yet made the CG rules for BOS vs non-BOS. Code now also uses pointer offsets to avoid unnecessary copying. 2019-03-24 tino * [r13466] src/TextualParser.cpp: Require mapping sets to be OR'ed only 2019-03-05 unhammer * [r13448] emacs/cg.el: Emacs: configurable face for highlighting symbol at point in output 2019-02-22 tino * [r13426] ChangeLog, src/version.hpp: Version bump * [r13425] include/win32/getopt.cpp, src/AST.hpp, src/ApertiumApplicator.cpp, src/BinaryGrammar_read_10043.cpp, src/Cohort.hpp, src/FSTApplicator.cpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarWriter.cpp, src/MatxinApplicator.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg_conv.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/libcg3.cpp, src/parser_helpers.hpp, src/sorted_vector.hpp, src/stdafx.hpp, src/uextras.cpp, src/uextras.hpp: Lots of C++11 cleanup: thread_local statics; UString literals and overloads; wchar_t -> char16_t; check for combining characters * [r13424] src/Cohort.cpp, src/Cohort.hpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, test/T_Omniscan/expected.txt, test/T_Omniscan/grammar.cg3, test/T_Omniscan/grammar.cg3b.10043: Shorthand syntax @x< and @x> to go to that absolute position in the prev/next window (closes #21) * [r13423] src/Cohort.cpp, src/Cohort.hpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runGrammar.cpp, src/cg_conv.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp: Allow piping deleted readings as such, instead of as text (closes #29) 2019-02-15 tino * [r13412] src/ApertiumApplicator.cpp, src/GrammarApplicator.cpp, src/Reading.cpp, test/T_MapAdd_Different/expected.txt, test/T_NumericalTags/expected.txt, test/T_Protect/expected.txt, test/T_SetOp_FailFast/expected.txt, test/T_Unification/expected.txt: Sort readings before print, because we can't expect other rules to trigger a sort 2019-02-11 tino * [r13411] src/ContextualTest.hpp, src/GrammarApplicator_runContextualTest.cpp, test/T_Dependency/expected.txt, test/T_Dependency/grammar.cg3: Glob (cc, pp) should be treated as a scanning search 2019-01-24 unhammer * [r13407] emacs/cg.el: Emacs: One input-buffer per pipeline as default For sharing inputs across CG's, pick a buffer explicitly (C-u C-c C-i) Also ensure cg-output-toggle-analyses is callable from the CG, not just from within the output-buffer. 2019-01-23 unhammer * [r13400] emacs/cg.el: Add FROM keyword, like TO 2019-01-21 tino * [r13392] src/GrammarApplicator.hpp, src/GrammarApplicator_runRules.cpp: Give up if Move/Switch has acted 100*num_cohorts times in the same window * [r13391] src/GrammarApplicator_runRules.cpp: Check whether Move/Switch did anything (fixes #13) * [r13390] src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/CohortIterator.hpp, src/Grammar.hpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runRules.cpp, src/IGrammarParser.hpp, src/Reading.hpp, src/TagTrie.hpp, src/inlines.hpp, src/interval_vector.hpp, src/process.hpp, src/sorted_vector.hpp, src/uextras.hpp: Modernize a bit 2019-01-10 unhammer * [r13381] emacs/cg.el: Prefix arg to cg-edit-input will prompt for an existing buffer to use as input also, allow checking newly created CG input buffers after saving them handy for when testing+editing the same text both from Emacs cg-mode and command line 2019-01-07 tino * [r13380] scripts/cg3-autobin.pl.in: Less noise 2018-11-21 unhammer * [r13326] emacs/cg.el: make cg-output-toggle-analyses and cg-output-set-unhide usable from main CG buffer + keybindings for them from there 2018-11-15 unhammer * [r13318] src/Cohort.hpp, src/GrammarApplicator_runGrammar.cpp, src/MweSplitApplicator.cpp: Store input line number on Cohort; use it when writing cg-mwesplit warnings; fixes #22 2018-10-22 unhammer * [r13262] emacs/cg.el: emacs: support xref-find-definitions on M-. 2018-10-22 tino * [r13261] src/TextualParser.cpp: Nicer error message for invalid SUB:* (fixes #19) * [r13260] src/parser_helpers.hpp: Also unset regexp-line flag * [r13258] .clang-format, ChangeLog, src/parser_helpers.hpp, src/version.hpp: Remove prefix ! as fail-fast alias 2018-10-15 tino * [r13229] CMakeLists.txt, include/posix/popen_plus.c, include/posix/popen_plus.cpp, include/posix/popen_plus.h, include/posix/popen_plus.hpp, include/uoptions.h, include/uoptions.hpp, include/win32/getopt.c, include/win32/getopt.cpp, include/win32/getopt.h, src/CMakeLists.txt, src/Set.hpp, src/Strings.hpp, src/Tag.hpp, src/cg-mwesplit.cpp, src/options.hpp, src/options_conv.hpp, src/process.hpp, src/stdafx.hpp: Simplify CMake project; WIP better project structure 2018-10-04 tino * [r13204] ChangeLog, src/version.hpp: Release 1.1.7 2018-10-01 tino * [r13197] src/TextualParser.cpp: Check that mapping lists don't have failfast or line regexes 2018-09-19 tino * [r13174] CMakeLists.txt, src/CMakeLists.txt: Require at least C++1y (C++14), Boost 1.53.0, ICU 50.0 2018-09-18 tino * [r13173] test/T_MergeCohorts, test/T_MergeCohorts/args.txt, test/T_MergeCohorts/expected.txt, test/T_MergeCohorts/grammar.cg3: Forgot the MergeCohorts test 2018-09-07 tino * [r13154] src/TextualParser.cpp: Allow Substitute/Map/etc tag lists to be combinations of LIST sets and on-the-fly definitions (fixes #16) * [r13149] manual/rules.xml, src/GrammarApplicator_runRules.cpp: MergeCohorts tag * now means copy target's tags to this spot (also affects AddCohort) (WIP issue #17) * [r13148] src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/TextualParser.cpp: Formatting * [r13146] manual/rules.xml: Add example to MergeCohorts 2018-09-06 tino * [r13145] ChangeLog, manual/contexts.xml, manual/rules.xml, src/ContextualTest.hpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/version.hpp: Implement first version of MergeCohorts (WIP issue #17) 2018-08-24 tino * [r13139] src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator_reflow.cpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/cg_conv.cpp, src/options_conv.hpp: Add ordered in-grammar mode; When ordered, consider all tags when determining duplicate readings 2018-08-08 tino * [r13101] src/ApertiumApplicator.cpp, src/FSTApplicator.cpp, src/FormatConverter.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/MatxinApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp: Centralize when windows are discarded (fixes #15) 2018-07-10 tino * [r13043] src/GrammarApplicator_runGrammar.cpp: Fix off-by-one. Quite amazing nobody ran into this before. 2018-06-25 tino * [r13033] ChangeLog, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runRules.cpp, src/version.hpp: Allow regex captures from dependency target contexts, without any captures in normal target contexts 2018-06-14 tino * [r13018] src/GrammarApplicator_runRules.cpp: That was apparently not C++11 compatible * [r13017] manual/tags.xml, src/GrammarApplicator_runRules.cpp: Fix Move/Switch ordering again, but better 2018-06-11 tino * [r13014] src/GrammarApplicator_runGrammar.cpp: Fix ignore input * [r13012] src/FSTApplicator.cpp: Converting flush after every cohort - this should be done globally 2018-06-01 tino * [r12992] ChangeLog, src/GrammarApplicator_runRules.cpp, src/version.hpp: Fix rule-to-cohort mapping after move/switch/remcohort 2018-05-29 tino * [r12974] CMakeLists.txt, scripts/cg-untrace: Add cg-untrace helper 2018-05-16 tino * [r12932] src/cg_conv.cpp: Fix 32bit truncation warning * [r12929] manual/tags.xml: Document VSTR varstring 2018-05-15 tino * [r12924] CMakeLists.txt, include/win32/getopt.c, include/win32/getopt.h: Add /permissive- and fix code to comply 2018-05-09 tino * [r12917] src/ApertiumApplicator.cpp, src/BinaryGrammar_write.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarWriter.cpp, src/MatxinApplicator.cpp, src/PlaintextApplicator.cpp, src/Relabeller.cpp, src/Set.cpp, src/Tag.cpp, src/TextualParser.cpp, src/Window.cpp, src/inlines.hpp: Modernize loops 2018-05-07 tino * [r12906] .gitignore: Add .gitignore (closes #10) * [r12903] manual/dependencies.xml, manual/grammar.xml, src/AST.hpp, src/ApertiumApplicator.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/MatxinApplicator.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Reading.cpp, src/Relabeller.cpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg_conv.cpp, src/cg_proc.cpp, src/inlines.hpp, src/libcg3.cpp, src/main.cpp, src/parser_helpers.hpp, src/process.hpp, src/stdafx.hpp, src/uextras.cpp, test/T_Barrier/expected.txt, test/T_Barrier/grammar.cg3, test/T_Barrier/grammar.cg3b.10043, test/T_Barrier/input.txt: Implement modifier N (closes #9); Fix lots of integer truncation warnings 2018-04-20 tino * [r12797] CMakeLists.txt: Use C++20 if possible * [r12796] AUTHORS, manual/manual.xml, src/AST.hpp, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/ContextualTest.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Reading.cpp, src/Reading.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.cpp, src/Rule.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/Window.hpp, src/bloomish.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg3.h, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/inlines.hpp, src/interval_vector.hpp, src/libcg3.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/parser_helpers.hpp, src/process.hpp, src/scoped_stack.hpp, src/sorted_vector.hpp, src/stdafx.hpp, src/streambuf.hpp, src/test_libcg3.c, src/uextras.cpp, src/uextras.hpp, src/version.hpp: Copyright bump * [r12795] manual/rules.xml, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator_runRules.cpp, src/Reading.cpp, src/Reading.hpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/version.hpp, test/T_Protect, test/T_Protect/args.txt, test/T_Protect/expected.txt, test/T_Protect/grammar.cg3, test/T_Protect/input.txt: Implement Protect and Unprotect (closes #8) 2018-04-18 tino * [r12789] src/FSTApplicator.cpp, src/version.hpp: FSTs sometimes output the input twice for non-matches, which turned into a weight of 0 * [r12788] CMakeLists.txt, scripts/cg-sort, scripts/cg-strictify: sort-uniq script for CG streams 2018-03-08 tino * [r12661] src/libcg3.cpp: Don't print those 2018-01-22 tino * [r12577] manual/streamformats.xml, manual/tags.xml: Documented stream static tags, somewhat 2018-01-17 tino * [r12568] src/GrammarApplicator_runRules.cpp: Fix SplitCohort segfault 2018-01-09 tino * [r12562] src/CMakeLists.txt: Remove single-build helper/hack * [r12561] CMakeLists.txt: Add CMake PIC flag 2018-01-02 tino * [r12543] scripts/todo.sh, src/GrammarApplicator_matchSet.cpp, src/parser_helpers.hpp: Change hash match for lines; Don't capture __ in lines 2017-12-11 tino * [r12520] CMakeLists.txt, src/flat_unordered_map.hpp: C++17; UTF-8 2017-11-23 unhammer * [r12492] emacs/cg.el: make ADDCOHORT-AFTER/BEFORE clickable in CG output 2017-10-06 tino * [r12387] src/GrammarApplicator_runGrammar.cpp, test/T_Dependency/expected.txt: Fix off-by-one in window lookahead 2017-09-28 tino * [r12376] src/GrammarApplicator_runRules.cpp: Pass new named relations through varstring 2017-09-23 tino * [r12372] src/cg_conv.cpp, src/streambuf.hpp: Call setg() as needed (fixes #4) 2017-09-18 tino * [r12371] scripts/compile-profile.sh, scripts/profile-apply.sh, scripts/profile-parse.sh, scripts/vapply.sh, scripts/vparse.sh: Profiling scripts * [r12370] src/CMakeLists.txt, src/uextras.cpp: Fix reuse of varargs; Fix double-compile of MWE code 2017-09-18 unhammer * [r12369] test/T_MweSplit/expected.txt, test/T_MweSplit/input.txt: ;traced lines gives segfault in cg-mwesplit after -r12322 happens on CG3::GrammarApplicator::printCohort (this=0x7fffffffd028, cohort=0x555555583450, output=...) at src/GrammarApplicator.cpp:533 ie. removed: u_fprintf(output, "%S", cohort->text.c_str()); calling u_fprintf_57 (output=..., fmt=0x7ffff7773e15 "%S") at src/uextras.cpp:207 2017-09-13 tino * [r12363] src/cg3.h: Aid autocomplete * [r12362] src/cg3.h, src/libcg3.cpp: Snip cg3_run_mwesplit_on_text * [r12361] CMakeLists.txt, ChangeLog, include/win32/getopt.c, src/ApertiumApplicator.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/cg-relabel.cpp, src/cg3.h, src/libcg3.cpp, src/test_libcg3.c, src/uextras.hpp, src/version.hpp: Require C99 or newer; Make use of C99; Snip cg3_mwesplitapplicator_free correctly; Newlines 2017-09-12 unhammer * [r12345] src/cg3.h, src/libcg3.cpp: add cg3_mwesplitapplicator_free since using cg3_applicator_free segfaults with 'Key cannot be res_empty or res_del' 2017-09-12 tino * [r12342] src/Reading.cpp: Also clear fake ordered vars; 2000th commit * [r12340] AUTHORS, NEWS, clang-format.pl, compile-profile.sh, get-boost.sh, profile-apply.sh, profile-parse.sh, scripts/clang-format.pl, scripts/compile-profile.sh, scripts/profile-apply.sh, scripts/profile-parse.sh, scripts/todo.sh, scripts/update-revision.pl, scripts/vapply.sh, scripts/vparse.sh, todo.sh, update-revision.pl, vapply.sh, vparse.sh: Organize * [r12339] src/CohortIterator.cpp, src/CohortIterator.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/cg_comp.cpp, src/cg_proc.cpp, src/main.cpp: Use unique_ptr 2017-09-11 tino * [r12335] INSTALL, cg3.magic, emacs/cg.el, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runRules.cpp: http -> https 2017-09-08 tino * [r12331] src/Cohort.cpp, src/Cohort.hpp, src/GrammarApplicator_runRules.cpp, test/T_Append/expected.txt, test/T_Append/input.txt: Also copy sub-readings * [r12330] .clang-format, clang-format.pl, src/inlines.hpp: clang-format 6.0 2017-09-07 tino * [r12328] src/MweSplitApplicator.cpp: Formatting 2017-09-07 unhammer * [r12327] src/cg3.h, src/libcg3.cpp: change cg3_[io]stream to std_[io]stream since they're std::[io]stream * [r12326] src/cg3.h, src/libcg3.cpp: new cg3.h functions for loading grammars from buffers and running on streams * cg3_grammar_load_buffer * cg3_run_grammar_on_text * cg3_mwesplitapplicator_create * cg3_run_mwesplit_on_text * [r12325] src/MweSplitApplicator.cpp, src/cg-mwesplit.cpp: mwesplit always uses an empty grammar, so initialise and own it in constructor easier to use from api 2017-09-06 tino * [r12324] ChangeLog, src/streambuf.hpp, src/uextras.cpp, src/version.hpp: Bump version; Formatting * [r12323] src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/CMakeLists.txt, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/istream.hpp, src/libcg3.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/streambuf.hpp, src/uextras.cpp, src/uextras.hpp, test/T_External/run.pl, test/T_Include/rules.inc: All input now happens via std::istream& instead of UFILE*, and assumes UTF-8; Deprecated -C and --codepage-* options. (WIP Github issue #1) 2017-09-05 tino * [r12322] ChangeLog, src/AST.hpp, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/CMakeLists.txt, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Set.cpp, src/Set.hpp, src/Tag.cpp, src/Tag.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/libcg3.cpp, src/main.cpp, src/streambuf.hpp, src/uextras.cpp, src/uextras.hpp, src/version.hpp: All output now happens to std::ostream& instead of UFILE*. This forces output to UTF-8, which everyone should be using anyway. (WIP Github issue #1) 2017-08-28 tino * [r12319] .clang-format, clang-format.pl, src/AST.hpp, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/ContextualTest.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Reading.cpp, src/Reading.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.cpp, src/Rule.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/Tag.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/Window.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg3.h, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/icu_uoptions.cpp, src/inlines.hpp, src/interval_vector.hpp, src/istream.hpp, src/libcg3.cpp, src/main.cpp, src/parser_helpers.hpp, src/scoped_stack.hpp, src/test_libcg3.c, src/uextras.cpp, src/uextras.hpp: Enforce actual PointerAlignment:Left * [r12318] .clang-format, clang-format.pl, src/ApertiumApplicator.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/ContextualTest.hpp, src/Grammar.hpp, src/GrammarApplicator.hpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/Reading.hpp, src/SingleWindow.cpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/inlines.hpp, src/sorted_vector.hpp: Formatting 2017-08-19 tino * [r12312] ChangeLog, src/inlines.hpp, src/version.hpp: Release 1.1.0 2017-08-18 tino * [r12311] src/BinaryGrammar_read.cpp: Enable exceptions * [r12310] src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/Grammar.hpp, src/IGrammarParser.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg-relabel.cpp, src/cg_comp.cpp, src/cg_proc.cpp, src/inlines.hpp, src/libcg3.cpp, src/main.cpp: Add various parse_grammar() overloads 2017-08-15 tino * [r12308] src/ApertiumApplicator.cpp, src/Strings.hpp, src/cg_conv.cpp: Apertium format now considers initial ¬ (U+00AC) as a deleted reading 2017-08-14 tino * [r12306] CMakeLists.txt, manual/cmdreference.xml, manual/grammar.xml, manual/parentheses.xml, manual/streamcmds.xml, src/Strings.hpp, src/inlines.hpp, src/stdafx.hpp, test/T_CG2Compat, test/T_DelayAndDelete, test/T_External, test/T_Include, test/T_MappingPrefix, test/T_Movement, test/T_OriginPassing, test/T_Parentheses, test/T_SectionRanges: Revert r12305. Older supported distros have too old Boost * [r12305] CMakeLists.txt, src/Strings.hpp, src/inlines.hpp, src/stdafx.hpp: Drop big endian detection in favour of generic Boost 2017-07-25 tino * [r12274] manual/tags.xml, src/GrammarApplicator_matchSet.cpp, src/parser_helpers.hpp: Implement and document META for querying stream metadata * [r12273] src/GrammarApplicator_runRules.cpp: If tracing, show removed cohort readings and added empty cohort readings 2017-06-27 tino * [r12259] src/FSTApplicator.cpp: Handle invalid terminating + 2017-06-21 tino * [r12254] src/GrammarApplicator.hpp, src/GrammarApplicator_runContextualTest.cpp: Still feels breakable * [r12253] ChangeLog, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/version.hpp: An OR template followed by another OR template followed by a normal linked test now finally seems to work as it should. * [r12250] src/FSTApplicator.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_runContextualTest.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Strings.cpp, src/Tag.cpp, src/inlines.hpp, src/parser_helpers.hpp, src/version.hpp: constexpr cleanup 2017-06-14 tino * [r12243] src/Tag.cpp: length() -> size() * [r12242] src/AST.hpp, src/ApertiumApplicator.cpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/CohortIterator.cpp, src/FSTApplicator.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/MatxinApplicator.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Reading.cpp, src/Rule.cpp, src/SingleWindow.cpp, src/Tag.cpp, src/TextualParser.cpp, src/Window.cpp, src/cg_proc.cpp, src/libcg3.cpp, src/main.cpp, src/parser_helpers.hpp: Many foreach() -> range-for * [r12240] src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/Reading.hpp, src/Tag.hpp, src/TextualParser.cpp, src/inlines.hpp, src/parser_helpers.hpp, test/T_MapAdd_Different/expected.txt, test/T_MapAdd_Different/grammar.cg3: Temporary hack for quick'n'dirty ordered tag check 2017-06-13 tino * [r12239] src/Grammar.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/inlines.hpp: Hasher for UString * [r12238] src/BinaryGrammar.hpp, src/Cohort.hpp, src/ContextualTest.hpp, src/Grammar.hpp, src/GrammarWriter.cpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.hpp, src/Set.hpp, src/Tag.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/bloomish.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg_conv.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/interval_vector.hpp, src/libcg3.cpp, src/sorted_vector.hpp, src/stdafx.hpp, src/version.hpp: More Boost -> C++11 * [r12237] src/ApertiumApplicator.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/ContextualTest.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/MweSplitApplicator.cpp, src/NicelineApplicator.cpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/libcg3.cpp, src/stdafx.hpp: BOOST_FOREACH -> range-for * [r12236] src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/MweSplitApplicator.cpp, src/Relabeller.cpp, src/TextualParser.cpp, src/stdafx.hpp: BOOST_AUTO -> auto * [r12235] ChangeLog, manual/rules.xml, src/GrammarApplicator_runRules.cpp, src/Rule.hpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/version.hpp, test/T_Append/expected.txt, test/T_Append/grammar.cg3, test/T_MapAdd_Different/expected.txt, test/T_MapAdd_Different/grammar.cg3, test/T_MapAdd_Different/grammar.cg3b.10043, test/T_MapAdd_Different/input.txt: Add BEFORE|AFTER to ADD/MAP/COPY to control where tags are inserted 2017-06-12 tino * [r12233] src/Relabeller.cpp: Make rule.name a UString instead of UChar* * [r12232] src/GrammarWriter.cpp: Make rule.name a UString instead of UChar* * [r12231] src/BinaryGrammar_write.cpp, src/GrammarApplicator.cpp, src/GrammarWriter.cpp, src/Rule.cpp, src/Rule.hpp, src/TextualParser.cpp, src/cg_proc.cpp, src/main.cpp: Make rule.name a UString instead of UChar* 2017-06-08 tino * [r12225] src/GrammarApplicator_runRules.cpp: Tighten seen_barrier break to only the contextual target 2017-05-31 tino * [r12219] src/GrammarApplicator_runContextualTest.cpp: *c barrier now only skips branches instead of killing the whole search * [r12218] src/GrammarApplicator_runContextualTest.cpp, src/TextualParser.cpp: Barrier is now ok for self tests 2017-05-30 tino * [r12213] src/cg3.h, src/libcg3.cpp: Add 3 functions from Paul Meurer 2017-05-23 tino * [r12203] scripts/cg3-autobin.pl.in: Forgot some are optional 2017-05-22 tino * [r12202] src/AST.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/parser_helpers.hpp, test/T_Dependency_Loops/grammar.cg3: Added LIST-TAGS as shorthand for gobbling up all LIST X = X; sets 2017-05-19 tino * [r12200] ChangeLog, newsletters/2017-05-20.txt, scripts/cg3-autobin.pl.in, src/GrammarApplicator_runRules.cpp, src/version.hpp: Release 1.0.0 * [r12199] manual/cmdreference.xml, manual/grammar.xml, manual/tags.xml, scripts/cg-strictify, scripts/cg3-autobin.pl.in: Document cg-strictify; Use env to find perl; Make Getopt::Long case-sensitive 2017-05-18 tino * [r12198] CMakeLists.txt, scripts/cg-strictify, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/TextualParser.hpp: Add cg-strictify script to help with STRICT-TAG'ing existing grammars; Add strict-regex and strict-icase options 2017-05-15 tino * [r12197] manual/tags.xml, src/TextualParser.cpp: Nicer strict-tags * [r12196] src/FSTApplicator.cpp: Handle empty tags 2017-05-13 tino * [r12194] ChangeLog, src/version.hpp: Forgot to bump binary rev with floating point support * [r12193] src/GrammarApplicator_runRules.cpp: Correct iterator after RemCohort 2017-05-11 tino * [r12190] CMakeLists.txt, manual/cmdreference.xml, manual/probabilistic.xml, manual/tags.xml, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/FSTApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/Tag.cpp, src/Tag.hpp, src/inlines.hpp, src/options_conv.hpp: Switch numeric tags to double-precision floating point; Change cg-conv to not multiply weights by default; Detect endianness at build time 2017-05-09 tino * [r12189] src/PlaintextApplicator.cpp: Add tags to automatic readings to allow easy removal * [r12188] src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/cg_conv.cpp, src/options_conv.hpp: Option --add-tags to minimally analyze plain text input, defaults to off 2017-05-07 tino * [r12187] README.md, manual/installation.xml, manual/man/cg-comp.1, manual/man/cg-conv.1, manual/man/cg-proc.1, manual/man/cg3-autobin.pl.1, manual/man/vislcg3.1: https links; Point to nightly builds instead 2017-05-03 tino * [r12178] src/GrammarApplicator.hpp, src/GrammarApplicator_runContextualTest.cpp: pS incorrectly acted as p* 2017-04-28 tino * [r12161] src/GrammarApplicator.hpp, src/GrammarApplicator_runContextualTest.cpp: dep_deep_seen now a composite key 2017-04-25 tino * [r12146] src/sorted_vector.hpp: Committed wrong file before * [r12145] manual/rules.xml, src/GrammarApplicator_runRules.cpp, src/parser_helpers.hpp, test/T_Movement/expected.txt, test/T_Movement/input.txt: Completely revamp how Move WithChild is done to satisfy tree thinking 2017-04-21 tino * [r12139] src/GrammarApplicator_runRules.cpp: If Move does nothing, don't mark state as dirty * [r12135] src/GrammarApplicator_matchSet.cpp: Don't crash on capturing patterns in dep targets * [r12134] src/GrammarApplicator_runRules.cpp, test/T_Movement/expected.txt, test/T_Movement/grammar.cg3, test/T_Movement/grammar.cg3b.10043, test/T_Movement/input.txt: Clear non-match cache on Repeat 2017-04-20 unhammer * [r12133] src/ApertiumApplicator.cpp: fix cg-proc -z again runningWithNullFlush isn't set until runGrammarOnTextWrapperNullFlush * [r12132] test/Apertium/T_Flush, test/Apertium/T_Flush/expected.txt, test/Apertium/T_Flush/grammar.cg3, test/Apertium/T_Flush/input.txt, test/Apertium/T_Flush/run.pl: test cg-proc -z (NUL-flushing with timeout) 2017-04-19 tino * [r12131] manual/rules.xml: Document AddCohort WithChild * [r12130] src/GrammarApplicator_runRules.cpp, src/TextualParser.cpp, test/T_RemCohort/expected.txt, test/T_RemCohort/grammar.cg3, test/T_RemCohort/grammar.cg3b.10043, test/T_RemCohort/input.txt: Allow WithChild for AddCohort 2017-04-17 tino * [r12128] src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp: Count lines correctly; Add cohort count to aid finding the error location 2017-04-06 tino * [r12125] src/GrammarApplicator_runRules.cpp: Only prevent edges' children from being moved if there's a conflict * [r12120] src/GrammarApplicator_runRules.cpp: Prevent edges' children from being moved * [r12119] src/GrammarApplicator_runRules.cpp: Prevent edges from being moved at all; Bail out if invalid moves are detected. 2017-04-05 tino * [r12114] src/GrammarApplicator_runRules.cpp: min() cast * [r12113] src/GrammarApplicator_runRules.cpp: Warn about move/switch accidents * [r12112] src/GrammarApplicator.hpp, src/GrammarApplicator_runRules.cpp, src/inlines.hpp, src/main.cpp, src/options.hpp: Add optional range to --trace that will stop execution if hit * [r12111] src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/bloomish.hpp, src/istream.hpp: Visual Studio 2017 silently added the retarded UTF-8 BOM 2017-04-04 tino * [r12108] src/GrammarApplicator_runContextualTest.cpp, test/runall.pl: Fix left/right dependencies after movement; VS15 2017-04-03 tino * [r12098] src/GrammarApplicator_runRules.cpp, src/bloomish.hpp, src/istream.hpp: fill() casts * [r12095] src/GrammarApplicator_runRules.cpp: Move Withchild should still move the target even if no children match, and ditto edges 2017-03-08 tino * [r12046] src/options.hpp: +used 2017-02-20 tino * [r12010] src/Grammar.cpp, src/Grammar.hpp, src/TextualParser.cpp: Let actualizing set operators work on more complex sets (but not really complex sets yet) * [r12009] manual/compatibility.xml: Correction to - gotcha * [r12008] manual/manual.xml, manual/sets.xml, src/AST.hpp, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/ContextualTest.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Reading.cpp, src/Reading.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.cpp, src/Rule.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/Window.hpp, src/bloomish.hpp, src/cg-mwesplit.cpp, src/cg-relabel.cpp, src/cg3.h, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/inlines.hpp, src/interval_vector.hpp, src/istream.hpp, src/libcg3.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/parser_helpers.hpp, src/process.hpp, src/scoped_stack.hpp, src/sorted_vector.hpp, src/stdafx.hpp, src/test_libcg3.c, src/uextras.cpp, src/uextras.hpp, src/version.hpp, test/T_SetOps/expected.txt, test/T_SetOps/grammar.cg3, test/T_SetOps/grammar.cg3b.10043: Added a true mathematical set difference operator \ and renamed the existing - operator to Except * [r12007] TODO, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp: Work around OR'ed tests followed by OR'ed tests 2017-02-16 tino * [r12003] manual/tags.xml: () does not need escaping 2017-02-01 unhammer * [r11990] emacs/cg.el: :type's for some defcustom's * [r11989] emacs/cg.el: lexical-binding: t; 0.3.0 and underscore some unused-but-required vars 2016-12-23 tino * [r11928] src/TextualParser.cpp: Error on stand-alone o and O 2016-12-19 tino * [r11924] cmake.sh: Env tweak * [r11923] cmake.sh, scripts/CG3_External.pm, scripts/external.pl, scripts/external_text.pl, test/T_External/run.pl, test/T_MweSplit/run.pl, test/T_RelabelList/run.pl, test/T_RelabelList_Apertium/run.pl, test/T_RelabelSet/run.pl, test/T_SubReadings_Apertium/run.pl, test/clean.sh, test/runall.pl: Use env to find handlers 2016-11-30 tino * [r11902] src/GrammarWriter.cpp: Better handling of binary grammars, w.r.t. sub-readings and (soft-)delimiters * [r11901] src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/main.cpp: Allow writing out binary grammars by giving sets sequential names 2016-11-17 tino * [r11883] src/GrammarApplicator_runGrammar.cpp: Less verbose 2016-10-31 tino * [r11861] src/GrammarApplicator_runGrammar.cpp: Handle malformed data that has U+0085 instead of ellipsis * [r11860] TODO, src/GrammarApplicator_runRules.cpp, test/T_JumpExecute/expected.txt: Fix Jump skipping rules 2016-10-13 tino * [r11783] src/GrammarApplicator_runRules.cpp: Trace SUB:* 2016-10-10 tino * [r11775] src/GrammarApplicator_runRules.cpp: Fix segfault 2016-08-10 tino * [r11705] src/GrammarApplicator_runRules.cpp, src/Rule.hpp: Coding style * [r11704] clang-format.pl, scripts/profile-revisions.php: Scripts 2016-08-01 unhammer * [r11703] emacs/cg.el: commentary, todo's 2016-07-25 tino * [r11687] scripts/cg3-autobin.pl.in: Digest::SHA1 is dead and gone, use Digest::SHA 2016-07-21 tino * [r11682] CMakeLists.txt, src/CMakeLists.txt: Use LTO if available 2016-07-14 tino * [r11677] ChangeLog, TODO, manual/rules.xml, src/GrammarApplicator_runRules.cpp, src/Rule.hpp, src/Strings.cpp, src/Strings.hpp, src/version.hpp, test/T_SubstituteNil/grammar.cg3, test/T_SubstituteNil/grammar.cg3b.10043, test/T_SubstituteNil/input.txt: Implement and document rule flag REPEAT 2016-07-13 unhammer * [r11674] emacs/cg.el: `C-c [a-z]' reserved for user bindings * [r11673] emacs/cg.el: derive cg-mode from prog-mode, less boilerplate also enables company-dabbrev-code which gives better completions 2016-06-23 tino * [r11656] ChangeLog, src/GrammarApplicator_runRules.cpp, src/version.hpp, test/T_MweSplit/run.pl: Correctly fail trying to get negative sub-reading when there are none; Fix MWE test to ignore ^M due to piping artifacts 2016-06-07 tino * [r11630] src/GrammarApplicator_runRules.cpp: Endless loop print window 2016-06-06 tino * [r11628] src/GrammarApplicator_runRules.cpp, src/MweSplitApplicator.cpp: More endless loop prevention 2016-05-26 tino * [r11624] src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/cg-mwesplit.cpp: Formatting 2016-05-26 unhammer * [r11623] src/CMakeLists.txt, src/MweSplitApplicator.cpp, src/MweSplitApplicator.hpp, src/cg-mwesplit.cpp, test/T_MweSplit, test/T_MweSplit/expected.txt, test/T_MweSplit/input.txt, test/T_MweSplit/run.pl: cg-mwesplit: new binary for splitting multiwords like https://github.com/unhammer/cg-mwesplit but rewritten to inherit GrammarApplicator and use the standard vislcg3 parsing. Takes no options, just stdin and stdout: $ cg-mwesplit < infile > outfile More typically, it’ll be in a pipeline after hfst-tokenise and some step that disambiguates multiwords using vislcg3: $ echo words go here | hfst-tokenise --gtd tokeniser.pmhfst | vislcg3 -g mwe-dis.cg3 | cg-mwesplit 2016-05-25 tino * [r11621] ChangeLog, src/version.hpp: Let's call this a release 2016-05-24 tino * [r11620] src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runRules.cpp, src/MatxinApplicator.cpp, src/NicelineApplicator.cpp: Magic constant -> DEP_NO_PARENT * [r11619] .travis.yml: Travis changed? * [r11618] src/TextualParser.cpp: Dead code 2016-05-23 tino * [r11613] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp: Format code 2016-05-23 ftyers * [r11603] src/MatxinApplicator.cpp: update so it gives full trees 2016-05-19 tino * [r11583] src/Grammar.cpp, src/TagTrie.hpp: Add KeepOrder if any context uses varstrings or unification 2016-05-18 tino * [r11577] ChangeLog, src/GrammarApplicator_runGrammar.cpp, src/version.hpp: Also add magic tag <<< in --dep-delimit mode 2016-05-13 ftyers * [r11551] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp: fail fast (well reasonably) if input contains subreadings 2016-05-13 tino * [r11550] src/MatxinApplicator.cpp: Substr that doesn't throw 2016-05-13 ftyers * [r11549] src/MatxinApplicator.cpp: fix whitespace handling * [r11548] src/MatxinApplicator.cpp: go back to for loop as substr doesn't work 2016-05-13 tino * [r11547] get-boost.sh: Boost 1.61.0 * [r11545] src/MatxinApplicator.cpp: Use substr to fix warning 2016-05-13 ftyers * [r11544] src/MatxinApplicator.cpp: rename field * [r11543] src/MatxinApplicator.cpp: lop off @ 2016-05-13 tino * [r11541] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp: Printing to stdout is really not allowed 2016-05-12 ftyers * [r11539] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp: some formatting fixes * [r11538] src/MatxinApplicator.cpp: there is no pos field, and also number sentences 2016-05-12 tino * [r11537] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp: Printing to stdout is not allowed * [r11536] src/FormatConverter.cpp: Reorder init * [r11535] src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/cg_proc.cpp: Attempt to inject history; Reformat 2016-05-12 ftyers * [r11534] src/ApertiumApplicator.cpp, src/CMakeLists.txt, src/FormatConverter.cpp, src/FormatConverter.hpp, src/MatxinApplicator.cpp, src/MatxinApplicator.hpp, src/all_cg_conv.cpp, src/all_cg_proc.cpp, src/cg_proc.cpp, src/options_conv.hpp: first version of the MatxinApplicator, still quite a bit of work to do 2016-05-12 tino * [r11533] ChangeLog, src/ApertiumApplicator.cpp, src/cg_proc.cpp, src/version.hpp: Fix cg-proc leak; Allow cg-proc to use textual grammars, but with a warning 2016-04-14 unhammer * [r11459] emacs/cg.el: cg-calculate-indent was returning wrong val 2016-04-13 tino * [r11458] src/CMakeLists.txt: Test failed due to renamed tests 2016-04-11 tino * [r11456] src/GrammarApplicator.cpp: Print rule number where possible * [r11455] test/Apertium/T_Append, test/Apertium/T_BasicAppend, test/Apertium/T_BasicContextTest, test/Apertium/T_BasicDelimit, test/Apertium/T_BasicIff, test/Apertium/T_BasicRemove, test/Apertium/T_BasicSelect, test/Apertium/T_BasicSubstitute, test/Apertium/T_ContextTest, test/Apertium/T_Delimit, test/Apertium/T_Iff, test/Apertium/T_Remove, test/Apertium/T_Select, test/Apertium/T_Substitute, test/T_Append, test/T_BasicAppend, test/T_BasicContextTest, test/T_BasicDelimit, test/T_BasicDependency, test/T_BasicIff, test/T_BasicSelect, test/T_BasicSubstitute, test/T_ContextTest, test/T_Delimit, test/T_Dependency, test/T_Iff, test/T_Select, test/T_Substitute: Rename tests * [r11454] ChangeLog, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runRules.cpp, src/TextualParser.cpp, src/version.hpp, test/T_BasicAppend/expected.txt, test/T_BasicAppend/grammar.cg3, test/T_BasicAppend/grammar.cg3b.10043: Append, AddCohort, SplitCohort now performs their tag checks only at runtime 2016-04-07 unhammer * [r11440] emacs/cg.el: fix indentation where wordform before rule keyword 2016-04-06 tino * [r11439] src/GrammarApplicator.cpp: At runtime, print numLines 2016-04-04 tino * [r11433] .clang-format, clang-format.pl, src/GrammarApplicator_runRules.cpp, src/Set.hpp, src/inlines.hpp: clang-format-3.9 2016-03-30 tino * [r11431] README.md: Gotta catch them all 2016-03-29 unhammer * [r11430] emacs/cg.el: (require 'cl-lib) ;; assume users have emacs>=24.3 + lots of checkdoc-fixes * [r11429] emacs/cg.el: compilation warnings now have filename prepended 2016-03-23 tino * [r11423] manual/rules.xml: Fix Substitute documentation * [r11421] src/GrammarApplicator_runRules.cpp: No, that wasn't a problem * [r11420] src/GrammarApplicator_runRules.cpp: Substitute should not remove tags if it can't later replace them 2016-03-22 tino * [r11416] ChangeLog, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_runRules.cpp, src/Strings.cpp, src/version.hpp, test/T_BasicSubstitute/expected.txt: Substitute will now insert in all found locations, if the tags to be replaced were found contiguously in those locations 2016-03-03 tino * [r11383] manual/grammar.xml: Section name example 2016-03-01 tino * [r11374] src/libcg3.cpp, src/stdafx.hpp: Things no longer relevant in VS 2015 2016-02-23 tino * [r11351] ChangeLog, src/GrammarApplicator_runRules.cpp, src/version.hpp: Remove Substitute unique test 2016-02-11 tino * [r11341] src/GrammarApplicator_runGrammar.cpp: Fix B with -D 2016-02-09 tino * [r11340] src/Tag.cpp: Don't even try to parse very long tags as numeric 2016-02-08 tino * [r11338] ChangeLog, src/GrammarApplicator_matchSet.cpp, src/version.hpp: Even more undo regex captures on match fail 2016-02-05 tino * [r11329] manual/contexts.xml: Greedy and lazy bag * [r11327] ChangeLog, manual/contexts.xml, src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/ContextualTest.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/TextualParser.cpp, src/version.hpp, test/T_BasicDependency/expected.txt, test/T_BasicDependency/grammar.cg3, test/T_BasicDependency/grammar.cg3b.10043: Implement Bag of Tags * [r11325] src/GrammarApplicator_reflow.cpp: Silly if 2016-01-26 tino * [r11265] manual/rules.xml: KeepOrder doc * [r11264] ChangeLog, manual/manual.xml, src/AST.hpp, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/ContextualTest.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Reading.cpp, src/Reading.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.cpp, src/Rule.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/Window.hpp, src/bloomish.hpp, src/cg-relabel.cpp, src/cg3.h, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/inlines.hpp, src/interval_vector.hpp, src/istream.hpp, src/libcg3.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/parser_helpers.hpp, src/process.hpp, src/scoped_stack.hpp, src/sorted_vector.hpp, src/stdafx.hpp, src/test_libcg3.c, src/uextras.cpp, src/uextras.hpp, src/version.hpp: Copyright and rev bump 2016-01-25 tino * [r11254] src/Grammar.cpp, src/Set.hpp: Dirty way to add KEEPORDER where it is likely missing 2016-01-11 tino * [r11203] src/FSTApplicator.cpp: Handle trailing + in baseforms 2015-12-17 tino * [r11144] ChangeLog, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/version.hpp: In barrier context, don't test links 2015-12-03 tino * [r11104] ChangeLog, src/Cohort.cpp, src/version.hpp: Fix segfault 2015-11-27 tino * [r11079] CMakeLists.txt: Apply ELISPDIR patch from Alex Dunn to aid Homebrew packaging 2015-11-16 tino * [r11069] ChangeLog, TODO, src/GrammarApplicator_runRules.cpp, src/version.hpp, test/T_RegExp/expected.txt, test/T_RegExp/grammar.cg3, test/T_RegExp/grammar.cg3b.10043, test/T_RegExp/input.txt: Propagate regexp captures to other readings 2015-11-12 tino * [r11056] README, README.md: Add badge * [r11055] .travis.yml: But then clang doesn't work, of course * [r11054] .travis.yml: Le sigh... * [r11053] .travis.yml: Try Travic CI's container setup * [r11052] .travis.yml: Try a different CMake PPA * [r11051] .travis.yml: Wasn't prepared for Ubuntu 12.04 * [r11050] .travis.yml: Let's see if Travis CI works... 2015-11-10 tino * [r11048] .clang-format, clang-format.pl, src/GrammarApplicator_runRules.cpp, src/cg_proc.cpp: clang-format now gets Egyptian braces right 2015-11-05 tino * [r11038] src/cg_proc.cpp: Flush flush 2015-11-03 tino * [r11034] src/GrammarApplicator_runContextualTest.cpp: Don't clear readings again if we're at the current target * [r11032] ChangeLog, manual/contexts.xml, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/version.hpp, test/T_BasicSelect/expected.txt, test/T_BasicSelect/grammar.cg3, test/T_BasicSelect/grammar.cg3b.10043: Context modifier 'A' now works almost anywhere 2015-10-31 tino * [r11024] src/ApertiumApplicator.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/PlaintextApplicator.cpp, src/TextualParser.cpp, src/cg_proc.cpp, src/parser_helpers.hpp, src/process.hpp: Fixed based on Coverity Scan report - nothing that would ever affect real world execution 2015-10-14 tino * [r10993] ChangeLog, src/GrammarApplicator_runContextualTest.cpp, src/sorted_vector.hpp, src/version.hpp: Failure to find r,l should set result to false, and thus let NONE/NOT work as expected 2015-09-29 tino * [r10984] CMakeLists.txt: Better C++17/14/11 detection that also works * [r10983] CMakeLists.txt: Better C++17/14/11 detection 2015-09-23 tino * [r10982] manual/rules.xml, todo.sh: Documented SplitCohort 2015-09-22 tino * [r10980] src/GrammarApplicator_runRules.cpp: RemCohort segfault * [r10979] src/GrammarApplicator_runGrammar.cpp, test/T_SplitCohort/expected.txt, test/T_SplitCohort/grammar.cg3: Special case initial setvars so that delimiters can see them; SplitCohort test * [r10978] src/GrammarApplicator_runRules.cpp: SplitCohort handle named relations * [r10977] ChangeLog, clang-format.pl, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runRules.cpp, src/scoped_stack.hpp, src/version.hpp: Fix unification across contexts when there is no unification in target or capture * [r10976] src/CMakeLists.txt, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runRules.cpp, src/Rule.hpp, src/Set.hpp, src/Tag.hpp, src/cg_proc.cpp, src/scoped_stack.hpp: Code cleanup, a bit less actual static but more reuse 2015-09-21 tino * [r10975] .editorconfig, src/Cohort.hpp, src/GrammarApplicator_runContextualTest.cpp, src/SingleWindow.hpp: WIP kill global_number 2015-09-19 tino * [r10967] src/GrammarApplicator_runRules.cpp: Erase all knowledge of a removed cohort from the dep tree * [r10966] src/GrammarApplicator_runRules.cpp: Looping over a container while modifying it is generally a horrible idea * [r10964] ChangeLog, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/version.hpp, test/T_Omniscan/expected.txt: When dep has spanned, output in the form of window number + padded local number, rather than global number * [r10963] src/GrammarApplicator_runRules.cpp: Properly detach removed cohorts from the dependency tree 2015-09-18 tino * [r10961] src/GrammarApplicator_reflow.cpp: Fix segfault * [r10958] ChangeLog, manual/rules.xml, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/SingleWindow.hpp, src/version.hpp: Fix cohort ordering to be reliable across movement, insertion, removal, etc 2015-09-16 tino * [r10955] ChangeLog, src/Tag.cpp, src/version.hpp, test/T_NumericalTags/expected.txt: Fix bug where e.g. was considered numerical with value 0 2015-09-14 tino * [r10952] ChangeLog, src/GrammarApplicator_runRules.cpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/version.hpp, test/T_SplitCohort, test/T_SplitCohort/expected.txt, test/T_SplitCohort/grammar.cg3, test/T_SplitCohort/input.txt: Implement SplitCohort 2015-09-08 tino * [r10939] src/Cohort.hpp, src/GrammarApplicator_runContextualTest.cpp, src/SingleWindow.hpp: CentOS 6 fix 2015-09-07 tino * [r10938] TODO: ToDone * [r10937] ChangeLog, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/inlines.hpp, src/version.hpp: Make template ORs fully commutative 2015-08-30 tino * [r10925] src/TextualParser.cpp, src/inlines.hpp: Easier to read parsing 2015-08-26 unhammer * [r10923] test/T_RelabelList_Apertium/expected.txt: doh, flip the expected bit 2015-08-26 tino * [r10922] test/T_RelabelList/run.pl, test/T_RelabelSet/run.pl: Use -I and -O instead of < and >, to avoid Windows pipe conversion 2015-08-26 unhammer * [r10921] src/Relabeller.cpp, src/Relabeller.hpp: allow replacing tags with baseforms remove the special case for singletag->singletag relabelling, it wasn't transferring flags (T_BASEFORM) and it's handled by the relabel_as_list case anyway * [r10920] test/T_RelabelList_Apertium, test/T_RelabelList_Apertium/expected.txt, test/T_RelabelList_Apertium/grammar.cg3, test/T_RelabelList_Apertium/input.txt, test/T_RelabelList_Apertium/relabel.cg3r, test/T_RelabelList_Apertium/run.pl: test that fails with cg-proc (loops forever looking for a baseform relabelled by a non-T_BASEFORM tag) 2015-08-26 tino * [r10919] src/AST.hpp, src/CMakeLists.txt, src/TextualParser.cpp, src/TextualParser.hpp, src/stdafx.hpp: Print contents of textual AST nodes 2015-08-25 tino * [r10917] ChangeLog, TODO, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/version.hpp: OR'ed contexts also need deferred loading 2015-08-23 tino * [r10910] clang-format.pl, src/BinaryGrammar.cpp, src/Grammar.hpp, src/GrammarApplicator_runContextualTest.cpp, src/inlines.hpp: Statement-final * format 2015-08-23 unhammer * [r10909] test/T_Relabel: rm empty dir 2015-08-23 tino * [r10908] ChangeLog, clang-format.pl, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/Cohort.hpp, src/GrammarApplicator.hpp, src/Relabeller.cpp, src/Relabeller.hpp, src/Rule.hpp, src/Set.hpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/cg-relabel.cpp, src/libcg3.cpp, src/version.hpp: Fix formatting, auto_ptr 2015-08-23 unhammer * [r10907] src/Relabeller.cpp, src/Relabeller.hpp, src/Set.cpp, src/Set.hpp: more trie_reindex to Set.hpp; cleanup * [r10906] src/Relabeller.cpp: more warnings if weird relabel grammar * [r10905] src/Relabeller.hpp: rm unused debug function * [r10904] src/Relabeller.cpp, src/Relabeller.hpp, test/T_RelabelSet/expected.txt, test/T_RelabelSet/grammar.cg3, test/T_RelabelSet/input.txt, test/T_RelabelSet/relabel.cg3r: support for relabelling into a SET (with e.g. lista - listb) * [r10903] src/Relabeller.cpp, src/Relabeller.hpp: some refactoring * [r10902] src/Relabeller.cpp, src/Relabeller.hpp: some cleanup and notes * [r10901] src/Relabeller.cpp: s/for(auto)/boost_foreach(boring)/g to please our CentOS users * [r10900] src/Relabeller.cpp, src/cg-relabel.cpp: exit(1) unless first arg is a cg3b; less verbose * [r10899] test/T_Relabel/expected.txt, test/T_Relabel/grammar.cg3, test/T_Relabel/input.txt, test/T_Relabel/relabel.cg3r, test/T_Relabel/run.pl, test/T_RelabelList, test/T_RelabelList/expected.txt, test/T_RelabelList/grammar.cg3, test/T_RelabelList/input.txt, test/T_RelabelList/relabel.cg3r, test/T_RelabelList/run.pl, test/T_RelabelSet, test/T_RelabelSet/expected.txt, test/T_RelabelSet/grammar.cg3, test/T_RelabelSet/input.txt, test/T_RelabelSet/relabel.cg3r, test/T_RelabelSet/run.pl: update tests for bin cg-relabel * [r10898] src/cg-relabel.cpp: Warn on on textual grammars handed to cg-relabel * [r10897] src/CMakeLists.txt, src/Relabeller.cpp, src/Relabeller.hpp, src/cg-relabel.cpp, test/T_Relabel, test/T_Relabel/expected.txt, test/T_Relabel/grammar.cg3, test/T_Relabel/input.txt, test/T_Relabel/relabel.cg3r, test/T_Relabel/run.pl: cg-relabel command using binary grammars New relabel format (ab)using vislcg3 format: MAP (N) (n) OR (np) ; means relabel the tag N into n or np, alternatively: LIST N = n np; MAP (N) N; The from-part is only ever one tag, but the to-part can be several. Full-on SET's as to-parts still TODO, but should be doable. No longer uses GrammarWriter at all. Some cleanup TODO. 2015-08-21 tino * [r10893] src/TextualParser.cpp: Move AST Contexts and ContextsTarget * [r10892] ChangeLog, src/TextualParser.cpp, src/TextualParser.hpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/version.hpp: Added cmdline --dump-ast to output grammar parse tree 2015-08-19 tino * [r10891] ChangeLog, src/GrammarApplicator_runRules.cpp, src/TextualParser.cpp, src/version.hpp, test/T_BasicIff/grammar.cg3, test/T_MultipleSections/grammar.cg3, test/T_Trace/grammar.cg3: Warn if a rule doesn't end in ; 2015-08-19 unhammer * [r10890] emacs/cg.el: new cg-comment-or-uncomment function, bound to C-; and M-# demo at https://asciinema.org/a/25236 also, fix M-a/M-e so they don't fail if there's a set named "setn" etc. 2015-08-12 tino * [r10880] .clang-format, clang-format.pl, src/TextualParser.cpp: Update to clang-format 3.8 2015-08-11 tino * [r10877] ChangeLog, manual/templates.xml, src/GrammarApplicator.hpp, src/GrammarApplicator_runContextualTest.cpp, src/version.hpp: More template override fixing, and documentation * [r10876] ChangeLog, manual/templates.xml, src/GrammarApplicator_runContextualTest.cpp, src/version.hpp, test/T_Templates/expected.txt, test/T_Templates/grammar.cg3: Fix template position override so that pos/neg overrides check the min/max exit edges, rather than just the final exit; Fix linking from pos-overridden templates 2015-08-05 tino * [r10863] src/TextualParser.cpp: More g++ 4.2 fixes, the sequel * [r10862] src/TextualParser.cpp: More g++ 4.2 fixes * [r10861] CMakeLists.txt: Ware when changing negations and forgetting some * [r10860] CMakeLists.txt, src/TextualParser.cpp: Appease the ancient OS X gods 2015-08-04 tino * [r10855] ChangeLog, clang-format.pl, src/GrammarApplicator_runContextualTest.cpp, src/version.hpp: Allow POS_TMPL_OVERRIDE to progatate into OR'ed tests, because I can't figure out why I disallowed it in r4766 2015-07-24 tino * [r10846] clang-format.pl, src/options.hpp, src/options_conv.hpp: Forgot to rescue other enum-like lists from clang-format 2015-07-22 tino * [r10845] .clang-format, src/ContextualTest.hpp: Style * [r10844] .clang-format, clang-format.pl, src/ApertiumApplicator.cpp, src/ApertiumApplicator.hpp, src/BinaryGrammar.cpp, src/BinaryGrammar.hpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/Cohort.cpp, src/Cohort.hpp, src/CohortIterator.cpp, src/CohortIterator.hpp, src/ContextualTest.cpp, src/ContextualTest.hpp, src/FSTApplicator.cpp, src/FSTApplicator.hpp, src/FormatConverter.cpp, src/FormatConverter.hpp, src/Grammar.cpp, src/Grammar.hpp, src/GrammarApplicator.cpp, src/GrammarApplicator.hpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/GrammarWriter.hpp, src/IGrammarParser.hpp, src/NicelineApplicator.cpp, src/NicelineApplicator.hpp, src/PlaintextApplicator.cpp, src/PlaintextApplicator.hpp, src/Reading.cpp, src/Reading.hpp, src/Rule.cpp, src/Rule.hpp, src/Set.cpp, src/Set.hpp, src/SingleWindow.cpp, src/SingleWindow.hpp, src/Strings.cpp, src/Strings.hpp, src/Tag.cpp, src/Tag.hpp, src/TagTrie.hpp, src/TextualParser.cpp, src/TextualParser.hpp, src/Window.cpp, src/Window.hpp, src/bloomish.hpp, src/cg_comp.cpp, src/cg_conv.cpp, src/cg_proc.cpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/icu_uoptions.cpp, src/inlines.hpp, src/interval_vector.hpp, src/istream.hpp, src/libcg3.cpp, src/main.cpp, src/options.hpp, src/options_conv.hpp, src/parser_helpers.hpp, src/sorted_vector.hpp, src/stdafx.hpp, src/test_libcg3.c, src/uextras.cpp, src/uextras.hpp, src/version.hpp: Major style fixup based on clang-format, with wrapper to correct clang-format's bad ideas * [r10843] src/Strings.hpp: +, * [r10842] src/ContextualTest.hpp, src/FormatConverter.hpp, src/GrammarApplicator.hpp, src/Tag.hpp, src/flat_unordered_map.hpp, src/flat_unordered_set.hpp, src/options.hpp, src/options_conv.hpp: +, * [r10841] src/Grammar.cpp: -; * [r10840] src/ApertiumApplicator.cpp, src/PlaintextApplicator.cpp: Minor style fix * [r10839] src/ApertiumApplicator.cpp, src/BinaryGrammar_read.cpp, src/BinaryGrammar_read_10043.cpp, src/BinaryGrammar_write.cpp, src/CMakeLists.txt, src/Cohort.cpp, src/CohortIterator.cpp, src/FSTApplicator.cpp, src/Grammar.cpp, src/GrammarApplicator.cpp, src/GrammarApplicator_matchSet.cpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runGrammar.cpp, src/GrammarApplicator_runRules.cpp, src/GrammarWriter.cpp, src/NicelineApplicator.cpp, src/PlaintextApplicator.cpp, src/Reading.cpp, src/Rule.cpp, src/Set.cpp, src/SingleWindow.cpp, src/Tag.cpp, src/Tag.hpp, src/TextualParser.cpp, src/Window.cpp, src/cg_proc.cpp, src/libcg3.cpp, src/macros.hpp, src/main.cpp, src/parser_helpers.hpp, src/stdafx.hpp, test/runall.pl: Vastly nicer foreach macros 2015-07-21 tino * [r10838] src/GrammarWriter.cpp, src/Strings.cpp, src/Strings.hpp, src/TextualParser.cpp, src/stdafx.hpp: Disable some shadowing warnings for VS2015; Keep global shadowing and fix that instance 2015-07-02 tino * [r10827] CMakeLists.txt, src/CMakeLists.txt: Disable static library 2015-07-01 tino * [r10825] Doxyfile, all2unix.pl, make-naive.sh, scripts/auto-linux-wget.sh: Unused 2015-06-30 tino * [r10824] ChangeLog, scripts/profile-revisions.php, src/GrammarApplicator.hpp, src/GrammarApplicator_reflow.cpp, src/GrammarApplicator_runContextualTest.cpp, src/GrammarApplicator_runRules.cpp, src/version.hpp: More static and less static