(Long) Re: Autocoding project proposal.

Timothy Rue threeseas at earthlink.net
Fri Feb 1 23:36:25 EST 2002


On 31-Jan-02 13:24:19 David Masterson <dmaster at synopsys.com> wrote:
>>>>>> Timothy Rue writes:

>> Language is abstraction, created in order to communicate, but it can
>> never completely communicate reality.  A pictures says a thousand
>> words..... And that ain't language.

>Yes it is.  Language exists in order to communicate an abstraction of
>reality from one entity (usually people, but it could also be animals)
>to another.  That abstraction can be as simple as "hunger" to as
>complex as the theory of relativity.  The same is true with pictures
>since they are also an abstraction of reality and are used to
>communicate what something (might have) looked like at some time.
>There are many pictographic languages around.

>> This project would move forward faster if people would chose to
>> help.  And the sooner it get more complete the sooner more can be
>> explained by way of example.

>We *CANNOT* help if we cannot understand the abstraction of reality
>that this project represents.  You must find the proper language by
>which to communicate that abstraction.

>> #! Python

>I don't know Python (yet), but I think I get the idea.

>> # PK file array - VIC Dictionary
>> # Setting the standard variables to defaults

>For brevity, I'm going to cut out your code and simply comment on it.

>> vic = {

>* Your case statement doesn't provide any info on what the VIC is
>  supposed to do.  It appears to be merely creating an array.

>> # Test!!!

>* Your test is merely a printout of various array items -- again, no
>  info on what the VIC is supposed to do.

>> /*Reading in the PK file.

>* Okay, I assume you get some information from the PK file, but I see
>  nothing to tell me what it's supposed to contain.

>>     current_line = READLN('PK_file')
>>     PARSE VAR current_line vic.1 ':' vic.1.1 ';' vic.1.2 ';' vic.1.3

>* Whoops, there is some reading going on here and a basic format
>  (lines of "something" with 4 fields separated by ":" and ";").

>> /* Writing the PK file */

>* Writing?  We haven't done anything with what we read in yet?

>> CLOSE('PK-file-out')

>* What was achieved in this program?  Did you merely rearrange the
>  data in the PK file?  If so, why?



Ok, What you saw wasn't the all that I had, the following is, (though not
as much of it as the last post, has been converted to python)..

There is code that has been converted to python, code that is still in
arexx form needing to be converted to python and more that hasn't been put
into either arexx or python.

What is between /* and */ are arexx type comments.

Along the way there is code for testing such as printing and writing and
reading a file, the PK file. The PK file keeps track of information
regarding the other commands, the information they make use of.

the "SAY" command is Arexx and like the Prints statement. For now there is
alot of say/print that can later be easily changed to a function call that
does something more. But for now the say/print allows us to know we are
getting the to the point of a place for a function call.


The sections like:

    WHEN input_command = AI THEN SELECT

        WHEN user_instruction = r1 THEN SAY vic.1.1
        WHEN user_instruction = r2 THEN SAY vic.1.2
        WHEN user_instruction = r3 THEN SAY vic.1.3

        WHEN user_instruction = c1 THEN vic.1.1=change2make
        WHEN user_instruction = c2 THEN vic.1.2=change2make
        WHEN user_instruction = c3 THEN vic.1.3=change2make

Are short direct accesses to the array.


maybe read the later half of http://www.mindspring.com/~timrue/KC.html
web page where you might recognize the below as being taken from it.

The PK file and it's manipulation will alter the direction the VIC takes
in doing things.



#! Python

# PK file array - VIC Dictionary
# Setting the standard variables to defaults

