%% This OTP, part of the Makor2 package, converts to the dagesh form
%% where appropriate. There are two mechanisms for adding a dagesh:
%% (1) an asterisk following the letter; and (2) doubling the letter.
input:
1;
output:
1;
aliases:
AST = 42
;
RAW_LETTER = (96-122)
;
ALIF = 96
;
VET = 97
;
GIMEL = 98
;
DALET = 99
;
HE = 100
;
VAV = 101
;
ZAYIN = 102
;
HET = 103
;
TET = 104
;
YOD = 105
;
FINALKHAF = 106
;
KHAF = 107
;
LAMED = 108
;
FINALMEM = 109
;
MEM = 110
;
FINALNUN = 111
;
NUN = 112
;
SAMEKH = 113
;
AYIN = 114
;
FINALPHE = 115
;
PHE = 116
;
FINALTSADI = 117
;
TSADI = 118
;
QOF = 119
;
RESH = 120
;
SHIN = 121
;
SAV = 122
;
SHINDOT = 176
;
SINDOT = 177
;
expressions:
%% First, the asterisk convention...
{RAW_LETTER}{AST} => #(\1 + 48)
;
{SHINDOT}{AST} => 192
;
{SINDOT}{AST} => 193
;
%% Now some special cases (more-or-less):
{SHIN}{SHINDOT} => 192
;
{SINDOT}{SHIN} => 193
;
%% Finally, the doubling convention.
{ALIF}{ALIF} => #(\1 + 48)
;
{VET}{VET} => #(\1 + 48)
;
{GIMEL}{GIMEL} => #(\1 + 48)
;
{DALET}{DALET} => #(\1 + 48)
;
{HE}{HE} => #(\1 + 48)
;
{VAV}{VAV} => #(\1 + 48)
;
{ZAYIN}{ZAYIN} => #(\1 + 48)
;
{HET}{HET} => #(\1 + 48)
;
{TET}{TET} => #(\1 + 48)
;
{YOD}{YOD} => #(\1 + 48)
;
{FINALKHAF}{FINALKHAF} => #(\1 + 48)
;
{KHAF}{KHAF} => #(\1 + 48)
;
{LAMED}{LAMED} => #(\1 + 48)
;
{FINALMEM}{FINALMEM} => #(\1 + 48)
;
{MEM}{MEM} => #(\1 + 48)
;
{FINALNUN}{FINALNUN} => #(\1 + 48)
;
{NUN}{NUN} => #(\1 + 48)
;
{SAMEKH}{SAMEKH} => #(\1 + 48)
;
{AYIN}{AYIN} => #(\1 + 48)
;
{FINALPHE}{FINALPHE} => #(\1 + 48)
;
{PHE}{PHE} => #(\1 + 48)
;
{FINALTSADI}{FINALTSADI}=> #(\1 + 48)
;
{TSADI}{TSADI} => #(\1 + 48)
;
{QOF}{QOF} => #(\1 + 48)
;
{RESH}{RESH} => #(\1 + 48)
;
{SHIN}{SHIN} => #(\1 + 48)
;
{SAV}{SAV} => #(\1 + 48)
;