parser.tfile | source file |
Classes Summary | Objects Summary | Functions Summary Details |
TADS 3 Library: parser
This modules defines the language-independent parts of the command parser.
Portions based on xiny.t, copyright 2002 by Steve Breslin and incorporated by permission.
ActorResolveResults
AllInContainerNounPhraseProd
AllPluralProd
AmbigResponseKeeper
ArbitraryNounProd
BasicContainerResolver
BasicPossessiveProd
BasicProd
BasicResolveResults
BothPluralProd
ButPossessiveProd
ButProd
CancelCommandLineException
commandPhrase(ambiguousConj)
commandPhrase(definiteConj)
CommandProd
CommandProdWithActor
CommandProdWithAmbiguousConj
CommandProdWithDefiniteConj
CommandRanking
CommandRankingByProblem
CommandRankingByWeakness
CommandRankingCriterion
ContainerNounPhraseProd
ContainerResolver
DefiniteNounProd
DefinitePluralProd
DirectionProd
DisambigPossessiveProd
DisambigProd
EmptyLiteralPhraseProd
EmptyNounPhraseProd
EmptyTopicPhraseProd
EverythingButProd
EverythingProd
ExactQuantifiedPluralProd
ExactQuantifiedPossessivePluralProd
ExceptListProd
ExceptResolver
ExceptResults
firstCommandPhrase(commandOnly)
FirstCommandProd
FirstCommandProdWithActor
HerAdjProd
HerProd
HerselfProd
HersNounProd
HimProd
HimselfProd
HisAdjProd
HisNounProd
ImpliedActorNounPhraseProd
IndefiniteNounButProd
IndefiniteNounProd
ItProd
ItsAdjProd
ItselfProd
ItsNounProd
LayeredNounPhraseProd
ListButProd
LiteralProd
MeProd
MineNounProd
MissingObjectRanking
MyAdjProd
NounListProd
NounPhraseProd
NounPhraseWithVocab
OopsResults
ParseFailureException
ParserException
PluralProd
PossessiveNounProd
PossessivePluralProd
PossessivePronounAdjProd
PossessivePronounNounProd
PreResolvedAmbigProd
PreResolvedLiteralProd
PreResolvedProd
PronounProd
QuantifiedPluralProd
ReflexivePronounProd
ReplacementCommandStringException
ResolveAsker
ResolveInfo
ResolveResults
RetryCommandTokensException
SingleNounProd
SingleNounWithListProd
StillToResolveItem
TerminateCommandException
TheirAdjProd
TheirsNounProd
ThemProd
ThemselvesProd
TokenListProd
TopicProd
TryAsActorResolveResults
VagueContainerDefiniteNounPhraseProd
VagueContainerIndefiniteNounPhraseProd
VagueContainerNounPhraseProd
VagueContainerResolver
YouProd
YourAdjProd
YoursNounProd
rankByActorSpecified
rankByAllExcluded
rankByAmbiguity
rankByEmptyBut
rankByEndAdj
rankByIndefinite
rankByInsufficient
rankByListForSingle
rankByLiteralLength
rankByMiscWordList
rankByMissing
rankByNonMatch
rankByNonMatchPoss
rankByPluralTrunc
rankByPronoun
rankBySubcommands
rankByTokenCount
rankByTrunc
rankByUnwantedPlural
rankByVerbStructure
rankByVocabNonMatch
rankByWeakness
getResolvedObjects
intersectNounLists
spliceList
tryAskingForObject
tryOops
tryOopsMain
getResolvedObjects (lst) | parser.t[485] |
intersectNounLists (lst1, lst2) | parser.t[447] |
spliceList (lst, idx, newItems) | parser.t[4551] |
tryAskingForObject (issuingActor, targetActor, resolver, results, responseProd) | parser.t[4569] |
tryOops (tokList, issuingActor, targetActor, firstTokenIndex, cmdTokenList, cmdType) | parser.t[4349] |
If we find an unknown word and we can prompt for interactive resolution, we'll do so, and we'll throw an appropriate exception to handle the response. If we can't resolve the missing word interactively, we'll throw a parse failure exception.
If there are no undefined words in the command, we'll simply return.
tokList is the list of tokens under examination; this is a subset of the full command token list. cmdTokenList is the full command token list, in the usual tokenizer format. firstTokenIndex is the index of the first token in tokList within cmdTokenList.
cmdType is an rmcXxx code giving the type of input we're reading.
tryOopsMain (tokList, issuingActor, targetActor, firstTokenIndex, cmdTokenList, cmdType) | parser.t[4360] |