Subject: ExpressionTree

Keywords: ::usage
          ::search
          ::directory

Title: Searching Directory Tree

--------------------------------------------------

From navigator, right click on directory will bring
up menu. The menu will have FilterTree*  button.
This button will bring up an expression tree (see Expression Trees )
to search the directory tree.

The following buttons will be available to build search expresion:.
NameSearch*  StringSearch*  TermMatch*  KindMatch*  DateMatch*   

NameSearch and StringSearch can be exploded to access boolean which
controls whether search is case sensistive (default is not). Search
strings are literal special chars and $. at front of string means
match only if string matches at start of line and at end matches 
end of line. TODO is to add real regular expressions.
However you can be fairly expressive using the logical search operators.

StringSearch searchs term of the object for occurences of string.

TermMatch will search term of object for occurrence of template. Matching
is placeholder match. Only wildcards allowed are placeholders and placeholders
match everything.

DateMatch compares date of last modification of object relative to current 
time.

KindMatch compares object kind, current kinds are:
DISP, ABS, STM, CODE, COM, TERM
PRF and INF are kinds, but generally they are not directly listed in
directories.

You can enter any object_id -> bool function as text in expression.
For example "directory_p", 
or "(\obid. let get_object_term obid in foobar t)" 
or "has_property `FooBar`".
NB. be sure to switch to text mode (see Term Text).


--------------------------------------------------

Authors: 

Contributors: NUPRL:t



Home