Difference between revisions of "Lexical functions"
(Created page with "'''Lexical functions''' are constructs that return information about your OpenVMS system and arithmetic and string expressions and perform other functions. There are 43 lexica...") |
m (Corrected minor error. "Note that you must use the brackets..." changed to "Note that you must use the parentheses...") |
||
(12 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | '''Lexical | + | '''Lexical''' functions are constructs that return information about your OpenVMS system and arithmetic and string expressions and perform other functions. There are 43 lexical functions in OpenVMS 8.4-L2. |
=Format= | =Format= | ||
Line 5: | Line 5: | ||
F$function-name([args,...]) | F$function-name([args,...]) | ||
− | Note that you must use the | + | Note that you must use the parentheses even if no arguments are required. Sometimes it is required to specify an empty string ("") as an argument, and sometimes they follow a specific order and you need to keep the commas in place if you omit certain arguments. |
=Lexical functions by topic= | =Lexical functions by topic= | ||
Line 13: | Line 13: | ||
==Conversion and data types== | ==Conversion and data types== | ||
* [[F$STRING()]] returns the string equivalent of the result of the specified expression. | * [[F$STRING()]] returns the string equivalent of the result of the specified expression. | ||
− | < | + | <nowiki> |
− | 5</ | + | $ A = F$STRING(5) |
+ | $ SHOW SYM A | ||
+ | A = "5" | ||
+ | </nowiki> | ||
* [[F$INTEGER()]] returns the integer equivalent of the result of the specified expression. | * [[F$INTEGER()]] returns the integer equivalent of the result of the specified expression. | ||
<pre>$ write sys$output f$integer("y") | <pre>$ write sys$output f$integer("y") | ||
Line 50: | Line 53: | ||
* [[F$EXTRACT()]] extracts a substring from a character string expression. | * [[F$EXTRACT()]] extracts a substring from a character string expression. | ||
− | <pre>$ WRITE SYS$OUTPUT F$EXTRACT("1,2,"HELLO") | + | <pre>$ WRITE SYS$OUTPUT F$EXTRACT("1",2,"HELLO") |
EL | EL | ||
</pre> | </pre> | ||
Line 63: | Line 66: | ||
hello</pre> | hello</pre> | ||
+ | * [[F$MATCH_WILD()]] performs a wildcard matching between a candidate and a pattern string. | ||
==Files== | ==Files== | ||
Line 68: | Line 72: | ||
* [[F$PARSE()]] invokes the $PARSE RMS service to parse a file specification and return either the expanded file specification or the particular file specification field that you request. | * [[F$PARSE()]] invokes the $PARSE RMS service to parse a file specification and return either the expanded file specification or the particular file specification field that you request. | ||
* [[F$FILE_ATTRIBUTES()]] returns attribute information for a specified file. | * [[F$FILE_ATTRIBUTES()]] returns attribute information for a specified file. | ||
− | * [[F$FID_TO_NAME()]] translates a file identification to a file specification. | + | * [[F$FID_TO_NAME()]] translates a file identification to a [[File specification|file specification]]. |
==Processes== | ==Processes== | ||
* [[F$CONTEXT]] specifies selection criteria for use with the F$PID function. | * [[F$CONTEXT]] specifies selection criteria for use with the F$PID function. | ||
* [[F$GETJPI]] returns accounting, status, and identification information for a process. | * [[F$GETJPI]] returns accounting, status, and identification information for a process. | ||
− | * [[F$PID()]] for each invocation, returns the next process identification number in sequence. | + | * [[F$PID()]] for each invocation, returns the next [[PID|process identification number]] in sequence. |
==Devices== | ==Devices== | ||
− | * [[F$DEVICE()]] returns device names of all devices on a system that meet the specified selection criteria. | + | * [[F$DEVICE()]] returns device names of all [[Device|devices]] on a system that meet the specified selection criteria. |
− | * [[F$GETDVI()]] returns information about a specified device. | + | * [[F$GETDVI()]] returns information about a specified [[Device|device]]. |
− | * [[F$MULTIPATH()]] returns a specified item of information for a specific multipath-capable device. | + | * [[F$MULTIPATH()]] returns a specified item of information for a specific [[Multipath|multipath]]-capable device. |
==Time== | ==Time== | ||
Line 93: | Line 97: | ||
==Logical names== | ==Logical names== | ||
− | [[F$TRNLNM]] used for translating logical names and obtaining their attributes. | + | [[F$TRNLNM()]] used for translating [[Logical Name|logical names]] and obtaining their attributes. |
==User environment== | ==User environment== | ||
− | * [[F$USER()]] returns the current user's UIC | + | * [[F$USER()]] returns the current user's [[UIC]] |
* [[F$VERIFY()]] returns the integer 1 if command procedure verification is set on; returns the integer 0 if command procedure verification is set off. The F$VERIFY function also can set new verification states. | * [[F$VERIFY()]] returns the integer 1 if command procedure verification is set on; returns the integer 0 if command procedure verification is set off. The F$VERIFY function also can set new verification states. | ||
* [[F$PROCESS()]] returns the current process name string. | * [[F$PROCESS()]] returns the current process name string. | ||
− | * [[F$MODE()]] shows the mode in which a process is executing. | + | * [[F$MODE()]] shows the [[Mode of execution|mode]] in which a process is executing. |
* [[F$MESSAGE()]] returns the message text associated with a specified system status code value. | * [[F$MESSAGE()]] returns the message text associated with a specified system status code value. | ||
− | * [[F$ | + | * [[F$GETENV()]] returns the value of the specified console environment variable. |
* [[F$ENVIRONMENT()]] obtains information about the DCL command environment. | * [[F$ENVIRONMENT()]] obtains information about the DCL command environment. | ||
− | * [[F$DIRECTORY()]] returns the current default directory name string. | + | * [[F$DIRECTORY()]] returns the current [[Default directory|default]] directory name string. |
+ | |||
===Privileges=== | ===Privileges=== | ||
− | * [[F$SETPRV()]] sets the specified privileges and returns a list of keywords indicating the previous state of these privileges for the current process. | + | * [[F$SETPRV()]] sets the specified [[Privileges|privileges]] and returns a list of keywords indicating the previous state of these privileges for the current process. |
* [[F$PRIVILEGE()]] returns a value of TRUE or FALSE depending on whether your current process privileges match the privileges listed in the argument. | * [[F$PRIVILEGE()]] returns a value of TRUE or FALSE depending on whether your current process privileges match the privileges listed in the argument. | ||
− | == | + | ==Licenses== |
− | * [[F | + | * [[F$LICENSE()]] checks whether the specified [[Licensing|license]] is loaded on the system. |
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 17:24, 7 January 2020
Lexical functions are constructs that return information about your OpenVMS system and arithmetic and string expressions and perform other functions. There are 43 lexical functions in OpenVMS 8.4-L2.
Contents
Format
F$function-name([args,...])
Note that you must use the parentheses even if no arguments are required. Sometimes it is required to specify an empty string ("") as an argument, and sometimes they follow a specific order and you need to keep the commas in place if you omit certain arguments.
Lexical functions by topic
Lexical functions serve a number of purposes: unit, data type, datetime conversion, returning information about system objects and establishing context for such information, etc.
Conversion and data types
- F$STRING() returns the string equivalent of the result of the specified expression.
$ A = F$STRING(5) $ SHOW SYM A A = "5"
- F$INTEGER() returns the integer equivalent of the result of the specified expression.
$ write sys$output f$integer("y") 1 $ write sys$output f$integer("a") 0
- F$IDENTIFIER() converts an identifier in named format to its integer equivalent, or vice versa.
$ WRITE SYS$OUTPUT F$IDENTIFIER("SLOANE","NAME_TO_NUMBER") 15728665
- F$CUNITS converts a number from one specified unit of measure to another.
- F$CVUI extracts bit fields from character string data and converts the result, as an unsigned value, to an integer.
- F$CVSI() extracts bit fields from character string data and converts the result, as a signed value, to an integer.
- F$TYPE determines the data type of a symbol
String operations
- F$LOCATE() locates a character or character substring within a string and returns its offset within the string.
$ WRITE SYS$OUTPUT F$LOCATE("E","HELLO") 1
- F$LENGTH() returns the length of a specified string.
$ WRITE SYS$OUTPUT F$LENGTH("HELLO") 5
- F$FAO() converts the specified control string to a formatted ASCII output string.
$ WRITE SYS$OUTPUT F$FAO("!5SL !5UB !5SL",-1,2,"pcs") -1 2 pcs $ REPORT = F$FAO("There !0UL!1%Cis!%Eare!%F !-!UL !-!0UL!1%Cchild!%Echildren!%F here",OFFSPRING) $ SHOW SYMBOL REPORT $ REPORT ="There is 1 child here"
- F$EXTRACT() extracts a substring from a character string expression.
$ WRITE SYS$OUTPUT F$EXTRACT("1",2,"HELLO") EL
- F$ELEMENT() extracts an element from a string in which the elements are separated by a specified delimiter.
$ WRITE SYS$OUTPUT F$ELEMENT(0,"/","1/2/3") 1
- F$EDIT() edits a character string based on the edits specified (upcases, removes spaces and comments).
$ WRITE SYS$OUTPUT F$EDIT(" HELLO ","COLLAPSE,LOWERCASE") hello
- F$MATCH_WILD() performs a wildcard matching between a candidate and a pattern string.
Files
- F$SEARCH() looks for the file you specify
- F$PARSE() invokes the $PARSE RMS service to parse a file specification and return either the expanded file specification or the particular file specification field that you request.
- F$FILE_ATTRIBUTES() returns attribute information for a specified file.
- F$FID_TO_NAME() translates a file identification to a file specification.
Processes
- F$CONTEXT specifies selection criteria for use with the F$PID function.
- F$GETJPI returns accounting, status, and identification information for a process.
- F$PID() for each invocation, returns the next process identification number in sequence.
Devices
- F$DEVICE() returns device names of all devices on a system that meet the specified selection criteria.
- F$GETDVI() returns information about a specified device.
- F$MULTIPATH() returns a specified item of information for a specific multipath-capable device.
Time
- F$TIME() returns the current date and time of day, in the format dd-mmm-yyyy hh:mm:ss.cc.
- F$DELTA_TIME() returns the time difference between a given start and end time.
- F$CVTIME() retrieves information about an absolute, combination, or delta time string.
System and cluster
- F$GETSYI() returns status and identification information about the local system, or about a node in the local cluster, if your system is part of a cluster.
- F$CSID() returns an OpenVMS Cluster identification number and updates the context symbol to point to the current position in the system's cluster node list.
Queues
- F$GETQUI() returns information about queues, batch and print jobs currently in those queues, form definitions, and characteristic definitions kept in the queue database.
Logical names
F$TRNLNM() used for translating logical names and obtaining their attributes.
User environment
- F$USER() returns the current user's UIC
- F$VERIFY() returns the integer 1 if command procedure verification is set on; returns the integer 0 if command procedure verification is set off. The F$VERIFY function also can set new verification states.
- F$PROCESS() returns the current process name string.
- F$MODE() shows the mode in which a process is executing.
- F$MESSAGE() returns the message text associated with a specified system status code value.
- F$GETENV() returns the value of the specified console environment variable.
- F$ENVIRONMENT() obtains information about the DCL command environment.
- F$DIRECTORY() returns the current default directory name string.
Privileges
- F$SETPRV() sets the specified privileges and returns a list of keywords indicating the previous state of these privileges for the current process.
- F$PRIVILEGE() returns a value of TRUE or FALSE depending on whether your current process privileges match the privileges listed in the argument.
Licenses
- F$LICENSE() checks whether the specified license is loaded on the system.