ad_page_contract_parse_argspec (private)
ad_page_contract_parse_argspec arg_spec
Defined in packages/acs-tcl/tcl/tcl-documentation-procs.tcl
Parse the argument spec: this is a string in the form <name>:<flag_spec>[,<flag_spec>...]
Examples of valid argspecs:
- <name> is a token made of any non-space, non-tab and non-colon
- <flag_spec> is string in the form <flag_name&lgt;[(<flag_parameter>[|<flag_parameter>...])]
- <flag_parameter> is a string containing arbitrary characters, however, because parenthesys ")" and "(" and pipe "|" are separators in the argspec syntax, they need to be escaped via the character backslash (\)
- my_page_parameter - my_page_parameter:integer - my_page_parameter:integer,notnull - my_page_parameter:integer,notnull,oneof(1|2|3) - another_page_parameter:oneof(this is valid|This, is also valid|This is valid \(as well!\))
- Parameters:
- arg_spec (required)
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- ad_page_contract_argspec_parsing
Source code: set flag_rx [ad_page_contract_argspec_flag_regexp] if { ![regexp [subst -nocommands {^([^ \t:]+)(?::(${flag_rx}(?:,${flag_rx})*))?$}] $arg_spec match name flags] } { error "Argspec '$arg_spec' doesn't have the right format. It must be var\[:flag\[,flag ...\]\]" } return [list $name $flags]XQL Not present: Generic, PostgreSQL, Oracle