vic = {

    'AI': {
        'AI_1': AI_name_number,
        'AI_2': PK_file_directory,
        'AI_3': Current_Directory },

    'PK': {
        'PK_1': PK_filename,
        'PK_2': last_alt_PK_filename,
        'PK_3': default_PK_filenane },

    'OI': {
        'OI_1': OI_filename,
        'OI_2': last_alt_OI_filename,
        'OI_3': opt_default_OI_filename },

    'IP': {
        'IP_1': device,
        'IP_2': preprocess_or_Class,
        'IP_3': BOI_EOI,
        'IP_4': opt_last_alt_set },

    'OP': {
        'OP_1': device,
        'OP_2': postprocess_or_Class,
        'OP_3': BOO_EOO,
        'OP_4': opt_last_alt_set },

    'SF': {
        'SF_1': SF_LPC_flags,
        'SF_2': last_alt_flags,
        'SF_3': SF_fname_at_line_no,
        'SF_4': opt_last_alt_set,
        'SF_5': SF_filename_at_line_no_running_stack },

    'IQ': {
        'IQ_1': IQ_flags,
        'IQ_2': last_alt_flags,
        'IQ_3': IQ_fname_at_line_no,
        'IQ_4': opt_last_alt_set,
        'IQ_5': IQ_filename_at_line_no_running_stack },

    'ID': {
        'ID_1': ID_flags,
        'ID_2': last_alt_flags,
        'ID_3': ID_fname_at_line_no,
        'ID_4': opt_last_alt_set,
        'ID_5': ID_filename_at_line_no_running_stack },

    'KE': {
        'KE_1': Master_teeth,
        'KE_2': last_alt_Master_teeth,
        'KE_3': KE_fname,
        'KE_4': opt_last_alt_set }

}



/* Test!!!
SAY vic.1":" vic.1.1";"vic.1.2";"vic.1.3
SAY vic.2":" vic.2.1";"vic.2.2";"vic.2.3
SAY vic.3":" vic.3.1";"vic.3.2";"vic.3.3
SAY vic.4":" vic.4.1";"vic.4.2";"vic.4.3
SAY vic.5":" vic.5.1";"vic.5.2";"vic.5.3
SAY vic.6":" vic.6.1";"vic.6.2";"vic.6.3
SAY "  "vic.6.5
SAY vic.7":" vic.7.1";"vic.7.2";"vic.7.3
SAY "  "vic.7.5
SAY vic.8":" vic.8.1";"vic.8.2";"vic.8.3
SAY "  "vic.8.5
SAY vic.9":" vic.9.1";"vic.9.2";"vic.9.3
*/

/*==================================*/
/*Reading in the PK file.
  If no filename is present then read default.
  if default does not exist, warn and create*/

PKfilename = 0

/*check internal variables*/

IF vic.2.1 > '' THEN PKfilename = vic.2.1

    ELSE DO

    IF VIC.2.2 > '' THEN PKfilename = vic.2.2

        END


/* If above fails try "default.pk" */

IF PKfilename = 0 THEN DO

    IF EXISTS(vic.2.3) = 0 THEN DO

    SAY 'WARNING: default PK file ('vic.2.3') not available. Creating It'

    /* create/write PK file from internal default*/

        END

    ELSE PKfilename = vic.2.3

    END


IF PKfilename ~= 0 THEN DO

    IF OPEN('PK_file',PKfilename,'R') ~= 0 THEN DO

    /* read the result file if available */

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.1 ':' vic.1.1 ';' vic.1.2 ';' vic.1.3

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.2 ':' vic.2.1 ';' vic.2.2 ';' vic.2.3

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.3 ':' vic.3.1 ';' vic.3.2 ';' vic.3.3

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.4 ':' vic.4.1 ';' vic.4.2 ';' vic.4.3

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.5 ':' vic.5.1 ';' vic.5.2 ';' vic.5.3

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.6 ':' vic.6.1 ';' vic.6.2 ';' vic.6.3
    vic.6.5 = READLN('PK_file')

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.7 ':' vic.7.1 ';' vic.7.2 ';' vic.7.3
    vic.7.5= READLN('PK_file')

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.8 ':' vic.8.1 ';' vic.8.2 ';' vic.8.3
    vic.8.5 = READLN('PK_file')

    current_line = READLN('PK_file')
    PARSE VAR current_line vic.9 ':' vic.9.1 ';' vic.9.2 ';' vic.9.3

