;;;Takes a READ-LINE string from a lisp file and adds only the user symbols ;;;which are found prior to any ; to the list 'alltokens' if they are not ;;;already in the list. ;;; ;;;> Author: Henry C. Francis ;;;> 425 N. Ashe St. ;;;> Southern Pines, NC 28387 ;;;> http://paracadd.com ;;;> All rights reserved. ;;; ;;;> COPYRIGHT: 01-20-2007 ;;;> EDITED: 01-22-2007 ;;; (DEFUN addtokens (txt_line /) (IF allatoms_lst NIL (list_allatoms) ) (SETQ stop_this_x NIL) (SETQ linetoken_lst (DOS_STRTOKENS txt_line " \t \n ) \" < >")) (FOREACH x linetoken_lst (IF (WCMATCH x ";*") (SETQ stop_this_x T) (PROGN (IF (OR stop_this_x (NOT (WCMATCH x (STRCAT (CHR 40) "*"))) (EQ x (CHR 40)) (MEMBER x alltokens) (EQ x "") (WCMATCH x (STRCAT (CHR 40) "#*")) (WCMATCH x (STRCAT (CHR 40)(CHR 40) "#*")) (WCMATCH x (STRCAT (CHR 40) "-#*")) (WCMATCH x (STRCAT (CHR 40)(CHR 40) "-#*")) ;;; (WCMATCH x "*[`~ `, `? _ `! { } = `\ / : < > ]*") ;;; (WCMATCH x "*`[*") ;;; (WCMATCH x "*`]*") (MEMBER (STRCASE x) allatoms_lst) (MEMBER (STRCASE x) (MAPCAR '(lambda (y) (STRCAT (chr 40) y)) allatoms_lst) ) ;_ end of MEMBER (MEMBER (STRCASE x) (MAPCAR '(lambda (y) (STRCAT (chr 40)(chr 40) y)) allatoms_lst) ) ;_ end of MEMBER ) ;_ end of OR NIL (SETQ alltokens (APPEND alltokens (LIST x))) ) ;_ end of IF ) ;_ end of PROGN ) ;_ end of IF ) ;_ end of foreach (IF debug_tokens (PROGN (PRINC "\nlinetoken_lst=") (PRINC linetoken_lst) ) ) ) ;_ end of DEFUN (DEFUN list_allatoms () (SETQ allatoms_lst '("TEXT" "MTEXT" "DIMENSION" "ATTRIB" "LEADER" "CIRCLE" "ARC" "POLYLINE" "VERTEX" "LWPOLYLINE" "LINE" "ELLIPSE" "HATCH" "SOLID" "ATTDEF" "SEQEND" "STYLE" "LTYPE" "VPORT" "IMAGE" ;;; "INSERT" "POINT" "SHAPE" "3DFACE" "SPLINE" "VIEWPORT" "WIPEOUT" "'" "." "+" "-" "*" "/" "=" "/=" "<" "<=" ">" ">=" "~" "1+" "1-" "ABS" "ACAD_COLORDLG" "ACAD_HELPDLG" "ACAD-POP-DBMOD" "ACAD-PUSH-DBMOD" "ACAD_STRLSORT" "ACDIMENABLEUPDATE" "ACET-LAYERP-MODE" "ACET-LAYERP-MARK" "ACET-LAYTRANS" "ACET-MS-TO-PS" "ACET-PS-TO-MS" ;;; "ACTION_TILE" "ADD_LIST" "ALERT" "ALLOC" "AND" "ANGLE" "ANGTOF" "ANGTOS" "APPEND" "APPLY" "ARX" ;;; "ARXLOAD" "ARXUNLOAD" "ASCII" "ASSOC" "ATAN" "ATOF" "ATOI" "ATOM" "ATOMS-FAMILY" "AUTOARXLOAD" "AUTOLOAD" "BOOLE" "BOUNDP" "CDDDDR" "CADDDR" "CDADDR" "CDDADR" "CDDDAR" "CAADDR" "CDAADR" "CDDAAR" "CAAADR" "CAAAAR" "CADADR" "CDADAR" "CDDDR" "CADDR" "CDADR" "CDDAR" "CADAR" "CDDR" "CADR" "CDAR" "CAAR" "CAR" "CDR" "CHR" "CLIENT_DATA_TILE" "CLOSE" ;;; "COMMAND" "COND" "CONS" "COS" "CVUNIT" "DEFUN" ;;; "DEFUN-Q" ;;; "DEFUN-Q-LIST-REF" ;;; "DEFUN-Q-LIST-SET" "DICTADD" "DICTNEXT" "DICTREMOVE" "DICTRENAME" "DICTSEARCH" "DIMX_TILE" "DIMY_TILE" "DISTANCE" "DISTOF" "DONE_DIALOG" "END_IMAGE" "END_LIST" "ENTDEL" "ENTGET" "ENTLAST" "ENTMAKE" "ENTMAKEX" "ENTMOD" "ENTNEXT" "ENTUPD" "EQ" "EQUAL" "*ERROR*" "EVAL" "EXIT" "EXP" "EXPAND" "EXPT" "FILL_IMAGE" "FINDFILE" "FIX" "FLOAT" "FOREACH" "FUNCTION" "GC" "GCD" "GET_ATTR" "GET_TILE" "GETANGLE" "GETCFG" "GETCNAME" "GETCORNER" "GETDIST" "GETENV" "GETFILED" "GETINT" "GETKWORD" "GETORIENT" "GETPOINT" "GETREAL" "GETSTRING" "GETVAR" "GRAPHSCR" "GRCLEAR" "GRDRAW" "GRREAD" "GRTEXT" "GRVECS" "HANDENT" "HELP" "IF" "INITDIA" "INITGET" "INTERS" "ITOA" "LAMBDA" "LAST" "LAYOUTLIST" "LENGTH" "LIST" "LISTP" "LOAD" ;;; "LOAD_DIALOG" "LOG" "LOGAND" "LOGIOR" "LSH" "MAPCAR" "MAX" "MEM" "MEMBER" "MENUCMD" "MENUGROUP" "MIN" "MINUSP" ;;; "MODE_TILE" "NAMEDOBJDICT" "NENTSEL" "NENTSELP" "NEW_DIALOG" "NOT" "NTH" "NULL" "NUMBERP" "OPEN" "OR" "OSNAP" "PRIN1" "PRINC" "PRINT" "PROGN" "PROMPT" "QUIT" "QUOTE" "READ-CHAR" "READ-LINE" "REDRAW" "REGAPP" "REM" "REPEAT" "REVERSE" "RTOS" ;;; "SET_TILE" "SETCFG" "SETENV" "SETFUNHELP" "SETQ" "SETVAR" "SETVIEW" "SIN" "SLIDE_IMAGE" "SNVALID" "SQRT" "SSADD" "SSDEL" "SSGET" "SSGETFIRST" "SSLENGTH" "SSMEMB" "SSNAME" "SSNAMEX" "SSSETFIRST" "STARTAPP" "START_DIALOG" "START_IMAGE" "START_LIST" "STRCASE" "STRCAT" "STRLEN" "SUBST" "SUBSTR" "TBLNEXT" "TBLOBJNAME" "TBLSEARCH" "TERM_DIALOG" "TERPRI" "TEXTBOX" "TEXTPAGE" "TEXTSCR" "TRACE" "TRANS" "TYPE" "T" "UNLOAD_DIALOG" "UNTRACE" "VECTOR_IMAGE" "VER" "VPORTS" "WCMATCH" "WHILE" "WRITE-CHAR" "WRITE-LINE" "XDROOM" "XDSIZE" "ZEROP" "END" "end" ) ) ;_ end of SETQ ) ;_ end of DEFUN ;|«Visual LISP© Format Options» (120 2 15 2 T "end of " 100 9 2 0 nil nil nil T T) ;*** DO NOT add text below the comment! ***|;