[alicebot-archcomm] pluggable pattern processor
Anne Kootstra
alicebot-archcomm@list.alicebot.org
Tue, 4 Mar 2003 13:32:55 +0100
> > Gary Dubuque wrote:
> > In fact who needs a new tag, we could make it an attribute of the
> > <pattern> tag.
> >
> Ernest wrote:
> By introducing this, we would only transfer the problem - if
> it is really a problem - one level up without coming to a solution.
I agree with Ernest, this is not something that should be solved by adding
tags to the pattern language.
> > Gary Dubuque wrote:
> >
> > I want <srai> on the pattern side so I can call these pluggable
> > patterns from within the normal pattern recognition processing!
> > Actually, isn't that what <pp> really is? I'm all for it!
> > Let's do it and not the attribute on the <pattern> since we
> > wouldn't know precedence without the embedding.
As already stated by Ernest, there's no real advantage having <pp> or any
type of non-Graphmaster processing in the <pattern> that can not already be
achieved by server side scripting like PHP, Perl or JavaScript in the
<template>.
The Graphmaster should always be leading. Non-Graphmaster processing is
therefore always the second stage in the matching process. Like substitution
precedes the Graphmaster, the Graphmaster will precede non-Graphmaster
processing. Whether this be regular expression based, Perl or a custom
created one.
It is therefore not an expansion of the AIML Pattern side scripting language
but an extension. In my opinion an unnecessary one. As has been proven by
Ernest in his Program V database AIML code.
Ernest wrote:
> >
> > I think, it's better to extend the pattern language very carefully
> > and solve problems like match order there.
> >
> > Please see again http://alice.sunlitsurf.com/pipermail/alicebot-
> > patterns/2002-July/000253.html
I would certainly think that further integration of the substitution process
into the Pattern side language scripting be more appropriate then discussing
on the addition of non-AIML scripting languages. This is truly a solution
that involves the Graphmaster, and not a secondary matching system.
Although I have to note that such a technique can also be implemented in an
AIML development tool. This because the basic matching rules are not
changed. The same result that is achieved with the use of 'word-classes'
like @word can still be created in regular AIML. It only requires a bit more
work. However, the same can be said regarding C++ and Assembly.
--Anne
But that is just my opinion.