/* this is how we will keep track of sf,iq,id line numbers ???*/

    SAY SEEK('PK_file',0,'C')


        END


    ELSE DO

        SAY  "variable_pkfile not available"

        END

    END


/*=====================*/
/* Writing the PK file */

SAY OPEN('PK-file-out','*','W')

WRITELN('PK-file-out',vic.1":"vic.1.1";"vic.1.2";"vic.1.3)
WRITELN('PK-file-out',vic.2":"vic.2.1";"vic.2.2";"vic.2.3)
WRITELN('PK-file-out',vic.3":"vic.3.1";"vic.3.2";"vic.3.3)
WRITELN('PK-file-out',vic.4":"vic.4.1";"vic.4.2";"vic.4.3)
WRITELN('PK-file-out',vic.5":"vic.5.1";"vic.5.2";"vic.5.3)
WRITELN('PK-file-out',vic.6":"vic.6.1";"vic.6.2";"vic.6.3)
WRITELN('PK-file-out',vic.6.5)
WRITELN('PK-file-out',vic.7":"vic.7.1";"vic.7.2";"vic.7.3)
WRITELN('PK-file-out',vic.7.5)
WRITELN('PK-file-out',vic.8":"vic.8.1";"vic.8.2";"vic.8.3)
WRITELN('PK-file-out',vic.8.5)
WRITELN('PK-file-out',vic.9":"vic.9.1";"vic.9.2";"vic.9.3)

CLOSE('PK-file-out')

/*====================================*/
/* passing lines not used by the vic */

/*vic.5.1 = 'rexx_csh'

line_to_pass =   dir /*'echo "line to_pass via OP setting"'*/

ADDRESS VALUE vic.5.1 ; line_to_pass*/

echo vic.

echo "line to_pass via OP setting  vic"

/*============================================*/
DO FOREVER
OPTIONS PROMPT "INPUT PLEASE:"
PULL input_command user_instruction change2make

SELECT

    WHEN input_command = AI THEN SELECT

        WHEN user_instruction = r1 THEN SAY vic.1.1
        WHEN user_instruction = r2 THEN SAY vic.1.2
        WHEN user_instruction = r3 THEN SAY vic.1.3

        WHEN user_instruction = c1 THEN vic.1.1=change2make
        WHEN user_instruction = c2 THEN vic.1.2=change2make
        WHEN user_instruction = c3 THEN vic.1.3=change2make


