Stories's Log |
This log represents the Life and Times of the Las Vegas Dude. |
|
08/14/2009 20:19:20 jim Cranberry - Behind Unos | Fri |||||||||||||||||||
08/13/2009 21:38:41 jim Pittsburgh-Rivers Casino | Thu |||||||||||||||||||
08/13/2009 21:37:44 jim Pittsburgh-Rivers Casino | Thu |||||||||||||||||||
08/12/2009 08:00:11 jim Wexford Fog | Wed |||||||||||||||||||
08/11/2009 18:42:51 jim Well folks, looks like I am here for a while | Tue |||||||||||||||||||
Some people pulled for me really hard, and I gotta say, its been a little emotional for me. We've been travelling for what seems like forever and I haven't had a real home for what seems like a very, very long time. These people have become as close to friends as I guess I'll ever have. And I'm happy. These are the good people that I've been looking for. They are the ones that I've always wanted to know. |
08/11/2009 18:42:51 SAE (Reply).Well folks, looks like I am here for a while | Tue |||||||||||||||||||
Hurray Jimmy... You got extended. I knew you would. Hurray, way to go Jimmy.... Where be you? I just tried calling you and got your voice mail... Some possibilities are openning up for me. So, did you ever interview with RJ? |
08/10/2009 18:57:37 jim Pittsburgh-Mortons Steakhouse | Mon |||||||||||||||||||
08/09/2009 18:33:18 jim ZMacros | Sun |||||||||||||||||||
?section GO macro == **************************************************************************** == * GO program|macro|routine * == * GO FUP INFO *.* * == *--------------------------------------------------------------------------* == * Runs a program, showing its command line * == **************************************************************************** #output %*% %*% ?section VAR macro == **************************************************************************** == * VAR variable [value] * == * VAR MyVar This is a test * == *--------------------------------------------------------------------------* == * Pushes a variable if it doesn't already exist. * == * If [value] is supplied, set it, otherwise, preserve the old value. * == **************************************************************************** [#if [#variableinfo/existence/ %1%] |else| #push %1%] [#if [#empty %2%] |then| |else| #set %1% %2 to 99%] ?section CompAll macro == **************************************************************************** == * COMPALL [file mask] [;list] [$S] * == *--------------------------------------------------------------------------* == * Gets a list of file names using the file mask * == * Volumes to where the file is * == * Compiles the program based on its contents * == * Volumes back to where you started * == **************************************************************************** var Param1 %1% #push Param2 Param3 var Param2 %2% var Param3 %3% var NoList ;nolist #set NoList var tst_lst #set tst_lst [#case [#chargetv Param1 1 1] |;| #set NoList [Param1] |otherwise|] [#case [#chargetv Param2 1 1] |;| #set NoList [Param2] |otherwise|] [#case [#chargetv Param1 1 1] |$| #set tst_lst [Param1] |otherwise|] [#case [#chargetv Param2 1 1] |$| #set tst_lst [Param2] |otherwise|] #push MyFile FileList fup /outv FileList/info %1% #extractv FileList MyFile #extractv FileList MyFile #extractv FileList MyFile var CompVol [#FILEINFO/VOLUME/x].[#FILEINFO/SUBVOL/x]] [#loop |do| [#case [#chargetv MyFile 1 1] |$| VOLUME [MyFile] |otherwise| #set MyFile [#chargetv MyFile MyFile 1 8] COMPILE [MyFile] ] #extractv FileList MyFile |until| [#emptyv FileList] ] VOLUME [CompVol] #pop MyFile FileList ?section COMP macro var tst_lst #set tst_lst var nolist ;nolist var tst_src %1% [#if [#fileinfo/existence/[tst_src]] |then| COMPILE %*% |else| #output *** ERROR: %1% Does not exists ] ?section COMPF macro var tst_src %1% var tst_lst ,OUT LISTING.[tst_src] var nolist #set nolist ;nolist [#if [#fileinfo/existence/[tst_src]] |then| COMPILE %*% |else| #output *** ERROR: %1% Does not exists ] ?section COMPP macro var tst_src %1% var tst_lst ,OUT $P.#COMP.[tst_src] var nolist #set nolist ;NOLIST [#if [#fileinfo/existence/[tst_src]] |then| COMPILE %*% |else| #output *** ERROR: %1% Does not exists ] ?section COMPILE macro var tst_lst var nolist var #INLINEPREFIX -- var tst_src %1% var Src_Root [#charget tst_src 1 for [#compute [#charcount tst_src] - 1]] var ThisVol [#FILEINFO/VOLUME/[tst_src]].[#FILEINFO/SUBVOL/[tst_src]] var tst_lib $TECH1D.COPYSRC var tst_all [ThisVol].[tst_src] var tst_cat $DEV3.MISCCATL var tst_pobj $DEV2.TURBOBJ.xxx1 [#case [#charget [#shiftstring tst_src] 1 for 3] |EBC| var tst_OBJ $DEV2.TECHOB.[src_root] |EXP| var tst_OBJ $DEV2.EXPOBJ.[src_root]o var tst_pobj $DEV2.EXPOBJ.EXP1 var ComptPobj EXP1 |EMS| var tst_OBJ $DEV2.EMS.[src_root]n |ERR| var tst_OBJ $DEV2.SUBOBJ.[src_root]o |SUB| var tst_OBJ $DEV2.SUBOBJ.[src_root]o |BAT| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |ENF| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |DJL| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |xxx| var tst_OBJ $DEV2.TURBOBJ.[src_root]o var ComptPobj xxx1 |FLX| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |FSR| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |GBP| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |PRG| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |TAL| var tst_OBJ $DEV2.TECHOB.[src_root]o |TMP| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |UTL| var tst_OBJ $DEV2.TURBOBJ.[src_root]o |STR| var tst_OBJ $DEV2.STOREOBJ.[src_root]o |INT| var tst_OBJ $DEV2.WEBOBJ.[src_root]o |REP| var tst_OBJ $DEV2.WEBOBJ.[src_root]o |WEB| var tst_OBJ $DEV2.WEBOBJ.[src_root]o |OTHERWISE| var tst_OBJ $DEV2.xxxROBJ.[src_root]o var ComptPobj xxx1 ] var tmp [tst_src] #push Found srcLanguage #set Found #set srcLanguage [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/ SCREEN / RB/ SECTION/RN/*/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage SCOBOL ] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/ TERMINAL / RB/ CONVERSATIONAL/RN/*/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage SCOBOL ] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/ TERMINAL / RB/ IBM-3270/RN/*/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage SCOBOL ] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/PROCEDURE / RB/DIVISION/RN/*/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage COBOL] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/ $SYSTEM.SYSTEM.EXTDECS/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage Tal] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/#include/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage C] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/?DICTIONARY /;E [#if [#linecount Found] > 2 |then| #set SrcLanguage Enform] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/?DICT /;E [#if [#linecount Found] > 2 |then| #set SrcLanguage DDL] ] [#if [#emptyv SrcLanguage] |then| edit /OUTV Found/[tmp] R;LB/CATALOG / r/=/;E [#if [#linecount Found] > 2 |then| #set SrcLanguage SQL] ] [#if [#emptyv tst_lst] |then| |else| [#if [#fileinfo/volume/[tst_lst]] |then| [#if [#fileinfo/existence/listing.[tst_src]] |then| PURGE listing.[tst_src]] fup CREATE listing.[tst_src], type u, ext(50,50) |else| fup purgedata listing.[tst_src] ] #set tst_lst ,out listing.[tst_src] |else| #set tst_lst ,out [tst_lst].#[SrcLanguage].[tst_src] ] ] comment GO EDIT/INLINE/[tst_all] comment GO -- CBA/$TECH1D.COPYSRC./COPYSRC./A comment GO -- CBA/$TECH1.COPYSRC./COPYSRC./A comment GO -- CBA/$TECH2D.//A comment GO -- CBA/$TECH2.//A comment GO -- CBA/?SOURCE ./?SOURCE /A comment GO -- CBA/ COPYSRC./ / /COPY / comment GO -- CF/*/ /TIMEFILE-MOD-TIME/ RN/*/ comment GO -- CBA/BLKTJRC/BLKTJRN/A comment GO -- CA/search "$tech1D./search "/A comment GO -- EXIT param SYMBOL-BLOCKS 8 VOLUME [tst_lib] [#case [SrcLanguage] |COBOL| GO COBOL85/IN [tst_all][tst_lst]/[tst_obj][nolist],ENV COMMON var ComptNbr 1 |SCOBOL| GO SCOBOLX/IN [tst_all][tst_lst]/[TST_POBJ][nolist] var ComptNbr 2 [ComptPobj] |Enform| GO enform /inline[tst_lst]/ GO -- ?compile [tst_all] TO [tst_obj] GO -- exit; var ComptNbr 3 |TAL| GO TAL /IN [tst_all][tst_lst]/[tst_obj][nolist] var ComptNbr 4 |SQL| GO SQLCI /IN [tst_all][tst_lst]/ |C| GO C /IN [tst_all][tst_lst]/[tst_obj][nolist], & SSV0 "$system.system",SSV1 "$system.ztcpip",SSV2 "$tech1.nos" == SSV3 "$tech1d" var ComptNbr 5 |DDL| GO DDL /IN [tst_all][tst_lst]/ |otherwise| #output Skipping [tst_ALL] var ComptNbr 99 ] volume [ThisVol] [#IF (_COMPLETION:COMPLETIONCODE > 1) |then| #output **** ERROR **** |else| SqlCheck [tst_obj] ] [#if [#fileinfo/existence/[tst_obj]] |then| RUN $DEV2.CUTLAR.ZFUP SECURE [tst_obj],"nnnn" RUN $DEV2.CUTLAR.ZFUP GIVE [tst_obj],SYSTEM.AOES ] #pop Found [#if [#empty %2%] |then| |else| COMPILE %2 TO 99%] ======================== ?section SqlCheck macro ======================== [#if [#fileinfo/existence/%1%] |then| var lstSql #set lstSql SQLCOMP/IN %1%,outv lstSql/CATALOG [tst_cat] [#IF ([#LINEFIND lstSql 1 No SQL source ]>0) |then| #output Sql Compiling is not needed for %1% #set _COMPLETION SaveCompT R [tst_src] [ComptNbr] |else| #push #out #set #out [tst_lst] outvar lstSql #pop #out #set _COMPLETION [#IF (_COMPLETION:COMPLETIONCODE > 1) |then| #output ********** SQL ERROR ********************** |else| [#case [ComptNbr] |1| SaveCompT R [tst_src] 6 |otherwise| SaveCompT R [tst_src] [ComptNbr] ] ] ] |else| SaveCompT R [tst_src] [ComptNbr] ] ?section SaveCompT macro == This is for, in my opinion, a rather interesting compile macro that compiles turnovers. #push #out #set #out zcompfil #output %*% #pop #out COMMENT rename [tst_src],TURNOVER.[tst_src] ?section SetPw macro var Param1 Param2 #set Param1 %1% #set Param2 %2% [#case [#chargetv Param1 1 1] |$| var PcName [Param1] |otherwise| var PcServer [Param2]] [#case [#chargetv Param2 1 1] |$| var PcName [Param2] |otherwise| var PcServer [Param1]] [#if [#emptyv PcName] |then| var PcName [#input Enter the Pathway System: ($MNTF):] ] [#if [#emptyv PcServer] |then| var PcServer [#input Enter the Pathway Server (TESTPOST-SERVER):] ] ?section DebugOn macro == * DebugOn [$PW] [server-name] SetPw %*% freeze [PcName] [PcServer] go pathcom [PcName];alter [PCServer],hometerm [#myterm],debug on thaw [PcName] [PcServer] ?section Freeze macro SetPw %*% go pathcom [PcName];freeze [PCServer] go pathcom [PcName];stop [PCServer], delay 10 secs ?section Thaw macro SetPw %*% go pathcom [PcName];thaw [PCServer] ?section DebugOff macro == * DebugOff [$PW] [server-name] SetPw %*% freeze [PcName] [PcServer] go pathcom [PcName];alter [PCServer],hometerm $VHS, debug off thaw [PcName] [PcServer] ?section set_SysIni macro var CdVol $DEV2.TEST var LstVol $DEV2.TESTLST var SrcVol $DEV2.TESTSRC var TST_EXE $DEV2.TESTOBJ.[SrcFile]O var ObjVol $DEV2.TESTOBJ var TST_REN $DEV2.TESTOBJ.[SrcFile]X var TST_OBJ $DEV2.TESTOBJ var TST_POBJ $DEV2.TESTOBJ.xxx1 var ObeyFile_VOL $DEV2.TESTOBEY ?section LIB macro GO VOLUME [TST_LIB] ?section LST macro GO volume $DEV2.LISTING ?section SRC macro [#if [#empty %1%] |then| GO volume $DEV2.SOURCE |else| var SrcFile %1% ] ?section OK macro [#case [#input RUN %*% (y)?] |y Y| GO %*% |otherwise|] #output --------------------------------------------- ?section PCLS macro SPOOLCOM $SPLS;JOB (OWNER),DELETE ! SPOOLCOM $PPLS;JOB (OWNER),DELETE ! ?section SV macro FUP SUBVOLS %*% ?section Type macro fup copy %1% ?section p macro [#if [#empty %1%] |then| peruse $PPLS |else| peruse $SPLS] ?section InfoDefine macro #frame #push X1 X2 X3 X4 #setMANY X1 X2 X3 X4,[#defineinfo %1%] #output/HOLD/ADD DEFINE %1% #output/HOLD,COLUMN 25/,CLASS [X2] #output/COLUMN 40/,[X3] [X4] #unframe [#if [#empty %2%] |then| |else| INFODEFINE %2 to 99%] ?section CreateDefines macro PURGE XD INFO/OUT XD/DEFINE =* EDIT XD;DQN/=/;CQ/ Define Name / INFODEFINE /A;E PURGE DEFINES #push #OUT #set #OUT DEFINES O XD #pop #OUT EDIT DEFINES;DQ/INFODEFINE/;E EDIT DEFINES [#if [#empty %2%] |then| |else| INFODEFINE %2 to 99%] ?section ST macro [#IF [#EMPTY %1%] |then| STATUS *,TERM |else| STATUS %*% ] ?section DelY macro [#IF [#FILEINFO/EXISTENCE/%1%] |then| FILEINFO %1% [#CASE [#INPUT Do you wish to delete this (y)?] |y Y| purge %1% |otherwise| ] ] ?section COMPARE macro $DEV2.testobj.COMPARE %*% ?section PC macro [#if [#empty %1%] |then| GO pathcom [PcName] |else| #set PcName %*% GO pathcom %*%] ?section OBJ macro Go VOLUME $DEV2.TESTOBJ ?section TL macro Go LOAD/KEEP 1/$DEV2.COMPILES.ZMACROS ?section GT macro edit $DEV2.COMPILES.ZMACROS;set tabs 10 20 30 40 50 60 70;%1 TO 9% ?section CD macro var CdVol %1% volume [CdVol] ?section G macro var GSrc %*% EDIT;SET TABS 10 20 30 40 50 60 70;SET JOIN 80;G [GSrc] ?section O macro var ObeyFile %1% [#if [#emptyv ObeyFile] |then| #output ([ObeyFile]) doesn't exist. |else| [#if [#fileinfo/existence/[ObeyFile]] |then| #push Found edit /OUTV Found/[ObeyFile] R;LB/?section/RB/ ROUTINE/;E [#if [#linecount Found] > 2 |then| GO T [ObeyFile] |else| GO OBEY [ObeyFile] ] #pop Found |else| #output The default Obey File hasn't been set yet. Try: O obeyfile ] ] [#if [#empty %2%] |then| |else| O %2 to 99%] ?section BYE macro CSAVE LOGOFF ?section CLOAD macro #push MyVol #set MyVol [#DEFAULTS] VOLUME OBEY DEFAULTS VOLUME [MyVol] #pop MyVol ?section CSAVE macro #push WS_VOLUME #set WS_VOLUME [#DEFAULTS] VOLUME #frame #push #INLINEPREFIX #set #INLINEPREFIX -- edit/INLINE/DEFAULTS ! -- DQ ! F/L -- 101 /#set PCName [PCName]/ -- 102 /#set PCServer [PCServer]/ -- 103 /#set SrcFile [SrcFile]/ -- 104 /#set ObeyFile [ObeyFile]/ -- 105 /#set CdVol [CdVol]/ -- 106 /#set SrcFile [SrcFile]/ -- 107 /#set COut [COut]/ -- 108 /#set GSrc [GSrc]/ -- 109 /#set CdVol [CdVol]/ -- E VOLUME [WS_VOLUME] #unframe ?section FILESPEC macro [#if [#fileinfo /existence/ %1%] |then| #output /hold/ [#fileinfo/fullname/ %1%] #output /column 35,hold/ [#case [#fileinfo /filestructure/ %1%] |0| #output /hold/ U: |1| #output /hold/ R: |2| #output /hold/ E: |3| #output /hold/ K: |otherwise| ] #output /column 37,hold/ [#fileinfo/eof/ %1%] #output /column 44,hold/& [_CONTIME_TO_TEXT [#CONTIME [#fileinfo/modification/%1%]]] #output /column 72,hold/ [#fileinfo/owner/ %1%] |else| #output /hold/ File %1% does not exist ] #output ?section SCUPINFO macro #frame #push OUTLIST SCUP /OUTV OUTLIST/INFO %*% #output [#LINEGET OUTLIST 1 FOR 1] #output [#LINEGET OUTLIST 5 FOR 1] #unframe ?section PRINT macro FUP COPY %1%,$P [#if [#empty %2%] |then| |else| PRINT %2 to 99%] ?section SQCOST macro SQLCOMP/IN $DEV2.TESTOBJ.%1%,OUT $P.#SQCOST/ & STOREDDEFINES EXPLAIN PLAN NORECOMPILE ?section LOG macro [#if [#empty %1%] |then| EDIT $DEV2.TEST.LOG2009;XVS L-20;E |else| #frame #push #out #set #width 230 #push wYY wMM wDD wHH wMI #setmany wYY wMM wDD wHH wMI, [#contime [#timestamp]] [#IF [wYY]< 10 |then| #set wYY 0[wYY]] [#IF [wMM]< 10 |then| #set wMM 0[wMM]] [#IF [wDD]< 10 |then| #set wDD 0[wDD]] [#IF [wHH]< 10 |then| #set wHH 0[wHH]] [#IF [wMI]< 10 |then| #set wMI 0[wMI]] #set #out $DEV2.TEST.LOG[wYY] #output [wMM]/[wDD]/[wYY] [wHH]:[wMI]-> %*% #set #width 80 #pop #out #unframe ] ?section sv macro fup subvols %1% ?section CLS macro #frame [#DEF ascii STRUCT BEGIN BYTE byt5(0:1) value 27 73; CHAR clr(0:1) redefines byt5; END; ] #output [ascii:clr(0:1)] #unframe ?section IMP macro var tst_src %1% [#if [#fileinfo/existence/[tst_src]] |then| GO fup dup [tst_src], $tech1d.turnover.[tst_src],purge ] [#if [#empty %2%] |then| |else| IMP %2 TO 99%] ?section GL macro var tst_src %1% purge x edit listing.[tst_src] p x ?section GS macro var tst_src %1% EDIT;SET TABS 10 20 30 40 50 60 70;SET JOIN 80;G [tst_src] ?section FS ALIAS FINDDATA ?section CALC ALIAS COMPUTE ?section dir ALIAS fileinfo ?section fs alias finddata ?section grep alias finddata |
08/08/2009 19:09:06 jim Wexford Apt Neighbors | Sat |||||||||||||||||||
08/07/2009 18:38:22 jim Soergel Orchard | Fri |||||||||||||||||||
08/07/2009 17:55:44 jim Mobile BBQ Stand | Fri |||||||||||||||||||
08/07/2009 17:31:26 jim LakeMoraine,PA-Rennaisance | Fri |||||||||||||||||||
08/07/2009 17:30:36 jim Rennaisance Fair - 11,000 People | Fri |||||||||||||||||||
08/07/2009 17:24:36 jim Lake Moraine - Mt Union | Fri |||||||||||||||||||
08/07/2009 17:00:18 jim Lake Moraine Marina | Fri |||||||||||||||||||
08/07/2009 16:54:40 jim Lake Moraine Forest | Fri |||||||||||||||||||
08/07/2009 16:38:42 jim Lake Moraine Cabin | Fri |||||||||||||||||||
08/07/2009 15:48:40 jim 1994 30 ft TravelTrailer $6k | Fri |||||||||||||||||||
08/07/2009 15:36:40 jim 1992 25 ft TravelTrailer 7.5k | Fri |||||||||||||||||||
08/07/2009 15:34:44 jim 2003 17 ft TravelTrailer 8k | Fri |||||||||||||||||||
08/07/2009 15:17:52 jim Butler, Pa | Fri |||||||||||||||||||
08/05/2009 21:08:40 jim Mt Washington View | Wed |||||||||||||||||||
08/05/2009 19:47:30 jim Station Square Fountain | Wed |||||||||||||||||||
08/05/2009 19:13:04 jim Station Square | Wed |||||||||||||||||||
08/04/2009 20:08:38 jim Sewickley, Pa - Deer | Tue |||||||||||||||||||
08/04/2009 20:06:08 jim Sewickley, Pa | Tue |||||||||||||||||||
08/04/2009 19:14:32 jim Sewickley, Pa - Carmadys | Tue |||||||||||||||||||
08/04/2009 16:28:03 jim Cranberry, Pa and Abouts | Tue |||||||||||||||||||
08/01/2009 22:36:04 jim Watch this video! | Sat |||||||||||||||||||
Sony played this mind-blowing video at their executive conference. Be prepared to be startled by facts. http://www.youtube.com/watch?v=cL9Wu2kWwSY In the next decade, computers will become more intelligent than we are. The questions that rise are: - What kind of child are we giving birth too? When they pass us in intelligence? Will they continue to be our tool? - As the world of information continues to unfold, what will we learn about ourselves and this life? - Where are we going as a species? Will silicon life out live carbon life? - Who will be controlling our direction, or will it all be just a series of actions with no direction at all? - Finally, after we learn how to conquer death (and we will), what will our new fears become? These, and more questions will be answered...in the future. |
08/01/2009 20:02:05 jim Cranberry, Pa - Red Robin | Sat |||||||||||||||||||
08/01/2009 07:08:47 jim Wexford - Fog and Turkeys | Sat |||||||||||||||||||
07/30/2009 18:28:36 jim Moon, Pa - Jimmys Restaurant | Thu |||||||||||||||||||
07/26/2009 14:49:15 jim Ross, Pa - Mad Mex | Sun |||||||||||||||||||
07/26/2009 10:02:16 jim Work Places | Sun |||||||||||||||||||
07/25/2009 16:59:56 jim Washington, Pa | Sat |||||||||||||||||||
07/25/2009 16:07:24 jim Eighty Four, Pa | Sat |||||||||||||||||||
07/25/2009 10:50:44 jim Out and About | Sat |||||||||||||||||||
07/24/2009 17:48:21 jim More about C Data types | Fri ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#pragma EXTENSIONS #include Best practices. Don't use int. use long or short instead. Put environment specific functions in an #include Avoid HP specific, and C extensions to data types if possible. Use unsigned only for short and long.
|
07/24/2009 17:48:20 SAE .AWAITIOX - C Example | Fri |||||||||||||||||||
There are 2,201 bugs in this code segment |
07/24/2009 17:48:20 jim (Reply)AWAITIOX - C Example | Fri |||||||||||||||||||
!From http://docs.hp.com/en/524521-012/524521-012.pdf, Page 157 #include <in.h> C / TAL Comparisons (Using SEND_NW as an example): C Synopsis, used for data type comparisons #include <....lost in html conversion> #include <...lost in html conversion> error = send_nw (socket, nbuffer_ptr, nbuffer_length, flags,tag); int error, socket; char *nbuffer_ptr; int nbuffer_length, flags; long tag; Tal Synopsis, used for data type comparisons ?NOLIST, SOURCE SOCKDEFT ?NOLIST, SOURCE SOCKPROC error := send_nw (socket, nbuffer_ptr, nbuffer_length, flags, tag); INT(32) error, socket; STRING .EXT nbuffer_ptr; INT(32) nbuffer_length, flags; INT(32) tag; |
07/24/2009 08:36:18 SAE .Tal | Fri |||||||||||||||||||
But only 1,022 bugs in this code segment.. |
07/24/2009 08:36:18 jim (Reply)Tal | Fri |||||||||||||||||||
-- This is a comment ! This is a comment ! This is a bracketted comment ! STRING - 1 bytes integer 0 to 255, EG STRING(2) x; is a 2 byte ascii string INT - 2 bytes, 0 to 65,535 or -32,768 to + 32,767. This can also be a string EG: INT twochars := "CH"; INT(32) - 4 bytes UNSIGNED(1~15) - n bits, 0 thru (2**n - 1) UNSIGNED(16) - 0 to 65,535, or -32,768 to +32,767. This is your standard address FIXED - 8 bytes, for FIXED(0) or FIXED(*) the range is -9 kazillion to +9 kazillion REAL - 4 bytes, precise to 9 digits REAL(64) - 8 bytes, precise to 17 digits INT(16) is the same as INT INT(64) is the same as FIXED(0) REAL(32) is the same as REAL Examples: LITERAL double_word = (4 * 8); INT (double_word) num; ! num is a INT(32) INT x := 4 ! x is decimal 4 INT x := %177 ! x is Octal 177 INT x := %B01010 ! x is Binary 01010 INT x := %B0000000000000010 ! x is 2; INT x := %B1111111111111110 ! x is -2 (using twos compliment); INT x := %H1A ! x is Hex 1A FIXED(3) x := 0.642F; ! x is 642000, the 3 shifts the decimal right FIXED(-3) x := 642945F; ! x is 642000, the -3 shifts the decimal left FIXED(*) x := 123 ! x is stored, not scaled BLOCK x ; ! Declare Global Variables INT flag := TRUE; INT(32) index := 22 ; END BLOCK ; BLOCK PRIVATE ; ! Declare Local Variables INT myflag := TRUE; INT(32) myindex := 22 ; END BLOCK ; PROC paragraph_x ; FORWARD ; ! Declares that paragraph_x will be out of compile sequence PROC called_program; EXTERNAL ; ! Declares that a paragraph can be found in a called program PROC paragraph_x (param) ; BEGIN INT param; END; PROC paragraphs_nested (param) ; BEGIN ENTRY entry_point ; ! Declares a programs entry point some code SUBPROC entry_subroutine(x) ; ! Declares a subroutine with a PROC BEGIN some code END; entry_point: some more code END; PROC myproc; BEGIN !Local data declarations SUBPROC some_sub (param); !Declare subprocedure INT param; ENTRY sub_entry; ! Declare entry-point identifier INT var; ! Some code here sub_entry: ! Apply entry-point var := var - param; ! identifier to statement some code ; ! Tal can get ugly very quickly END; ! End subprocedure some code !Local statements CALL sub_entry (1); !Call entry-point SUB_ENTRY END; PROC xx(v1,v2,v3); BEGIN...END; ...CALL xx(v1, !nothing!, v3) ! Comments help document ommited variables DEFINETOG omit ! some code ?IF omit some code ?ENDIF omit Sample compile statement: suppress octal code after each line, suppress all but header information, compile for syntax only and puts the errors in a file called xxx, and sets the omit toggle on TAL/in myprogram/;nocode, suppress, syntax, errorfile xxx,settog omit, Operators: x := 2 ! move 2 to a number x ':=' 'AB' ! move characters to a string x := @var ! x is the address of var .x ! convert x from a INT to the word address of another variable << ! Signed Left shift '<<' ! Unsigned Left shift + - * ! Signed operators for add, subtract and multiply '+' '-' '*' ! Unsigned operators for add, subtract and multiply = <= >= ! comparisons '=' '<=' ! comparisons (unsigned) <> ! Not equal According to the manual, you can do math on a string variable. EG: STRING x; x ':=' 'A"; x := x * 2; Go figure? |
<< 08/2008 < 07/2009 Calendar 09/2009 > 08/2010 >> | Sign InView Other Logs |