OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-link-grammar / data / amy / 4.0.affix

67 lines · affix ref:
#include /any/affix-punc

% Mark the first morpheme by appending STEMSUBSCR.
% The dot is currently converted to SUBSCRIPT_MARK ('\x03').
.=: STEMSUBSCR+;

% Mark the rest of morphemes by prepending INFIXMARK
=: INFIXMARK+;

% Program and dictionary sanity check: Allow only these combinations.
% (w: word, p:prefix, m:middle, t:stem, s: suffix)
%
% See the file sane.c circa line 120 for details
% (or grep for AFFIXTYPE in the code).
"w|ts|pts|pms|pmss|ptss|ps|ts": SANEMORPHISM+;


% Anysplit parameters

% A PCRE2 regex defining a character sequence that shouldn't get split.
% The LG library must be configured with PCRE2 in order to use it. If not,
% or if this definition is missing, a single utf8 codpoint is used  as a
% byte sequence that should not get split.
%#define atomic-unit "\X";       % split at grapheme boundaries.
#define atomic-unit "\X\pM*";   % ... but include trailing mark codepoints.

% Maximum number of word partitions
% FYI: 3 barely works, 4 and higher mostly do not work.
% 6: REGPARTS+;
3: REGPARTS+;

% Number of alternatives to issue for a word. Two values: minimum and maximum.
% If the word has more possibilities to split than the minimum, but less
% than the maximum, then issue them without sampling. Else use pseudo-random
% sampling until the minimum number is reached or all possibilities exhausted.
% 10 20: REGALTS+;
2 16: REGALTS+;

% When all word parts match these regexes,
% the word is issued as an alternative.
% Multiple regexes per class are permitted.
%
% The word parts currently contain at least one character
% (null morphemes are not supported).

% Regex to match the first, middle and last parts of word partitions.
% If one of them don't match, the candidate alternative is rejected.
% Currently, REGPRE is always used to match the first partition (or the
% whole word for an alternative with no partitioning), and REGSUF always
% for the last partition.

% These regexes use the PCRE2 pattern syntax.
% The LG library must be configured with PCRE2 in order to use them.
% For ASCII input, the empty regexes can be used.
% See the comments in 4.0.affix.

"" : REGPRE+;

% Regex to match the middle parts.
"" : REGMID+;
%".{2,}": REGMID+;

% Regex to match the suffix.
"" : REGSUF+;

% End of Anysplit parameters.