/* AI Sets up the PK file and makes available the internal commands.
   May be used with any of the following options*/

     /*AI or -n name*/
        WHEN user_instruction = '' THEN SAY "startup of AI w/defaults"

        WHEN user_instruction = '-'n THEN SAY "startup w/AI file"

     /*AI -pk filename or filename.pk*/
        WHEN user_instruction = '-'pk THEN vic.2.1=change2make

        WHEN user_instruction = .pk THEN SAY "startup w/.pk file"

     /*AI -oi filename or filename.oi */
        WHEN user_instruction = '-'oi THEN vic.3.1=change2make

        WHEN user_instruction = .oi THEN SAY "startup w/.OI file"

     /*AI -ip (set options) or -i (set options) */

        WHEN user_instruction = '-'ip THEN vic.4.1=changes2make

        WHEN user_instruction = '-'i THEN SAY "startup w/i (ip) settings"

     /*AI -op (set options) or -o (set options) */
        WHEN user_instruction = '-'op THEN SAY "startup w/op settings"

        WHEN user_instruction = '-'o THEN SAY "startup w/i (op) settings"

     /*AI -sf filename at line# or filename.sf at line# */
        WHEN user_instruction = '-'sf THEN SAY "startup w/sf file at line#"

        WHEN user_instruction = .sf THEN SAY "startup w/.sf file at line#"

     /*AI -iq filename or filename.iq */
        WHEN user_instruction = '-'iq THEN SAY "startup w/iq file"

        WHEN user_instruction = .iq THEN SAY "startup w/.iq file"

     /*AI -id filename or filename.id */
        WHEN user_instruction = '-'id THEN SAY "startup w/id file"

        WHEN user_instruction = .id THEN SAY "startup w/.id file"

     /*AI -ke filename or filename.ke */
        WHEN user_instruction = '-'ke THEN SAY "startup w/ke file"

        WHEN user_instruction = .ke THEN SAY "startup w/.ke file"

     /* AI -? or AI -h */
        WHEN user_instruction = '-'? THEN SAY "AI help"

        WHEN user_instruction = '-'h THEN SAY "AI HELP"

     /*AI -d  or -w debug/watch toggle */
        WHEN user_instruction = '-'d THEN SAY "startup w/debug"

        WHEN user_instruction = '-'w THEN SAY "startup w/watch"

     /*AI exit or -x AI configuration */
        WHEN user_instruction = exit THEN SAY "exit AI configuration"

        WHEN user_instruction = '-'e THEN SAY "Exit AI configuration"


/* Example: AI -pk DF1:Testfile script.sf -ke Holder */

        OTHERWISE SAY "AI instruction not valid!!"
        END



    WHEN input_command = PK THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.2.1
        WHEN user_instruction = r2 THEN SAY vic.2.2
        WHEN user_instruction = r3 THEN SAY vic.2.3

        WHEN user_instruction = c1 THEN vic.2.1=change2make
        WHEN user_instruction = c2 THEN vic.2.2=change2make
        WHEN user_instruction = c3 THEN vic.2.3=change2make


/*PK*/

    /* PK returns PK pk line*/
        WHEN user_instruction = '' THEN SAY vic.2.1 vic.2.2 vic.2.3


    /* PK -? help on PK*/

        WHEN user_instruction = '-'? THEN SAY PK help

     /*--------------------------------------------------*/

     /*PK pk toggle positions 1 & 2*/

        WHEN user_instruction = pk THEN SAY vic.2.2 vic.2.1 vic.2.3

     /*PK pk(filename)             make pk file current*/

        WHEN user_instruction = pk.file THEN SAY pk.file vic.2.1 vic.2.3

     /*PK -c pk                    cancel current pk file*/

        WHEN user_instruction = '-'c.pk THEN SAY vic.2.2 ',' ',' vic.2.3

     /*PK -c pk(filename)          replace current with*/

        WHEN user_instruction = '-'c.pk.file THEN SAY c.pk.file vic.2.2 vic.2.3

/*---------------------------------------------------------------------*/

     /*PK oi                       toggle positions 1 & 2*/

     /*PK oi(filename)             make oi file current*/

     /*PK -c oi                    cancel current io file*/

     /*PK -c oi(filename)          replace current with*/

/*---------------------------------------------------------------------*/

     /*PK ip                       toggle positions 1 & 2*/

     /*PK ip(set-options)          make ip set current*/

     /*PK -c ip                    cancel current ip set*/

     /*PK -c ip(set-options)       replace current with*/

/*---------------------------------------------------------------------*/

     /*PK op                       toggle position 1 & 2*/

     /*PK op(set-options)          make op set current*/

     /*PK -c op                    cancel current op set*/

     /*PK -c op(set-options)       replace current with*/

/*---------------------------------------------------------------------*/

