ButProdclassparser.t[1667]

Basic "but" rule, which selects a list of plurals minus a list of specifically excepted objects. This can be used to construct more specific production classes for things like "everything but the book" and "all books except the red ones".

In each grammar rule based on this class, the 'except_' property must be set to a suitable noun phrase for the exception list. We'll resolve this list and remove the objects in it from our main list.

class ButProd :   NounPhraseProd

Superclass Tree   (in declaration order)

ButProd
        NounPhraseProd
                BasicProd
                        object

Subclass Tree  

ButProd
        EverythingButProd
                terminalNounPhrase(allBut)
        IndefiniteNounButProd
                terminalNounPhrase(anyBut)
        ListButProd
                terminalNounPhrase(pluralExcept)

Global Objects  

(none)

Summary of Properties  

addedFlags 

Inherited from NounPhraseProd :
filterForCollectives 

Inherited from BasicProd :
firstTokenIndex  isSpecialResponseMatch  lastTokenIndex 

Summary of Methods  

filterFinalList  flagAllExcepted  getMainList  resolveNouns 

Inherited from NounPhraseProd :
filterTruncations  getVerifyKeepers 

Inherited from BasicProd :
canResolveTo  getOrigText  getOrigTokenList  setOrigTokenList 

Properties  

addedFlagsparser.t[1776]

by default, add no extra flags to our resolved object list

Methods  

filterFinalList (lst)parser.t[1773]

filter the final list - by default we just return the same list

flagAllExcepted (resolver, results)parser.t[1770]
flag an error - everything has been excluded by the 'but' list

getMainList (resolver, results)parser.t[1767]
get my main list, which is the list of items to include

resolveNouns (resolver, results)parser.t[1668]
no description available

TADS 3 Library Manual
Generated on 5/16/2013 from TADS version 3.1.3