Summary 18, Data structures 18, Templates 18 – Apple Newton Programmer’s Newton 2.0 (for Newton 2.0) User Manual
Page 667
C H A P T E R 1 8
Intelligent Assistant
Summary
18-21
Summary
18
Data Structures
18
Task Frame
18
// Returned by ParseUtter function
{
// original user input phrase
origphrase: ["
str1
", "
str2
", … "
strN
"],
// strings that matched registered templates
phrases: ["
aStr1
", "
aStr2
", … "
aStrN
"],
// strings that did not match registered templates
noisewords: ["
noiseStr1
", "
noiseStr2
", … "
noiseStrN
"],
// Aliases to soup entries that were matched
// You must use GetMatchedEntries fn to retrieve
entries: [
alias1
,
alias2
, …
aliasN
],
// formatted strings returned by lexical parse, if any
value : ["
lexStr1
", "
lexStr2
", … "
lexStrN
"],
// method that performs primary act
PostParse : func() begin … end,
// additional slots & methods defined in task template
…}
Templates
18
Task Template
18
// defines task and provides supporting objects & methods
myTask := {
isa: 'task_template, // Required. Must use this value
// Action template that defines lexicon for this task
primary_act:
myAct
, // Required.
// Required. Templates used by this task
signature: [
myTarget1
,
myAct1
, … ,
myTargetN
,
myActN
],
// Required. Names of slots created in the task frame
// as templates are matched
preconditions : ['
mySlot1
, '
mySlot2
, … '
mySlotN
],
// Required. Method that performs the task
PostParse: func() begin … end,