/*     PK sf                       swaps current sf filename at line# with
                                 previous sf filename at line#

     PK sf filename at line#...     add filename at line# to top of stack

     PK -c sf                    cancels PK SF line

     PK -c sf filename at line#...  changes PK SF line to
                                 *note this can be rather destructive
                                 to script execution and OI var lists

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

     PK iq                       swaps current iq filename at line# with
                                 previous iq filename at line#

     PK iq filename at line#...     make IQ file current or put on top
                                 of stack

     PK -c iq                    cancels PK IQ line

     PK -c iq filename at line#...  changes PK IQ line to

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

     PK id                       swaps current id filename at line# with
                                 previous id filename at line#

     PK id filename at line#...     make ID file current or put on top
                                 of stack

     PK -c id                    cancels PK ID line

     PK -c id filename at line#...  changes PK ID line to

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

     PK ke                       toggles positions 1 & 2

     PK ke filename              make ke file current keychain

     PK -c ke                    cancel current keychain file

     PK -c ke filename           replace current keychain file with
*/
        OTHERWISE SAY PK help
        END


/*OI*/


    WHEN input_command = OI THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.3.1
        WHEN user_instruction = r2 THEN SAY vic.3.2
        WHEN user_instruction = r3 THEN SAY vic.3.3

        WHEN user_instruction = c1 THEN vic.3.1=change2make
        WHEN user_instruction = c2 THEN vic.3.2=change2make
        WHEN user_instruction = c3 THEN vic.3.3=change2make

        OTHERWISE SAY OI help
        END

/*
OI

     OI                          returns PK OI line

     OI -?                       help on OI

     OI -oi                      returns current list of vars & values

     OI variable                 gets input from user into variable
                                 value using IP set. if input is
                                 greater than 255 a file is created
                                 and input is to file and value is
                                 set to filename O#I.var where # is
                                 unique (perhaps filedate/time/AI#)

     OI -c var                   cancels variable

     OI -c var value             creates/changes var value

*/

    WHEN input_command = IP THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.4.1
        WHEN user_instruction = r2 THEN SAY vic.4.2
        WHEN user_instruction = r3 THEN SAY vic.4.3

        WHEN user_instruction = c1 THEN vic.4.1=change2make
        WHEN user_instruction = c2 THEN vic.4.2=change2make
        WHEN user_instruction = c3 THEN vic.4.3=change2make

        OTHERWISE SAY IP help
        END

/*
IP            only affects OI

     IP                          returns PK IP line

     IP -?                       help on IP

*/

    WHEN input_command = OP THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.5.1
        WHEN user_instruction = r2 THEN SAY vic.5.2
        WHEN user_instruction = r3 THEN SAY vic.5.3

        WHEN user_instruction = c1 THEN vic.5.1=change2make
        WHEN user_instruction = c2 THEN vic.5.2=change2make
        WHEN user_instruction = c3 THEN vic.5.3=change2make

        OTHERWISE SAY OP help
        END
/*
OP            only affects ID, IQ

     OP                          returns PK OP line

     OP -?                       help on OP

*/
    WHEN input_command = SF THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.6.1
        WHEN user_instruction = r2 THEN SAY vic.6.2
        WHEN user_instruction = r3 THEN SAY vic.6.3

        WHEN user_instruction = c1 THEN vic.6.1=change2make
        WHEN user_instruction = c2 THEN vic.6.2=change2make
        WHEN user_instruction = c3 THEN vic.6.3=change2make

        OTHERWISE SAY SF help
        END

/*
SF

     SF                          returns PK SF line

     SF -?                       help on SF

     SF -sf                      returns SF line contents

     SF filename at line#...        returns given filename at line# contents

*/

    WHEN input_command = IQ THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.7.1
        WHEN user_instruction = r2 THEN SAY vic.7.2
        WHEN user_instruction = r3 THEN SAY vic.7.3

        WHEN user_instruction = c1 THEN vic.7.1=change2make
        WHEN user_instruction = c2 THEN vic.7.2=change2make
        WHEN user_instruction = c3 THEN vic.7.3=change2make

        OTHERWISE SAY IQ help
        END

