Operating System - OpenVMS
1748328 Members
3358 Online
108762 Solutions
New Discussion юеВ

Re: DCL SHOW SYMBOL /ALL

 
SOLVED
Go to solution
Jimson_1
Frequent Advisor

DCL SHOW SYMBOL /ALL

Hi,

I am trying to list all symbols visible from within a command procedure.

show symbol *

This shows all local and global symbols, but does not list any local symbols defined in outer procedure levels. To see these one has to explicitly specify the symbol name.

For example:

$ sho sym symb_1

Does anyone know how I can list all visible symbols with one command?

5 REPLIES 5
Hoff
Honored Contributor

Re: DCL SHOW SYMBOL /ALL

Try "SHOW SYMBOL".

Typical qualifiers that can restrict the numbers of symbols visible are /LOCAL and /GLOBAL.

It's also possible to SET SCOPE to tailor the visibility of symbols.

Most folks tend to head the other way here, and try to avoid looking outside the scope of the current command procedure and particularly the particular command procedure level.

Could you provide some background on why you're looking at DCL symbols from different scopes here? Some details on why you're looking at SHOW SYMBOL or SHOW SYMBOL * here?
Jess Goodman
Esteemed Contributor
Solution

Re: DCL SHOW SYMBOL /ALL

There is no way to do this from DCL.

However the SYMBOL software package written by Brian "VAXman" Schenkenberger can do it. It also has the ability to set/show symbols for another process.

It requires a license but the license is now free just by registering.

http://www.tmesis.com/SYMBOL/
I have one, but it's personal.
Jon Pinkley
Honored Contributor

Re: DCL SHOW SYMBOL /ALL

I can vouch for Brian's SYMBOL program.

It is a great DCL debugging aid, and it is great when you want to look at the symbols in a anther process, for example a batch process.

BTW the suggestion to use "$ SHOW SYMBOL" by itself is not very useful in a command procedure.

$ @tt
_$ show symbol
%DCL-W-INSFPRM, missing command parameters - supply all required parameters
_$

Here's a command procedure showing that SYMBOL can see all the local levels of DCL.

OT$ type test_sym.com
$ ver='f$verify(0)'
$ this_proc = f$environment("procedure")
$ depth = f$environment("depth")
$ test'depth' = depth
$ if depth .lt. 31
$ then
$ @'this_proc'
$ else
$ junk=f$verify(1)
$ show symbol test*
$ symbol test*
$ junk='f$verify(0)'
$ endif
$ exit 1+0*f$verify(ver)
OT$ @test_sym
$ show symbol test*
TEST31 = 31 Hex = 0000001F Octal = 00000000037
$ symbol test*
[1] TEST1 = 1 Hex = 00000001 Octal = 00000000001
[2] TEST2 = 2 Hex = 00000002 Octal = 00000000002
[3] TEST3 = 3 Hex = 00000003 Octal = 00000000003
[4] TEST4 = 4 Hex = 00000004 Octal = 00000000004
[5] TEST5 = 5 Hex = 00000005 Octal = 00000000005
[6] TEST6 = 6 Hex = 00000006 Octal = 00000000006
[7] TEST7 = 7 Hex = 00000007 Octal = 00000000007
[8] TEST8 = 8 Hex = 00000008 Octal = 00000000010
[9] TEST9 = 9 Hex = 00000009 Octal = 00000000011
[10] TEST10 = 10 Hex = 0000000A Octal = 00000000012
[11] TEST11 = 11 Hex = 0000000B Octal = 00000000013
[12] TEST12 = 12 Hex = 0000000C Octal = 00000000014
[13] TEST13 = 13 Hex = 0000000D Octal = 00000000015
[14] TEST14 = 14 Hex = 0000000E Octal = 00000000016
[15] TEST15 = 15 Hex = 0000000F Octal = 00000000017
[16] TEST16 = 16 Hex = 00000010 Octal = 00000000020
[17] TEST17 = 17 Hex = 00000011 Octal = 00000000021
[18] TEST18 = 18 Hex = 00000012 Octal = 00000000022
[19] TEST19 = 19 Hex = 00000013 Octal = 00000000023
[20] TEST20 = 20 Hex = 00000014 Octal = 00000000024
[21] TEST21 = 21 Hex = 00000015 Octal = 00000000025
[22] TEST22 = 22 Hex = 00000016 Octal = 00000000026
[23] TEST23 = 23 Hex = 00000017 Octal = 00000000027
[24] TEST24 = 24 Hex = 00000018 Octal = 00000000030
[25] TEST25 = 25 Hex = 00000019 Octal = 00000000031
[26] TEST26 = 26 Hex = 0000001A Octal = 00000000032
[27] TEST27 = 27 Hex = 0000001B Octal = 00000000033
[28] TEST28 = 28 Hex = 0000001C Octal = 00000000034
[29] TEST29 = 29 Hex = 0000001D Octal = 00000000035
[30] TEST30 = 30 Hex = 0000001E Octal = 00000000036
[31] TEST31 = 31 Hex = 0000001F Octal = 00000000037
OT$
it depends
Jimson_1
Frequent Advisor

Re: DCL SHOW SYMBOL /ALL

Thanks guys.

I'll get the SYMBOL tool.

James
Jimson_1
Frequent Advisor

Re: DCL SHOW SYMBOL /ALL

closed