<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Sorry that I didn't get back to you on this. There is a certain
amount of flexibility in the way the system is set up, partly to
allow the use of other types of spelling rule, but it's
unnecessarily messy and I agree it would be useful to clear it
up. I wonder whether it would be good to specify a rule via
%affix rather than %irregular - although %affix without any
description will amount to `go and look it up in the irregulars
file', it could also be used to invoke any external component.
I'm reluctant to enforce this change in the LKB, since it could
cause working grammars to break in ways which are difficult to
debug, but there's presumably less of an issue of small legacy
grammars with ACE. Or you might think that the % syntax should
specify the external component, that %prefix / %suffix mean "the
rules I give here, plus an irregs file if present" while
%irregular means "just the irregular file". <br>
I can see it either way.<br>
</p>
<p>All best,</p>
<p>Ann<br>
</p>
<br>
<div class="moz-cite-prefix">On 01/07/2016 16:30, Woodley Packard
wrote:<br>
</div>
<blockquote
cite="mid:7281AA99-B95D-471E-A783-3DD9FCBF60D2@sweaglesw.org"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Thanks, Ann and Francis.
<div class=""><br class="">
</div>
<div class="">I agree with Ann’s improved characterization, of
course, and also that a warning would be helpful. I can have
ACE do two things: (1) warn if the STEM value is not
constrained to be string or some subtype thereof, and (2)
default to the empty string when an unexpected value comes up
during actual processing, but print a runtime warning.</div>
<div class=""><br class="">
</div>
<div class="">I think we ought to take this opportunity to further
clarify though the exact mechanism for flagging which category a
rule belongs to. The obvious and nearly status quo convention
would be that the non-TFS mechanism is invoked when %prefix or
%suffix is present in the specification of the rule. At the
moment we also invite rules into that category when there is an
irregular form declared in irregs.tab even if no %prefix and
%suffix is declared; arguably it would be more transparent to
add a %irregular declaration in-situ before this is legal (and
forbid irregs.tab entries for undeclared orthographemic rules).</div>
<div class=""><br class="">
</div>
<div class="">There may also be vestiges of other conventions
laying around, such as flagging by whether or not STEM is
reentrant and by ND-AFF. The latter is or was used by the ERG
(see spelling-change-rule-p from user-fns.lsp, reproduced below;
I have no sense of whether this is currently coherent since ACE
does not appear to heed it). If there isn’t a clear need for
them I propose that any such mechanisms be deprecated in favor
of something fully declarative and uniform.</div>
<div class=""><br class="">
</div>
<div class="">-Woodley</div>
<div class=""><br class="">
</div>
<div class="">ERG:</div>
<div class="">
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""><span style="font-variant-ligatures:
no-common-ligatures; color: #d53bd3" class="">(</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#ce7924" class="">defun</span> spelling-change-rule-p <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>rule<span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">)</span></div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; a function which is
used to prevent the parser </div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; trying to apply a rule
which affects spelling and</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; which should therefore
only be applied by the morphology</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; system. </div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; Old test was for
something which was a subtype of</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; *morph-rule-type* -
this tests for whether needs affix:</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; < ND-AFF > = +
(assuming bool-value-true is default value)</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; in the rule</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""> <span style="font-variant-ligatures:
no-common-ligatures; color: #d53bd3" class="">(</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#ce7924" class="">let</span> <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">((</span>affix <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>get-dag-value <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>tdfs-indef</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""> <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>rule-full-fs rule<span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">))</span> <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">'</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#34bbc7" class="">nd-aff</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">)))</span></div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""> <span style="font-variant-ligatures:
no-common-ligatures; color: #d53bd3" class="">(</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#ce7924" class="">and</span> affix <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>bool-value-true affix<span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">))))</span></div>
</div>
<div class=""><br class="">
</div>
<div class="">JACY:</div>
<div class="">
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;;</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; detect rules that have
orthographemic variation associated to them; those</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; who do should only be
applied within the morphology system; this version is</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; a little complicated
because we change from a full-form set-up to one with</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;; on-line morphology
during the course.</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;
color: rgb(83, 48, 225);" class="">;;;</div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""><span style="font-variant-ligatures:
no-common-ligatures; color: #d53bd3" class="">(</span><span
style="font-variant-ligatures: no-common-ligatures; color:
#ce7924" class="">defun</span> spelling-change-rule-p <span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">(</span>rule<span
style="font-variant-ligatures: no-common-ligatures; color:
#d53bd3" class="">)</span></div>
<div style="margin: 0px; font-size: 14px; font-family: Menlo;"
class=""> <span style="font-variant-ligatures:
no-common-ligatures; color: #d53bd3" class="">(</span>rule-orthographemicp
rule<span style="font-variant-ligatures: no-common-ligatures;
color: #d53bd3" class="">))</span></div>
</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jul 1, 2016, at 6:29 AM, Francis Bond <<a
moz-do-not-send="true" href="mailto:bond@ieee.org"
class=""><a class="moz-txt-link-abbreviated" href="mailto:bond@ieee.org">bond@ieee.org</a></a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">On Thu, Jun 30, 2016 at 3:17 PM, Woodley
Packard<br class="">
<<a moz-do-not-send="true"
href="mailto:sweaglesw@sweaglesw.org" class="">sweaglesw@sweaglesw.org</a>>
wrote:<br class="">
<blockquote type="cite" class="">In the case of Jacy, it
seems that the rule "vbar-monotransitivization-c-lrule"
neither declares orthographemic changes (by %suffix,
%prefix, or entries in the irregulars table) nor
declares a value for the mother’s STEM.<br class="">
</blockquote>
<br class="">
I think it would be ok to push the burden for this onto
grammar<br class="">
developers --- no need for the processor to guess. In
this case STEM<br class="">
should be linked, the rule and a couple of others are
poorly written<br class="">
and will be fixed. Perhaps a friendly warning if this
case is seen<br class="">
when compiling the grammar could help us avoid the issue
in the<br class="">
future?<br class="">
<br class="">
<br class="">
-- <br class="">
Francis Bond <<a moz-do-not-send="true"
href="http://www3.ntu.edu.sg/home/fcbond/" class="">http://www3.ntu.edu.sg/home/fcbond/</a>><br
class="">
Division of Linguistics and Multilingual Studies<br
class="">
Nanyang Technological University<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</blockquote>
<br>
</body>
</html>