/*
IQ

     IQ                          returns PK IQ line.

     IQ -?                       help on IQ

     IQ -iq                      returns IQ search path based on
                                 KEychain.

     IQ -iq word                 returns IQ search path based on
                                 KEychain and word

     IQ word                     Searches for word using KEychain
                                 access and executes line_contents
                                 commands based on KEychain teeth
                                 and OP set.

     IQ -c word                  Cancels word/line_contents from
                                 file(s) using KEychain access.


     IQ -c word line_contents    Creates or Changes word/line_contents
                                 using KE keychain access for search.
                                 If Creating it will add to the end of
                                 path - end of path is end if first
                                 file.

*/

    WHEN input_command = ID THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.8.1
        WHEN user_instruction = r2 THEN SAY vic.8.2
        WHEN user_instruction = r3 THEN SAY vic.8.3

        WHEN user_instruction = c1 THEN vic.8.1=change2make
        WHEN user_instruction = c2 THEN vic.8.2=change2make
        WHEN user_instruction = c3 THEN vic.8.3=change2make

        OTHERWISE SAY ID help
        END

/*
ID
          Test word for being a var, var-contents, alias, alias
          contents, IQ word, directory, file. If file will try to
          determine type of file. executes commands based upon
          findings (wordf).
          Tests what the word is in relationship to the related AI
          system.

     ID                          returns PK ID line.

     ID -?                       help on ID

     ID -id                      returns ID search path based on
                                 KEychain.

     ID -id word                 returns ID search path based on
                                 KEychain and wordf

     ID word                     Searches for wordf using KEychain
                                 access and executes line_contents
                                 commands based on KEychain teeth
                                 and OP set.

     ID -c wordf                 Cancels word/line_contents from
                                 file(s) using KEychain access.


     ID -c wordf line_contents   Creates or Changes word/line_contents
                                 using KE keychain access for search.
                                 If Creating it will add to the end of
                                 path - end of path is end if first
                                 file.
*/



    WHEN input_command = KE THEN SELECT
        WHEN user_instruction = r1 THEN SAY vic.9.1
        WHEN user_instruction = r2 THEN SAY vic.9.2
        WHEN user_instruction = r3 THEN SAY vic.9.3

        WHEN user_instruction = c1 THEN vic.9.1=change2make
        WHEN user_instruction = c2 THEN vic.9.2=change2make
        WHEN user_instruction = c3 THEN vic.9.3=change2make

        OTHERWISE SAY KE help
        END

/*
KE
               To be used by IQ and ID mainly.

     KE                          returns PK KE line.

     KE -?                       help on KE.

     KE -ke                      returns current keychain list w/values.

     KE keyname                  returns value of keyname if exist.

     KE -c keyname               cancels keyname.

     KE -c keyname key-teeth     creates or changes keyname.

*/


    OTHERWISE SAY Not Valid command':>' input_command user_instruction change2make
    LEAVE
    END

/* Writing the PK file */

SAY OPEN('PK-file-out','*','W')

WRITELN('PK-file-out',vic.1":"vic.1.1";"vic.1.2";"vic.1.3)
WRITELN('PK-file-out',vic.2":"vic.2.1";"vic.2.2";"vic.2.3)
WRITELN('PK-file-out',vic.3":"vic.3.1";"vic.3.2";"vic.3.3)
WRITELN('PK-file-out',vic.4":"vic.4.1";"vic.4.2";"vic.4.3)
WRITELN('PK-file-out',vic.5":"vic.5.1";"vic.5.2";"vic.5.3)
WRITELN('PK-file-out',vic.6":"vic.6.1";"vic.6.2";"vic.6.3)
WRITELN('PK-file-out',vic.6.5)
WRITELN('PK-file-out',vic.7":"vic.7.1";"vic.7.2";"vic.7.3)
WRITELN('PK-file-out',vic.7.5)
WRITELN('PK-file-out',vic.8":"vic.8.1";"vic.8.2";"vic.8.3)
WRITELN('PK-file-out',vic.8.5)
WRITELN('PK-file-out',vic.9":"vic.9.1";"vic.9.2";"vic.9.3)

CLOSE('PK-file-out')

END

/*=====================*/
/* Writing the PK file */

SAY OPEN('PK-file-out','test.pk','W')

WRITELN('PK-file-out',vic.1":"vic.1.1";"vic.1.2";"vic.1.3)
WRITELN('PK-file-out',vic.2":"vic.2.1";"vic.2.2";"vic.2.3)
WRITELN('PK-file-out',vic.3":"vic.3.1";"vic.3.2";"vic.3.3)
WRITELN('PK-file-out',vic.4":"vic.4.1";"vic.4.2";"vic.4.3)
WRITELN('PK-file-out',vic.5":"vic.5.1";"vic.5.2";"vic.5.3)
WRITELN('PK-file-out',vic.6":"vic.6.1";"vic.6.2";"vic.6.3)
WRITELN('PK-file-out',vic.6.5)
WRITELN('PK-file-out',vic.7":"vic.7.1";"vic.7.2";"vic.7.3)
WRITELN('PK-file-out',vic.7.5)
WRITELN('PK-file-out',vic.8":"vic.8.1";"vic.8.2";"vic.8.3)
WRITELN('PK-file-out',vic.8.5)
WRITELN('PK-file-out',vic.9":"vic.9.1";"vic.9.2";"vic.9.3)

CLOSE('PK-file-out')

/**********************************************************************


File/Line Formats

OI - "variable : value : opt comment"

IP - "input type/format : input device : end of input char"

OP - "output type/format : output device : selection flags"

    selection flags:

                   -f = First match
                   -a = All matches
                   -b = Best match
                   -e = Exact match(s)
                   -l = Last match

                   -w = wait until search is complete before applying
                        found. A temp file is used to hold findings.
    IQ only?       -d = dual/two way pattern matching
    IQ only?       -s = soundex (a future application maybe)

                   -p at name = position name of match(s) contents to use.
                            These variables are related to key-teeth.
                            (may specify more than one)
                   *note: standards on -p at name use should be developed.

ID - "wordf to test : command-line to do testing : command/contents
                                                   -p at name posititions"

     If file - lines beginning with FILE>var will be tested:

     "FILE>type : command-line to do testing : command/contents
                                               -p at name positions"

     "keychain-pattern : keyname : file to check"


IQ - "word-pattern : opt command-line if match : command/contents
                                                 -p at name posititions"

     "keychain-pattern : keyname : file to check"

---------------
KE - "keyname:key-teeth/-p at name (to compare w/file-comment):level-check"

            key-teeth/-p at name:
     user definable but defaults/examples are:

                            -t = text
                            -e = executable calls
                            -s = shell script code
                            -ed = education
                            -ref = referance
                            -appl = application

When the keychain is called:
                          :: key-name is looked for in current KE file
                            and if found... does level-check...
***file-comment/OP-p at name 1: key-teeth/-p at name are compared with file
                            comment and if there is a fit...
***ID/IQ LISTS            2: ID/IQ list is searched for a
                            path:filename(date) match and if not found
                            then adds filename to top of stack and list.
                            If found then...
                          3: PK's ID/IQ line is searched for filename
                            and if found moves it to top of stack and
                            picks up at line#. If not found then skips
                            filename (it's already been looked at)...

NEED TO PUT MORE THOUGHT INTO THIS!!!
***********************************************************************

                    ----- END OF DOCUMENT -----
*/


/*--------------------------------------------------------------------------
Search on my name at http://www.dejanews.com for other posts/peices.

   Timothy Rue                             Email: timrue at mindspring.com
                Virtual Interaction Configuration Web Page:
                    http://www.mindspring.com/~timrue/
   A Contribution to the Paradigm Shift of software development and use.
--------------------------------------------------------------------------*/




More information about the Python-list mailing list