Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch update-doc-tracker-links Excluding Merge-Ins
This is equivalent to a diff from 17705e46c3 to fc02651c25
2013-06-04
| ||
05:29 | Merged documentation changes re-routing tracker references. check-in: 8c4bf4f087 user: aku tags: trunk | |
05:27 | More links fixed. Closed-Leaf check-in: fc02651c25 user: aku tags: update-doc-tracker-links | |
2013-06-03
| ||
17:20 | Updated the embedded docs, and fixed keywords mis-cleanup. check-in: 1f2b96a8ef user: aku tags: update-doc-tracker-links | |
2013-05-31
| ||
21:05 | Update documentation for new location of tracker, using the opportunity to fix up all the places not using the general feedback include file yet. First pass, only modules with few manpages. check-in: 4991c23cd0 user: andreask tags: update-doc-tracker-links | |
19:56 | Added Colin Macleod and http://wiki/21555 to the set of acknowledged contributors and references for the module. check-in: 17705e46c3 user: andreask tags: trunk | |
2013-05-30
| ||
21:22 | [Bug 3612645][Allura 1366]: Fix handling of last block read, it may be empty. In that case we must not pad, nor try to decrypt it into garbage. Extended testsuite with cases for this. Version bumped to 1.1.1. check-in: eb0e6a2524 user: andreask tags: trunk | |
Changes to apps/dtplite.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin dtplite n 1.0.5] [copyright {2004-2013 Andreas Kupries <[email protected]>}] [titledesc {Lightweight DocTools Markup Processor}] [moddesc {Documentation toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd dtplite], is the successor to the extremely simple [syscmd mpexpand]. Influenced in its functionality by the [syscmd dtp] doctools processor it is much more powerful than [syscmd mpexpand], yet still as easy to use; definitely easier than [syscmd dtp] with its myriad of subcommands and options. [para] [syscmd dtplite] is based upon the package [package doctools], like the other two processors. | > > > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin dtplite n 1.0.5] [see_also {docidx introduction}] [see_also {doctoc introduction}] [see_also {doctools introduction}] [keywords conversion] [keywords docidx] [keywords doctoc] [keywords doctools] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [copyright {2004-2013 Andreas Kupries <[email protected]>}] [titledesc {Lightweight DocTools Markup Processor}] [moddesc {Documentation toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd dtplite], is the successor to the extremely simple [syscmd mpexpand]. Influenced in its functionality by the [syscmd dtp] doctools processor it is much more powerful than [syscmd mpexpand], yet still as easy to use; definitely easier than [syscmd dtp] with its myriad of subcommands and options. [para] [syscmd dtplite] is based upon the package [package doctools], like the other two processors. [subsection {USE CASES}] [syscmd dtplite] was written with the following three use cases in mind. [para] |
︙ | ︙ | |||
87 88 89 90 91 92 93 | has to exist and must be a writable directory. The generated document will be written to a file in that directory, and the name of that file will be derived from the [arg inputfile], the [arg format], and the value given to option [option -ext] (if present). | < < < < < | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | has to exist and must be a writable directory. The generated document will be written to a file in that directory, and the name of that file will be derived from the [arg inputfile], the [arg format], and the value given to option [option -ext] (if present). [arg_def (path|handle) format in] This argument specifies the formatting engine to use when processing the input, and thus the format of the generated document. See section [sectref FORMATS] for the possibilities recognized by the application. [arg_def path inputfile in] This argument specifies the path to the file to process. It has to exist, must be readable, and written in [term doctools] format. [list_end] [para] [call [cmd dtplite] [const validate] [arg inputfile]] This is a simpler form for use case [lb]1[rb]. The "validate" format generates no output at all, only syntax checks are performed. As such the specification of an output file or other options is not necessary and left out. [call [cmd dtplite] [option -o] [arg output] [opt options] [arg format] [arg inputdirectory]] This is the form for use case [lb]2[rb]. It differs from the form for use case [lb]1[rb] by having the input documents specified through a directory instead of a file. The other arguments are identical, except for [arg output], which now has to be the path to an existing and writable directory. [para] The input documents are all files in [arg inputdirectory] or any of its subdirectories which were recognized by [cmd fileutil::fileType] as containing text in [term doctools] format. [call [cmd dtplite] [option -merge] [option -o] [arg output] [opt options] [arg format] [arg inputdirectory]] This is the form for use case [lb]3[rb]. The only difference to the form for use case [lb]2[rb] is the additional option [option -merge]. [para] |
︙ | ︙ | |||
161 162 163 164 165 166 167 | [opt_def -exclude string] This option specifies an exclude (glob) pattern. Any files identified as manpages to process which match the exclude pattern are ignored. The option can be provided multiple times, each usage adding an additional pattern to the list of exclusions. | < < < < | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | [opt_def -exclude string] This option specifies an exclude (glob) pattern. Any files identified as manpages to process which match the exclude pattern are ignored. The option can be provided multiple times, each usage adding an additional pattern to the list of exclusions. [opt_def -ext string] If the name of an output file has to be derived from the name of an input file it will use the name of the [arg format] as the extension by default. This option here will override this however, forcing it to use [arg string] as the file extension. This option is ignored if the name of the output file is fully specified through option [option -o]. [para] When used multiple times only the last definition is relevant. [opt_def -header file] This option can be used if and only if the selected [arg format] provides an engine parameter named "header". It takes the contents of the specified file and assign them to that parameter, for whatever use by the engine. The HTML engine will insert the text just after the tag [const <body>]. If navigation buttons are present (see option [option -nav] below), then the HTML generated for them is appended to the header data originating here before the final assignment to the parameter. [para] When used multiple times only the last definition is relevant. [opt_def -footer file] Like [option -header], except that: Any navigation buttons are ignored, the corresponding required engine parameter is named "footer", and the data is inserted just before the tag [const </body>]. [para] When used multiple times only the last definition is relevant. [opt_def -style file] This option can be used if and only if the selected [arg format] provides an engine parameter named "meta". When specified it will generate a piece of HTML code declaring the [arg file] as the stylesheet for the generated document and assign that to the |
︙ | ︙ | |||
224 225 226 227 228 229 230 | have no location to copy the stylesheet to and so just reference it as specified. [para] When used multiple times only the last definition is relevant. | < < < | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | have no location to copy the stylesheet to and so just reference it as specified. [para] When used multiple times only the last definition is relevant. [opt_def -toc path] This option specifies a doctoc file to use for the table of contents instead of generating our own. [para] When used multiple times only the last definition is relevant. [opt_def -pre+toc "label path|text"] [opt_def -post+toc "label path|text"] This option specifies additional doctoc files (or texts) to use in the navigation bar. [para] Positioning and handling of multiple uses is like for options [option -prenav] and [option -postnav], see below. [opt_def -nav "label url"] [opt_def -prenav "label url"] Use this option to specify a navigation button with [arg label] to display and the [arg url] to link to. This option can be used if and only if the selected [arg format] provides an engine parameter named |
︙ | ︙ | |||
265 266 267 268 269 270 271 | navigation bar is created, with the first definition shown at the left edge and the last definition to the right. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. | < < | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | navigation bar is created, with the first definition shown at the left edge and the last definition to the right. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. [opt_def -postnav "label url"] Use this option to specify a navigation button with [arg label] to display and the [arg url] to link to. This option can be used if and only if the selected [arg format] provides an engine parameter named "header". The HTML generated for this is appended to whatever data we got from option [option -header] before it is inserted into the generated documents. [para] When used multiple times all definitions are collected and a navigation bar is created, with the last definition shown at the right edge and the first definition to the left. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. [list_end] [subsection FORMATS] At first the [arg format] argument will be treated as a path to a tcl file containing the code for the requested formatting engine. The argument will be treated as the name of one of the predefined formats listed below if and only if the path does not exist. |
︙ | ︙ | |||
341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. This format is used internally to extract the meta data from which both table of contents and keyword index are derived from. [def [const null]] The processor does not generate any output. This is equivalent to [const validate]. [list_end] | > > > > > > > > > > > > < | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. [see_also {docidx introduction}] [see_also {doctoc introduction}] [see_also {doctools introduction}] [keywords conversion] [keywords docidx] [keywords doctoc] [keywords doctools] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] This format is used internally to extract the meta data from which both table of contents and keyword index are derived from. [def [const null]] The processor does not generate any output. This is equivalent to [const validate]. [list_end] [subsection {DIRECTORY STRUCTURES}] In this section we describe the directory structures generated by the application under [arg output] when processing all documents in an [arg inputdirectory]. In other words, this is only relevant to the use cases [lb]2[rb] and [lb]3[rb]. |
︙ | ︙ | |||
383 384 385 386 387 388 389 | The last line in the example shows the document generated for a file FOO located at [example { inputdirectory/path/to/FOO }] | < | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | The last line in the example shows the document generated for a file FOO located at [example { inputdirectory/path/to/FOO }] [def "[lb]3[rb]"] When merging many packages into a unified set of documents the generated directory structure is a bit deeper: [example { |
︙ | ︙ | |||
431 432 433 434 435 436 437 | conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup. [list_end] | < | < < | < < < < < < < < < < < < | 438 439 440 441 442 443 444 445 446 447 | conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup. [list_end] [vset CATEGORY doctools] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to apps/nns.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nns n 1.1] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Client Application}] [category Networking] [description] [para] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nns n 1.1] [see_also nameserv(n)] [see_also nameserv::common(n)] [keywords application] [keywords client] [keywords {name service}] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Client Application}] [category Networking] [description] [para] |
︙ | ︙ | |||
65 66 67 68 69 70 71 | name service and reestablish the [arg name]/[arg data] pair when the connection is restored. [para] The options to specify the name service will be explained later, in section [sectref OPTIONS]. | < | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | name service and reestablish the [arg name]/[arg data] pair when the connection is restored. [para] The options to specify the name service will be explained later, in section [sectref OPTIONS]. [call [cmd nns] [method search] \ [opt "[option -host] [arg host]"] \ [opt "[option -port] [arg port]"] \ [opt [option -continuous]] \ [opt [arg pattern]]] This form searches the specified name service for entries matching the |
︙ | ︙ | |||
90 91 92 93 94 95 96 | If the option [option -continuous] is specified the client will not exit after performing the search, but start to continuously monitor the service for changes to the set of matching entries, appropriately updating the display as changes arrive. In that form it will especially also survive the loss of the connection to the name service and reestablish the search when the connection is restored. | < < | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | If the option [option -continuous] is specified the client will not exit after performing the search, but start to continuously monitor the service for changes to the set of matching entries, appropriately updating the display as changes arrive. In that form it will especially also survive the loss of the connection to the name service and reestablish the search when the connection is restored. [call [cmd nns] [method ident] \ [opt "[option -host] [arg host]"] \ [opt "[option -port] [arg port]"]] This form asks the specified name service for the version and features of the name service protocol it supports and prints the results to stdout. [para] The options to specify the name service will be explained later, in section [sectref OPTIONS]. [call [cmd nns] [method who]] This form prints name, version, and protocol version of the application to stdout. [list_end] |
︙ | ︙ | |||
132 133 134 135 136 137 138 | If this option is not specified it defaults to [const 38573]. It specifies the TCP port the name service to talk to is listening on for requests. [list_end] | | < | < < < < < < < < < < < < < | 134 135 136 137 138 139 140 141 142 143 | If this option is not specified it defaults to [const 38573]. It specifies the TCP port the name service to talk to is listening on for requests. [list_end] [vset CATEGORY nameserv] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to apps/nnsd.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nnsd n 1.0.1] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Server Application}] [category Networking] [description] [para] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nnsd n 1.0.1] [see_also nameserv::common(n)] [see_also nameserv::server(n)] [keywords application] [keywords {name service}] [keywords server] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Server Application}] [category Networking] [description] [para] |
︙ | ︙ | |||
77 78 79 80 81 82 83 | [opt_def -port number] If this option is not specified it defaults to [const 38573]. It specifies the TCP port the server has to listen on for requests. [list_end] | | < | < < < < < < < < < < < < < | 82 83 84 85 86 87 88 89 90 91 | [opt_def -port number] If this option is not specified it defaults to [const 38573]. It specifies the TCP port the server has to listen on for requests. [list_end] [vset CATEGORY nameserv] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to apps/nnslog.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nnslog n 1.0] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Logging Client Application}] [category Networking] [description] [para] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nnslog n 1.0] [see_also nameserv(n)] [see_also nameserv::common(n)] [keywords application] [keywords client] [keywords {name service}] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Commandline Logging Client Application}] [category Networking] [description] [para] |
︙ | ︙ | |||
79 80 81 82 83 84 85 | If this option is not specified it defaults to [const 38573]. It specifies the TCP port the name service to talk to is listening on for requests. [list_end] | < | < < | < < < < < < < < < < | 84 85 86 87 88 89 90 91 92 93 | If this option is not specified it defaults to [const 38573]. It specifies the TCP port the name service to talk to is listening on for requests. [list_end] [vset CATEGORY nameserv] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to apps/page.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page n 1.0] [copyright {2005 Andreas Kupries <[email protected]>}] [titledesc {Parser Generator}] [moddesc {Development Tools}] [category {Page Parser Generator}] [description] [para] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page n 1.0] [see_also page::pluginmgr] [keywords {parser generator}] [keywords {text processing}] [copyright {2005 Andreas Kupries <[email protected]>}] [titledesc {Parser Generator}] [moddesc {Development Tools}] [category {Page Parser Generator}] [description] [para] |
︙ | ︙ | |||
79 80 81 82 83 84 85 | [list_end] [list_end] [subsection OPERATION] ... reading ... transforming ... writing - plugins - pipeline ... | < | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | [list_end] [list_end] [subsection OPERATION] ... reading ... transforming ... writing - plugins - pipeline ... [subsection OPTIONS] This section describes all the options available to the user of the application. Options are always processed in order. I.e. of both [option --help] and [option --version] are specified the option encountered first has precedence. |
︙ | ︙ | |||
218 219 220 221 222 223 224 | argumentes containing spaces can be quoted via double-quotes (") and quotes ('). The quote character can be specified within in a quoted string by doubling it. Newlines in a quoted string are accepted as is. [comment {"}] [list_end] | < | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | argumentes containing spaces can be quoted via double-quotes (") and quotes ('). The quote character can be specified within in a quoted string by doubling it. Newlines in a quoted string are accepted as is. [comment {"}] [list_end] [subsection PLUGINS] [syscmd page] makes use of four different types of plugins, namely: readers, writers, transformations, and configurations. Here we provide only a basic introduction on how to use them from [syscmd page]. The exact APIs provided to and expected from the plugins can be found in the documentation for [package page::pluginmgr], for those who wish to |
︙ | ︙ | |||
276 277 278 279 280 281 282 | --transform use --writer me }] [para] [list_end] | < | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | --transform use --writer me }] [para] [list_end] [def "[option -r] [arg name]"] Readers. The name of the package for the plugin [arg name] is "page::reader::[arg name]". [para] We have five predefined plugins: |
︙ | ︙ | |||
318 319 320 321 322 323 324 | [def [emph treeser]] Interprets the input as the serialization of a [package struct::tree]. It is validated as such, but nothing else. It is [emph not] assumed to be the tree representation of a grammar. [list_end] | < | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | [def [emph treeser]] Interprets the input as the serialization of a [package struct::tree]. It is validated as such, but nothing else. It is [emph not] assumed to be the tree representation of a grammar. [list_end] [def "[option -w] [arg name]"] Writers. The name of the package for the plugin [arg name] is "page::writer::[arg name]". [para] |
︙ | ︙ | |||
361 362 363 364 365 366 367 | [def [emph tpc]] Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar and writes out Tcl code defining a package which defines a [package grammar::peg] object containing the grammar when it is loaded into an interpreter. | < | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | [def [emph tpc]] Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar and writes out Tcl code defining a package which defines a [package grammar::peg] object containing the grammar when it is loaded into an interpreter. [def [emph hb]] This is like the writer plugin [emph tpc], but it writes only the statements which define stat expression and grammar rules. The code making the result a package is left out. [def [emph ser]] |
︙ | ︙ | |||
383 384 385 386 387 388 389 | Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar and writes out Tcl code defining a package which implements a memoizing recursive descent parser based on the match engine (ME) provided by the package [package grammar::mengine]. [list_end] | < < | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar and writes out Tcl code defining a package which implements a memoizing recursive descent parser based on the match engine (ME) provided by the package [package grammar::mengine]. [list_end] [def "[option -t] [arg name]"] Transformers. The name of the package for the plugin [arg name] is "page::transform::[arg name]". [para] We have two predefined plugins: [list_begin definitions] [def [emph reach]] Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar. It determines which nonterminal symbols and rules are reachable from start-symbol/expression. All nonterminal symbols which were not reached are removed. [def [emph use]] Assumes that the incoming data structure is a tree representation of a [term PEG] or other other grammar. It determines which nonterminal symbols and rules are able to generate a [emph finite] sequences of terminal symbols (in the sense for a Context Free Grammar). All |
︙ | ︙ | |||
462 463 464 465 466 467 468 | [para] The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows). | < | < < | < < < < < < < < < | 458 459 460 461 462 463 464 465 466 467 | [para] The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows). [vset CATEGORY page] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to apps/pt.man.
︙ | ︙ | |||
145 146 147 148 149 150 151 | It (quickly) generates grammar descriptions (instead of a full parser) which match the API expected by ParserTools' grammar interpreter. The latter is provided by the package [package pt::peg::interp]. [list_end] | < < | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | It (quickly) generates grammar descriptions (instead of a full parser) which match the API expected by ParserTools' grammar interpreter. The latter is provided by the package [package pt::peg::interp]. [list_end] All the parsers generated by [const critcl], [const snit], and [const oo], and the grammar interpreter share a common API for access to the actual parsing functionality, making them all plug-compatible. It is described in the [manpage {Parser API}] specification document. [section {PEG Specification Language}] [include ../modules/pt/include/format/whatis_peg.inc] [para] For either an introduction to or the formal specification of the language, please go and read the [manpage {PEG Language Tutorial}]. |
︙ | ︙ | |||
222 223 224 225 226 227 228 | [include ../modules/pt/include/format/whatis_container.inc] [para] This result-format supports the following options: [include ../modules/pt/include/format/options_container.inc] | < < < | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | [include ../modules/pt/include/format/whatis_container.inc] [para] This result-format supports the following options: [include ../modules/pt/include/format/options_container.inc] [section Example] [vset MODE app][include ../modules/pt/include/example/full.inc] [section Internals] This section is intended for users of the application which wish to modify or extend it. Users only interested in the generation of parsers can ignore it. |
︙ | ︙ |
Changes to apps/tcldocstrip.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcldocstrip n 1.0] [copyright {2005 Andreas Kupries <[email protected]>}] [titledesc {Tcl-based Docstrip Processor}] [moddesc {Textprocessing toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd tcldocstrip], is a relative of [syscmd docstrip], a simple literate programming tool for LaTeX. [para] [syscmd tcldocstrip] is based upon the package [package docstrip]. | > > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcldocstrip n 1.0] [see_also docstrip] [keywords .dtx] [keywords conversion] [keywords docstrip] [keywords documentation] [keywords LaTeX] [keywords {literate programming}] [keywords markup] [keywords source] [copyright {2005 Andreas Kupries <[email protected]>}] [titledesc {Tcl-based Docstrip Processor}] [moddesc {Textprocessing toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd tcldocstrip], is a relative of [syscmd docstrip], a simple literate programming tool for LaTeX. [para] [syscmd tcldocstrip] is based upon the package [package docstrip]. [subsection {USE CASES}] [syscmd tcldocstrip] was written with the following three use cases in mind. [para] [list_begin enumerated] [enum] Conversion of a single input file according to the listed guards into the stripped output. This handles the most simple case of a set of guards specifying a single document found in a single input file. [enum] Stitching, or the assembly of an output from several sets of guards, in a specific order, and possibly from different files. This is the second common case. One document spread over several inputs, and/or spread over different guard sets. |
︙ | ︙ | |||
76 77 78 79 80 81 82 | This argument specifies the path to the file to process. It has to exist, must be readable, and written in [term docstrip] format. [list_end] [para] | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | This argument specifies the path to the file to process. It has to exist, must be readable, and written in [term docstrip] format. [list_end] [para] [call [cmd tcldocstrip] [opt options] [arg output] ([opt options] [arg input] [arg guards])...] This is the form for use case [lb]2[rb]. It differs from the form for use case [lb]1[rb] by the possibility of having options before the output file, which apply in general, and specifying more than one inputfile, each with its own set of input specific options and guards. |
︙ | ︙ | |||
101 102 103 104 105 106 107 | Using the string [const "."] for an input file signals that the last input file should be used again. This enables the assembly of the output from one input file using multiple and different sets of guards, without having to specify the full name of the file every time. | < | | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | Using the string [const "."] for an input file signals that the last input file should be used again. This enables the assembly of the output from one input file using multiple and different sets of guards, without having to specify the full name of the file every time. [call [cmd tcldocstrip] [option -guards] [arg input]] This is the form for use case [lb]3[rb]. It determines the guards, and unique guard expressions used within the provided [arg input] document. The found strings are written to stdout, one string per line. [list_end] |
︙ | ︙ | |||
183 184 185 186 187 188 189 | Preambles, when active, are written before the actual content of a generated file. In the same manner postambles are, when active, written after the actual content of a generated file. [list_end] | < | < < | < < < < < < < < < < < | 188 189 190 191 192 193 194 195 196 197 | Preambles, when active, are written before the actual content of a generated file. In the same manner postambles are, when active, written after the actual content of a generated file. [list_end] [vset CATEGORY docstrip] [include ../modules/doctools2base/include/feedback.inc] [manpage_end] |
Changes to embedded/man/files/apps/dtplite.n.
︙ | ︙ | |||
573 574 575 576 577 578 579 | in doctoc and docidx markup, respectively, containing the main table of contents and keyword index for the set of documents before their conversion to the chosen output format\&. They are left in place, i\&.e\&. not deleted, to serve as demonstrations of doctoc and docidx markup\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | in doctoc and docidx markup, respectively, containing the main table of contents and keyword index for the set of documents before their conversion to the chosen output format\&. They are left in place, i\&.e\&. not deleted, to serve as demonstrations of doctoc and docidx markup\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx introduction, doctoc introduction, doctools introduction .SH KEYWORDS HTML, TMML, conversion, docidx, doctoc, doctools, manpage, markup, nroff .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/nns.n.
︙ | ︙ | |||
335 336 337 338 339 340 341 | .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the name service to talk to is listening on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the name service to talk to is listening on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv(n), nameserv::common(n) .SH KEYWORDS application, client, name service .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/nnsd.n.
︙ | ︙ | |||
293 294 295 296 297 298 299 | option is configured to \fBfalse\fR\&. .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the server has to listen on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | option is configured to \fBfalse\fR\&. .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the server has to listen on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv::common(n), nameserv::server(n) .SH KEYWORDS application, name service, server .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/nnslog.n.
︙ | ︙ | |||
296 297 298 299 300 301 302 | .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the name service to talk to is listening on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | .TP \fB-port\fR number If this option is not specified it defaults to \fB38573\fR\&. It specifies the TCP port the name service to talk to is listening on for requests\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv(n), nameserv::common(n) .SH KEYWORDS application, client, name service .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/page.n.
︙ | ︙ | |||
625 626 627 628 629 630 631 | The registry entries are specific to the Windows(tm) platform, all other platforms will ignore them\&. .PP The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows)\&. .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 | The registry entries are specific to the Windows(tm) platform, all other platforms will ignore them\&. .PP The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows)\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" page::pluginmgr .SH KEYWORDS parser generator, text processing .SH CATEGORY Page Parser Generator .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/pt.n.
︙ | ︙ | |||
902 903 904 905 906 907 908 | .PP The main functionality of the application is encapsulated in the package \fBpt::pgen\fR\&. Please read it for more information\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 | .PP The main functionality of the application is encapsulated in the package \fBpt::pgen\fR\&. Please read it for more information\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/apps/tcldocstrip.n.
︙ | ︙ | |||
383 384 385 386 387 388 389 | standard parts are shown\&. This is the default\&. .sp Preambles, when active, are written before the actual content of a generated file\&. In the same manner postambles are, when active, written after the actual content of a generated file\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | standard parts are shown\&. This is the default\&. .sp Preambles, when active, are written before the actual content of a generated file\&. In the same manner postambles are, when active, written after the actual content of a generated file\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdocstrip\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docstrip .SH KEYWORDS \\\&.dtx, LaTeX, conversion, docstrip, documentation, literate programming, markup, source .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/aes/aes.n.
1 2 3 | '\" '\" Generated from file '/home/aku/Projects/Tcllib/tcllib/embedded/man/files/modules/aes/aes\&.n' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2005, Pat Thoyts <patthoyts@users\&.sourceforge\&.net> | | | 1 2 3 4 5 6 7 8 9 10 11 | '\" '\" Generated from file '/home/aku/Projects/Tcllib/tcllib/embedded/man/files/modules/aes/aes\&.n' by tcllib/doctools with format 'nroff' '\" Copyright (c) 2005, Pat Thoyts <patthoyts@users\&.sourceforge\&.net> '\" Copyright (c) 2012-2013, Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> '\" '\" The definitions below are for supplemental macros used in Tcl/Tk '\" manual entries. '\" '\" .AP type name in/out ?indent? '\" Start paragraph describing an argument to a library procedure. '\" type is type of argument (int, etc.), in/out is either "in", "out", |
︙ | ︙ | |||
235 236 237 238 239 240 241 | .de CE .fi .RE .. .de UL \\$1\l'|0\(ul'\\$2 .. | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | .de CE .fi .RE .. .de UL \\$1\l'|0\(ul'\\$2 .. .TH "aes" n 1\&.1\&.1 tcllib "Advanced Encryption Standard (AES)" .BS .SH NAME aes \- Implementation of the AES block cipher .SH SYNOPSIS package require \fBTcl 8\&.2\fR .sp package require \fBaes ?1\&.1\&.1?\fR .sp \fB::aes::aes\fR ?\fI-mode [ecb|cbc]\fR? ?\fI-dir [encrypt|decrypt]\fR? \fI-key keydata\fR ?\fI-iv vector\fR? ?\fI-hex\fR? ?\fI-out channel\fR? ?\fI-chunksize size\fR? [ \fI-in channel\fR | ?\fB--\fR? \fIdata\fR ] .sp \fB::aes::Init\fR \fImode\fR \fIkeydata\fR \fIiv\fR .sp \fB::aes::Encrypt\fR \fIKey\fR \fIdata\fR .sp |
︙ | ︙ | |||
367 368 369 370 371 372 373 | .PP .SH AUTHORS Thorsten Schloermann, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIaes\fR of the | | | | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | .PP .SH AUTHORS Thorsten Schloermann, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIaes\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" blowfish(n), des(n), md5(n), sha1(n) .SH KEYWORDS aes, block cipher, data integrity, encryption, security .SH CATEGORY Hashes, checksums, and encryption .SH COPYRIGHT .nf Copyright (c) 2005, Pat Thoyts <patthoyts@users\&.sourceforge\&.net> Copyright (c) 2012-2013, Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to embedded/man/files/modules/amazon-s3/S3.n.
︙ | ︙ | |||
1580 1581 1582 1583 1584 1585 1586 | each moving on to the next unstarted task as it finishes each\&. This is still being designed, and it is intended primarily to be run on Amazon's Elastic Compute Cloud\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIamazon-s3\fR of the | | | 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 | each moving on to the next unstarted task as it finishes each\&. This is still being designed, and it is intended primarily to be run on Amazon's Elastic Compute Cloud\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIamazon-s3\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS amazon, cloud, s3 .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/amazon-s3/xsxp.n.
︙ | ︙ | |||
371 372 373 374 375 376 377 | This outputs to \fIchan\fR (default stdout) a pretty-printed version of \fIpxml\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIamazon-s3\fR of the | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | This outputs to \fIchan\fR (default stdout) a pretty-printed version of \fIpxml\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIamazon-s3\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS dom, parser, xml .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/asn/asn.n.
︙ | ︙ | |||
697 698 699 700 701 702 703 | .SH EXAMPLES Examples for the usage of this package can be found in the implementation of package \fBldap\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIasn\fR of the | | | 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 | .SH EXAMPLES Examples for the usage of this package can be found in the implementation of package \fBldap\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIasn\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS asn, ber, cer, der, internet, protocol, x\&.208, x\&.209 .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base32/base32.n.
︙ | ︙ | |||
307 308 309 310 311 312 313 | 8 I 17 R 26 2 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | 8 I 17 R 26 2 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS base32, rfc3548 .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base32/base32core.n.
︙ | ︙ | |||
295 296 297 298 299 300 301 | The padding has not of length six, four, three, or one characters, .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | The padding has not of length six, four, three, or one characters, .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS base32 .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base32/base32hex.n.
︙ | ︙ | |||
309 310 311 312 313 314 315 | 8 8 17 H 26 Q .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | 8 8 17 H 26 Q .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase32\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS base32, hex, rfc3548 .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base64/ascii85.n.
︙ | ︙ | |||
308 309 310 311 312 313 314 | Postscript Language Reference Manual, 3rd Edition, page 131\&. \fIhttp://www\&.adobe\&.com/devnet/postscript/pdfs/PLRM\&.pdf\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | Postscript Language Reference Manual, 3rd Edition, page 131\&. \fIhttp://www\&.adobe\&.com/devnet/postscript/pdfs/PLRM\&.pdf\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ascii85, encoding .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base64/base64.n.
︙ | ︙ | |||
304 305 306 307 308 309 310 | % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the | | | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS base64, encoding .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base64/uuencode.n.
︙ | ︙ | |||
333 334 335 336 337 338 339 | {hello\&.txt 644 {Hello World}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the | | | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | {hello\&.txt 644 {Hello World}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS encoding, uuencode .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/base64/yencode.n.
︙ | ︙ | |||
316 317 318 319 320 321 322 | .IP [1] \fIhttp://www\&.yenc\&.org/yenc-draft\&.1\&.3\&.txt\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | .IP [1] \fIhttp://www\&.yenc\&.org/yenc-draft\&.1\&.3\&.txt\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbase64\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS encoding, yEnc, ydecode, yencode .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/bee/bee.n.
︙ | ︙ | |||
526 527 528 529 530 531 532 | makes sure that they are different from strings, which all begin with a digit\&. .SH EXAMPLES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbee\fR of the | | | 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 | makes sure that they are different from strings, which all begin with a digit\&. .SH EXAMPLES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbee\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS BitTorrent, bee, bittorrent, serialization, torrent .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench.n.
︙ | ︙ | |||
466 467 468 469 470 471 472 | not match the declared expectations\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the | | | 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 | not match the declared expectations\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench_intro, bench_lang_intro, bench_lang_spec, bench_read, bench_wcsv, bench_wtext .SH KEYWORDS benchmark, merging, normalization, performance, testing .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_intro.n.
︙ | ︙ | |||
275 276 277 278 279 280 281 | written in the bench language, and to manipulate benchmark results\&. .PP .SH "HISTORICAL NOTES" This module and package have been derived from Jeff Hobbs' \fBtclbench\fR application for the benchmarking of the Tcl core and its ancestor "\fIrunbench\&.tcl\fR"\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | written in the bench language, and to manipulate benchmark results\&. .PP .SH "HISTORICAL NOTES" This module and package have been derived from Jeff Hobbs' \fBtclbench\fR application for the benchmarking of the Tcl core and its ancestor "\fIrunbench\&.tcl\fR"\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench, bench_lang_faq, bench_lang_intro, bench_lang_spec .SH KEYWORDS bench language, benchmark, performance, testing .SH CATEGORY Benchmark tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_lang_intro.n.
︙ | ︙ | |||
353 354 355 356 357 358 359 | Now that this document has been digested the reader, assumed to be a \fIwriter\fR of benchmarks, he should be fortified enough to be able to understand the formal \fIbench language specfication\fR\&. It will also serve as the detailed specification and cheat sheet for all available commands and their syntax\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | Now that this document has been digested the reader, assumed to be a \fIwriter\fR of benchmarks, he should be fortified enough to be able to understand the formal \fIbench language specfication\fR\&. It will also serve as the detailed specification and cheat sheet for all available commands and their syntax\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench_intro, bench_lang_spec .SH KEYWORDS bench language, benchmark, examples, performance, testing .SH CATEGORY Benchmark tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_lang_spec.n.
︙ | ︙ | |||
344 345 346 347 348 349 350 | to run without failing\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | to run without failing\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench_intro, bench_lang_intro .SH KEYWORDS bench language, benchmark, performance, specification, testing .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_read.n.
︙ | ︙ | |||
284 285 286 287 288 289 290 | .sp and automatically detects which format is used by the input file\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | .sp and automatically detects which format is used by the input file\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench, bench::out::csv, bench::out::text, bench_intro .SH KEYWORDS benchmark, csv, formatting, human readable, parsing, performance, reading, testing, text .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_wcsv.n.
︙ | ︙ | |||
272 273 274 275 276 277 278 | \fBbench::out::text\fR which provide commands to format benchmark results in raw form, or for human consumption, respectively\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | \fBbench::out::text\fR which provide commands to format benchmark results in raw form, or for human consumption, respectively\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench, bench::out::text .SH KEYWORDS benchmark, csv, formatting, performance, testing .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/bench/bench_wtext.n.
︙ | ︙ | |||
272 273 274 275 276 277 278 | \fBbench::out::csv\fR which provide commands to format benchmark results in raw form, or as importable CSV data, respectively\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | \fBbench::out::csv\fR which provide commands to format benchmark results in raw form, or as importable CSV data, respectively\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbench\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" bench, bench::out::csv .SH KEYWORDS benchmark, formatting, human readable, performance, testing, text .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/bibtex/bibtex.n.
︙ | ︙ | |||
379 380 381 382 383 384 385 | a \fB-stringcommand\fR callback in an invokation of the command \fB::bibtex::parse\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbibtex\fR of the | | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | a \fB-stringcommand\fR callback in an invokation of the command \fB::bibtex::parse\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIbibtex\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS bibliography, bibtex, parsing, text processing .SH CATEGORY Text processing .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/blowfish/blowfish.n.
︙ | ︙ | |||
366 367 368 369 370 371 372 | .PP .SH AUTHORS Frank Pilhofer, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIblowfish\fR of the | | | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | .PP .SH AUTHORS Frank Pilhofer, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIblowfish\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" 3des, des, rc4 .SH KEYWORDS block cipher, blowfish, cryptography, encryption, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/cache/async.n.
︙ | ︙ | |||
359 360 361 362 363 364 365 | all keys known to the cache, making it unkown\&. This forces future \fBget\fR-requests to reload the information from the provider\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcache\fR of the | | | 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | all keys known to the cache, making it unkown\&. This forces future \fBget\fR-requests to reload the information from the provider\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcache\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS asynchronous, cache, callback, synchronous .SH COPYRIGHT .nf Copyright (c) 2008 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/clock/iso8601.n.
︙ | ︙ | |||
278 279 280 281 282 283 284 | \fB-timezone\fR of the builtin command \fBclock scan\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIclock::iso8601\fR of the | | | 278 279 280 281 282 283 284 285 286 287 288 289 | \fB-timezone\fR of the builtin command \fBclock scan\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIclock::iso8601\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH CATEGORY Text processing |
Changes to embedded/man/files/modules/clock/rfc2822.n.
︙ | ︙ | |||
259 260 261 262 263 264 265 | the given date in seconds since epoch\&. An error is thrown if the command is unable to parse the date\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIclock::rfc2822\fR of the | | | 259 260 261 262 263 264 265 266 267 268 269 270 | the given date in seconds since epoch\&. An error is thrown if the command is unable to parse the date\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIclock::rfc2822\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH CATEGORY Text processing |
Changes to embedded/man/files/modules/cmdline/cmdline.n.
︙ | ︙ | |||
387 388 389 390 391 392 393 | options is created, then the 'args' list is passed to cmdline for processing\&. Subsequently, different options are checked to see if they have been passed to the script, and what their value is\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcmdline\fR of the | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | options is created, then the 'args' list is passed to cmdline for processing\&. Subsequently, different options are checked to see if they have been passed to the script, and what their value is\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcmdline\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS argument processing, argv, argv0, cmdline processing, command line processing .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/comm/comm.n.
︙ | ︙ | |||
1287 1288 1289 1290 1291 1292 1293 | Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> uses \fBcomm\fR and has built a simple nameserver as part of his Pool library\&. See \fIhttp://www\&.purl\&.org/net/akupries/soft/pool/index\&.htm\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcomm\fR of the | | | 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 | Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> uses \fBcomm\fR and has built a simple nameserver as part of his Pool library\&. See \fIhttp://www\&.purl\&.org/net/akupries/soft/pool/index\&.htm\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcomm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" send(n) .SH KEYWORDS comm, communication, ipc, message, remote communication, remote execution, rpc, secure, send, socket, ssl, tls .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/comm/comm_wire.n.
︙ | ︙ | |||
389 390 391 392 393 394 395 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcomm\fR of the | | | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcomm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" comm .SH KEYWORDS comm, communication, ipc, message, remote communication, remote execution, rpc, socket .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/control/control.n.
︙ | ︙ | |||
371 372 373 374 375 376 377 | 0 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcontrol\fR of the | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | 0 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcontrol\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" break, continue, expr, if, join, namespace, return, string, while .SH KEYWORDS assert, control, do, flow, no-op, structure .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/coroutine/coro_auto.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | .TP \fBvwait\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcoroutine\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | .TP \fBvwait\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcoroutine\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS after, channel, coroutine, events, exit, gets, global, green threads, read, threads, update, vwait .SH CATEGORY Coroutine .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/coroutine/tcllib_coroutine.n.
︙ | ︙ | |||
332 333 334 335 336 337 338 | This command causes the coroutine calling it to wait for a write to the named namespace variable \fIvarname\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcoroutine\fR of the | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | This command causes the coroutine calling it to wait for a write to the named namespace variable \fIvarname\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcoroutine\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS after, channel, coroutine, events, exit, gets, global, green threads, read, threads, update, vwait .SH CATEGORY Coroutine .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/counter/counter.n.
︙ | ︙ | |||
447 448 449 450 451 452 453 | \fIargs\fR determine the new characteristics of the counter\&. They have the same meaning as described for \fB::counter::init\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcounter\fR of the | | | 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | \fIargs\fR determine the new characteristics of the counter\&. They have the same meaning as described for \fB::counter::init\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcounter\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS counting, histogram, statistics, tallying .SH CATEGORY Data structures |
Changes to embedded/man/files/modules/crc/cksum.n.
︙ | ︙ | |||
347 348 349 350 351 352 353 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the | | | 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" crc32(n), sum(n) .SH KEYWORDS checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/crc/crc16.n.
︙ | ︙ | |||
365 366 367 368 369 370 371 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the | | | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" cksum(n), crc32(n), sum(n) .SH KEYWORDS checksum, cksum, crc, crc16, crc32, cyclic redundancy check, data integrity, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/crc/crc32.n.
︙ | ︙ | |||
363 364 365 366 367 368 369 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the | | | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" cksum(n), crc16(n), sum(n) .SH KEYWORDS checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/crc/sum.n.
︙ | ︙ | |||
318 319 320 321 322 323 324 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the | | | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcrc\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" cksum(n), crc32(n), sum(1) .SH KEYWORDS checksum, cksum, crc, crc32, cyclic redundancy check, data integrity, security, sum .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/csv/csv.n.
︙ | ︙ | |||
455 456 457 458 459 460 461 | .CE instead\&. As can be seen only item (d) is different, now the empty string instead of a "\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcsv\fR of the | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | .CE instead\&. As can be seen only item (d) is different, now the empty string instead of a "\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIcsv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" matrix, queue .SH KEYWORDS csv, matrix, package, queue, tcllib .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/debug/debug.n.
︙ | ︙ | |||
446 447 448 449 450 451 452 | .sp The result of the method is the specified text\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the | | | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | .sp The result of the method is the specified text\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS debug, log, narrative, trace .SH CATEGORY debugging, tracing, and logging .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/debug/debug_caller.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | OO system and rewrites these to their original form, for better readability\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | OO system and rewrites these to their original form, for better readability\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS debug, log, narrative, trace .SH CATEGORY debugging, tracing, and logging .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/debug/debug_heartbeat.n.
︙ | ︙ | |||
269 270 271 272 273 274 275 | providing insight into timing variationsn and deviations from the nominal \fIdelta\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | providing insight into timing variationsn and deviations from the nominal \fIdelta\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS debug, heartbeat, log, narrative, trace .SH CATEGORY debugging, tracing, and logging .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/debug/debug_timestamp.n.
︙ | ︙ | |||
261 262 263 264 265 266 267 | provide caller information for all uses of the tag\&. Or in a message, when only specific places need such detail\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the | | | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | provide caller information for all uses of the tag\&. Or in a message, when only specific places need such detail\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdebug\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS debug, log, narrative, timestamps, trace .SH CATEGORY debugging, tracing, and logging .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/des/des.n.
︙ | ︙ | |||
399 400 401 402 403 404 405 | Jochen C Loewer, Mac Cody, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdes\fR of the | | | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 | Jochen C Loewer, Mac Cody, Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdes\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" aes(n), blowfish(n), md5(n), rc4(n), sha1(n) .SH KEYWORDS 3DES, DES, block cipher, data integrity, encryption, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/dns/tcllib_dns.n.
︙ | ︙ | |||
485 486 487 488 489 490 491 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdns\fR of the | | | 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdns\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" resolver(5) .SH KEYWORDS DNS, domain name service, resolver, rfc 1034, rfc 1035, rfc 1886 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/dns/tcllib_ip.n.
︙ | ︙ | |||
672 673 674 675 676 677 678 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdns\fR of the | | | 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdns\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" inet(3), ip(7), ipv6(7) .SH KEYWORDS internet address, ip, ipv4, ipv6, rfc 3513 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/docstrip/docstrip_util.n.
︙ | ︙ | |||
670 671 672 673 674 675 676 677 678 679 680 681 682 683 | At the time of writing, no project has employed \fBdoctools\fR markup in master source files, so experience of what works well is not available\&. A source file could however look as follows .CS % [manpage_begin gcd n 1\&.0] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1\&.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which | > > > > > > > > > > > > > > > | 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 | At the time of writing, no project has employed \fBdoctools\fR markup in master source files, so experience of what works well is not available\&. A source file could however look as follows .CS % [manpage_begin gcd n 1\&.0] [see_also docstrip] [see_also doctools] [see_also doctools_fmt] [keywords \&.ddt] [keywords catalogue] [keywords diff] [keywords docstrip] [keywords doctools] [keywords documentation] [keywords {literate programming}] [keywords module] [keywords {package indexing}] [keywords patch] [keywords source] [keywords {Tcl module}] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1\&.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/changelog.n.
︙ | ︙ | |||
318 319 320 321 322 323 324 | multiple entries for the same date and author into a single entry\&. The new structure is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | multiple entries for the same date and author into a single entry\&. The new structure is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS changelog, doctools, emacs .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/cvs.n.
︙ | ︙ | |||
313 314 315 316 317 318 319 | format of a ChangeLog as accepted and generated by \fBemacs\fR\&. The constructed text is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | format of a ChangeLog as accepted and generated by \fBemacs\fR\&. The constructed text is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" [uri, http://wiki\&.tcl\&.tk/log2changelog .SH KEYWORDS changelog, cvs, cvs log, emacs, log .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2003-2008 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx.n.
︙ | ︙ | |||
547 548 549 550 551 552 553 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, docidx_lang_cmdref, docidx_lang_intro, docidx_lang_syntax, docidx_plugin_apiref .SH KEYWORDS HTML, TMML, conversion, docidx, documentation, index, keyword index, latex, manpage, markup, nroff, wiki .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_intro.n.
︙ | ︙ | |||
298 299 300 301 302 303 304 | called \fIdoctoc\fR and \fIdoctools\fR, and they are for the markup of \fItables of contents\fR, and general documentation, respectively\&. They are described in their own sets of documents, starting at the \fIdoctoc introduction\fR and the \fIdoctools introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | called \fIdoctoc\fR and \fIdoctools\fR, and they are for the markup of \fItables of contents\fR, and general documentation, respectively\&. They are described in their own sets of documents, starting at the \fIdoctoc introduction\fR and the \fIdoctools introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_lang_cmdref, docidx_lang_faq, docidx_lang_intro, docidx_lang_syntax, docidx_plugin_apiref, doctoc_intro, doctools::idx, doctools_intro .SH KEYWORDS index, keyword index, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_lang_cmdref.n.
︙ | ︙ | |||
342 343 344 345 346 347 348 | Templating\&. In this form the command is replaced by the value of the named document variable .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | Templating\&. In this form the command is replaced by the value of the named document variable .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, docidx_lang_faq, docidx_lang_intro, docidx_lang_syntax .SH KEYWORDS docidx commands, docidx language, docidx markup, markup, semantic markup .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_lang_faq.n.
︙ | ︙ | |||
239 240 241 242 243 244 245 | \\$1\l'|0\(ul'\\$2 .. .TH "docidx_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME docidx_lang_faq \- docidx language faq .SH DESCRIPTION | < | | | | | | | | | | | | > | | | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | \\$1\l'|0\(ul'\\$2 .. .TH "docidx_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME docidx_lang_faq \- docidx language faq .SH DESCRIPTION .SH OVERVIEW .SS "WHAT IS THIS DOCUMENT?" This document is currently mainly a placeholder, to be filled with commonly asked questions about the docidx markup language and companions, and their answers\&. .PP Please report any questions (and, if possible, answers) we should consider for this document as explained in the section \fBBugs, Ideas, Feedback\fR below\&. .SH EXAMPLES .SS "WHERE DO I FIND DOCIDX EXAMPLES?" We have no direct examples of documents written using docidx markup\&. However the doctools processor \fBdtplite\fR does generate a table of contents when processing a set of documents written in doctools markup\&. The intermediate file for it uses docidx markup and is not deleted when generation completes\&. Such files can therefore serve as examples\&. .PP \fBdtplite\fR is distributed as part of Tcllib, so to get it you need one of .IP [1] A snapshot of Tcllib\&. How to retrieve such a snapshot and the tools required for this are described at \fIDevelopment Snapshots\fR [/wiki?name=Development+Snapshots] .IP [2] A Tcllib release archive\&. They are available at the \fIhome\fR [/home] page\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_lang_cmdref, docidx_lang_intro, docidx_lang_syntax .SH KEYWORDS docidx commands, docidx language, docidx markup, docidx syntax, examples, faq, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_lang_intro.n.
︙ | ︙ | |||
413 414 415 416 417 418 419 | .PP On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple \fBdtplite\fR goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | .PP On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple \fBdtplite\fR goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, docidx_lang_cmdref, docidx_lang_syntax .SH KEYWORDS docidx commands, docidx language, docidx markup, docidx syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_lang_syntax.n.
︙ | ︙ | |||
317 318 319 320 321 322 323 | .IP [2] \fBrb\fR, or .IP [3] \fBvset\fR (1-argument form)\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | .IP [2] \fBrb\fR, or .IP [3] \fBvset\fR (1-argument form)\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, docidx_lang_cmdref, docidx_lang_faq, docidx_lang_intro .SH KEYWORDS docidx commands, docidx language, docidx markup, docidx syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/docidx_plugin_apiref.n.
︙ | ︙ | |||
595 596 597 598 599 600 601 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, docidx_lang_cmdref, docidx_lang_faq, docidx_lang_intro, docidx_lang_syntax, doctools::idx .SH KEYWORDS formatting engine, index, index formatter, keywords, markup, plugin, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc.n.
︙ | ︙ | |||
547 548 549 550 551 552 553 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctoc_lang_cmdref, doctoc_lang_intro, doctoc_lang_syntax, doctoc_plugin_apiref .SH KEYWORDS HTML, TMML, conversion, doctoc, documentation, latex, manpage, markup, nroff, table of contents, toc, wiki .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_intro.n.
︙ | ︙ | |||
297 298 299 300 301 302 303 | doctoc does not stand alone, it has two companion formats\&. These are called \fIdocidx\fR and \fIdoctools\fR, and they are for the markup of \fIkeyword indices\fR, and general documentation, respectively\&. They are described in their own sets of documents, starting at the \fIdocidx introduction\fR and the \fIdoctools introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | doctoc does not stand alone, it has two companion formats\&. These are called \fIdocidx\fR and \fIdoctools\fR, and they are for the markup of \fIkeyword indices\fR, and general documentation, respectively\&. They are described in their own sets of documents, starting at the \fIdocidx introduction\fR and the \fIdoctools introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, doctoc_lang_cmdref, doctoc_lang_faq, doctoc_lang_intro, doctoc_lang_syntax, doctoc_plugin_apiref, doctools::toc, doctools_intro .SH KEYWORDS markup, semantic markup, table of contents, toc .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_lang_cmdref.n.
︙ | ︙ | |||
349 350 351 352 353 354 355 | Templating\&. In this form the command is replaced by the value of the named document variable .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | Templating\&. In this form the command is replaced by the value of the named document variable .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctoc_lang_faq, doctoc_lang_intro, doctoc_lang_syntax .SH KEYWORDS doctoc commands, doctoc language, doctoc markup, markup, semantic markup .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_lang_faq.n.
︙ | ︙ | |||
239 240 241 242 243 244 245 | \\$1\l'|0\(ul'\\$2 .. .TH "doctoc_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME doctoc_lang_faq \- doctoc language faq .SH DESCRIPTION | < | | | | | | | | | | | > | | | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | \\$1\l'|0\(ul'\\$2 .. .TH "doctoc_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME doctoc_lang_faq \- doctoc language faq .SH DESCRIPTION .SH OVERVIEW .SS "WHAT IS THIS DOCUMENT?" This document is currently mainly a placeholder, to be filled with commonly asked questions about the doctoc markup language and companions, and their answers\&. .PP Please report any questions (and, if possible, answers) we should consider for this document as explained in the section \fBBugs, Ideas, Feedback\fR below\&. .SH EXAMPLES .SS "WHERE DO I FIND DOCTOC EXAMPLES?" We have no direct examples of documents written using doctoc markup\&. However the doctools processor \fBdtplite\fR does generate a table of contents when processing a set of documents written in doctools markup\&. The intermediate file for it uses doctoc markup and is not deleted when generation completes\&. Such files can therefore serve as examples\&. .PP \fBdtplite\fR is distributed as part of Tcllib, so to get it you need one of .IP [1] A snapshot of Tcllib\&. How to retrieve such a snapshot and the tools required for this are described at \fIDevelopment Snapshots\fR [/wiki?name=Development+Snapshots] .IP [2] A Tcllib release archive\&. They are available at the \fIhome\fR [/home] page\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_lang_cmdref, doctoc_lang_intro, doctoc_lang_syntax .SH KEYWORDS doctoc commands, doctoc language, doctoc markup, doctoc syntax, examples, faq, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_lang_intro.n.
︙ | ︙ | |||
484 485 486 487 488 489 490 | .PP On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple \fBdtplite\fR goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | .PP On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple \fBdtplite\fR goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctoc_lang_cmdref, doctoc_lang_syntax .SH KEYWORDS doctoc commands, doctoc language, doctoc markup, doctoc syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_lang_syntax.n.
︙ | ︙ | |||
305 306 307 308 309 310 311 | division = DIVISION_START contents DIVISION_END .CE .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 | division = DIVISION_START contents DIVISION_END .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctoc_lang_cmdref, doctoc_lang_faq, doctoc_lang_intro .SH KEYWORDS doctoc commands, doctoc language, doctoc markup, doctoc syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctoc_plugin_apiref.n.
︙ | ︙ | |||
595 596 597 598 599 600 601 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctoc_lang_cmdref, doctoc_lang_faq, doctoc_lang_intro, doctoc_lang_syntax, doctools::toc .SH KEYWORDS formatting engine, markup, plugin, semantic markup, table of contents, toc, toc formatter .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools.n.
︙ | ︙ | |||
655 656 657 658 659 660 661 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 | This engine generates Wiki markup as understood by Jean Claude Wippler's \fBwikit\fR application\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools_intro, doctools_lang_cmdref, doctools_lang_intro, doctools_lang_syntax, doctools_plugin_apiref .SH KEYWORDS HTML, TMML, conversion, documentation, manpage, markup, nroff .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools_intro.n.
︙ | ︙ | |||
296 297 298 299 300 301 302 | called \fIdocidx\fR and \fIdoctoc\fR, and they are for the markup of \fIkeyword indices\fR, and \fItables of contents\fR, respectively\&. They are described in their own sets of documents, starting at the \fIdocidx introduction\fR and the \fIdoctoc introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | called \fIdocidx\fR and \fIdoctoc\fR, and they are for the markup of \fIkeyword indices\fR, and \fItables of contents\fR, respectively\&. They are described in their own sets of documents, starting at the \fIdocidx introduction\fR and the \fIdoctoc introduction\fR, respectively\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, doctoc_intro, doctools, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_intro, doctools_lang_syntax, doctools_plugin_apiref .SH KEYWORDS markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools_lang_cmdref.n.
︙ | ︙ | |||
762 763 764 765 766 767 768 | \fIwidget\fR\&. The text may have other markup already applied to it\&. Main use is the highlighting of widget names in free-form text\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 | \fIwidget\fR\&. The text may have other markup already applied to it\&. Main use is the highlighting of widget names in free-form text\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools_intro, doctools_lang_faq, doctools_lang_intro, doctools_lang_syntax .SH KEYWORDS doctools commands, doctools language, doctools markup, markup, semantic markup .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools_lang_faq.n.
︙ | ︙ | |||
239 240 241 242 243 244 245 | \\$1\l'|0\(ul'\\$2 .. .TH "doctools_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME doctools_lang_faq \- doctools language faq .SH DESCRIPTION | < | | | | | < < | | | > > > > | | < > | | > | | | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | \\$1\l'|0\(ul'\\$2 .. .TH "doctools_lang_faq" n 1\&.0 tcllib "Documentation tools" .BS .SH NAME doctools_lang_faq \- doctools language faq .SH DESCRIPTION .SH OVERVIEW .SS "WHAT IS THIS DOCUMENT?" This document is currently mainly a placeholder, to be filled with commonly asked questions about the doctools markup language and companions, and their answers\&. .PP Please report any questions (and, if possible, answers) we should consider for this document as explained in the section \fBBugs, Ideas, Feedback\fR below\&. .SH EXAMPLES .SS "WHERE DO I FIND DOCTOOLS EXAMPLES?" We have no direct examples of documents written using doctools markup\&. However the doctools processor \fBdtplite\fR does generate a table of contents when processing a set of documents written in doctools markup\&. The intermediate file for it uses doctools markup and is not deleted when generation completes\&. Such files can therefore serve as examples\&. .PP \fBdtplite\fR is distributed as part of Tcllib, so to get it you need one of .IP [1] A snapshot of Tcllib\&. How to retrieve such a snapshot and the tools required for this are described at \fIDevelopment Snapshots\fR [/wiki?name=Development+Snapshots] .IP [2] A Tcllib release archive\&. They are available at the \fIhome\fR [/home] page\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools_lang_cmdref, doctools_lang_intro, doctools_lang_syntax .SH KEYWORDS doctools commands, doctools language, doctools markup, doctools syntax, examples, faq, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools_lang_intro.n.
︙ | ︙ | |||
287 288 289 290 291 292 293 294 | .CE .SS "BASIC STRUCTURE" The most simple document which can be written in doctools is .CS [manpage_begin NAME SECTION VERSION] [description] | > > > > > > > > > > > > | | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | .CE .SS "BASIC STRUCTURE" The most simple document which can be written in doctools is .CS [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [description] [vset CATEGORY doctools] [include \&.\&./doctools2base/include/feedback\&.inc] [manpage_end] .CE This also shows us that all doctools documents are split into two parts, the \fIheader\fR and the \fIbody\fR\&. Everything coming before [\fBdescription\fR] belongs to the header, and everything coming after belongs to the body, with the whole document bracketed by the two \fBmanpage_*\fR commands\&. Before and after these opening and |
︙ | ︙ | |||
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | in the given order\&. Regular text is not allowed within the header\&. .PP Given the above a less minimal example of a document is .CS [manpage_begin NAME SECTION VERSION] [\fBcopyright {YEAR AUTHOR}\fR] [\fBtitledesc TITLE\fR] [\fBmoddesc MODULE_TITLE\fR] [\fBrequire PACKAGE VERSION\fR] [\fBrequire PACKAGE\fR] [description] [manpage_end] .CE Remember that the whitespace is optional\&. The document .CS [manpage_begin NAME SECTION VERSION] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] | > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | in the given order\&. Regular text is not allowed within the header\&. .PP Given the above a less minimal example of a document is .CS [manpage_begin NAME SECTION VERSION] [\fBcopyright {YEAR AUTHOR}\fR] [\fBtitledesc TITLE\fR] [\fBmoddesc MODULE_TITLE\fR] [\fBrequire PACKAGE VERSION\fR] [\fBrequire PACKAGE\fR] [description] [manpage_end] .CE Remember that the whitespace is optional\&. The document .CS [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] [vset CATEGORY doctools] [include \&.\&./doctools2base/include/feedback\&.inc] [manpage_end] .CE has the same meaning as the example before\&. .PP On the other hand, if \fIwhitespace\fR is present it consists not only of any sequence of characters containing the space character, horizontal and vertical tabs, carriage return, and newline, but it may contain comment markup as well, in the form of the \fBcomment\fR command\&. .CS [\fBcomment { \&.\&.\&. }\fR] [manpage_begin NAME SECTION VERSION] [copyright {YEAR AUTHOR}] [titledesc TITLE] [moddesc MODULE_TITLE][\fBcomment { \&.\&.\&. }\fR] [require PACKAGE VERSION] [require PACKAGE] [description] [manpage_end] |
︙ | ︙ | |||
385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | is possible to write .CS [\fBinclude FILE\fR] [\fBvset VAR VALUE\fR] [manpage_begin NAME SECTION VERSION] [description] [manpage_end] .CE Even more important, these two commands are allowed anywhere where a markup command is allowed, without regard for any other structure\&. I\&.e\&. for example in the header as well\&. .CS [manpage_begin NAME SECTION VERSION] [\fBinclude FILE\fR] [\fBvset VAR VALUE\fR] [description] [manpage_end] .CE The only restriction \fBinclude\fR has to obey is that the contents of | > > > > > > > > > > > > > > > > > > > > | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | is possible to write .CS [\fBinclude FILE\fR] [\fBvset VAR VALUE\fR] [manpage_begin NAME SECTION VERSION] [description] [manpage_end] .CE Even more important, these two commands are allowed anywhere where a markup command is allowed, without regard for any other structure\&. I\&.e\&. for example in the header as well\&. .CS [manpage_begin NAME SECTION VERSION] [\fBinclude FILE\fR] [\fBvset VAR VALUE\fR] [description] [manpage_end] .CE The only restriction \fBinclude\fR has to obey is that the contents of |
︙ | ︙ | |||
426 427 428 429 430 431 432 433 434 435 436 437 438 439 | the next\&. The first paragraph is automatically opened at the beginning of the body, by \fBdescription\fR\&. In the same manner the last paragraph automatically ends at \fBmanpage_end\fR\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [\fBpara\fR] \&.\&.\&. [\fBpara\fR] \&.\&.\&. [manpage_end] | > > > > > > > > > > | 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | the next\&. The first paragraph is automatically opened at the beginning of the body, by \fBdescription\fR\&. In the same manner the last paragraph automatically ends at \fBmanpage_end\fR\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [\fBpara\fR] \&.\&.\&. [\fBpara\fR] \&.\&.\&. [manpage_end] |
︙ | ︙ | |||
452 453 454 455 456 457 458 459 460 461 462 463 464 465 | .PP Empty sections are \fInot\fR ignored\&. We are free to (not) use paragraphs within sections\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [\fBsection {Section A}\fR] \&.\&.\&. [para] \&.\&.\&. [\fBsection {Section B}\fR] | > > > > > > > > > > | 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 | .PP Empty sections are \fInot\fR ignored\&. We are free to (not) use paragraphs within sections\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [\fBsection {Section A}\fR] \&.\&.\&. [para] \&.\&.\&. [\fBsection {Section B}\fR] |
︙ | ︙ | |||
477 478 479 480 481 482 483 484 485 486 487 488 489 490 | .PP Empty subsections are \fInot\fR ignored\&. We are free to (not) use paragraphs within subsections\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [section {Section A}] \&.\&.\&. [\fBsubsection {Sub 1}\fR] \&.\&.\&. [para] | > > > > > > > > > > | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 | .PP Empty subsections are \fInot\fR ignored\&. We are free to (not) use paragraphs within subsections\&. .CS [manpage_begin NAME SECTION VERSION] [description] \&.\&.\&. [section {Section A}] \&.\&.\&. [\fBsubsection {Sub 1}\fR] \&.\&.\&. [para] |
︙ | ︙ | |||
807 808 809 810 811 812 813 | .PP To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i\&.e\&. either Tcllib's easy and simple \fBdtplite\fR, or Tclapps' ultra-configurable \fBdtp\fR\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 | .PP To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i\&.e\&. either Tcllib's easy and simple \fBdtplite\fR, or Tclapps' ultra-configurable \fBdtp\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools_intro, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_syntax .SH KEYWORDS doctools commands, doctools language, doctools markup, doctools syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> .fi |
Changes to embedded/man/files/modules/doctools/doctools_lang_syntax.n.
︙ | ︙ | |||
342 343 344 345 346 347 348 | enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } .CE .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools_intro, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_intro .SH KEYWORDS doctools commands, doctools language, doctools markup, doctools syntax, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/doctools_plugin_apiref.n.
︙ | ︙ | |||
663 664 665 666 667 668 669 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 | plain text\&. .sp The formatted text is expected as the result of the command, and added to the output\&. If no special processing is required it has to simply return its argument without change\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctools, doctools_intro, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_intro, doctools_lang_syntax .SH KEYWORDS document, formatter, formatting engine, manpage, markup, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools/mpexpand.n.
︙ | ︙ | |||
301 302 303 304 305 306 307 308 309 310 311 312 313 314 | specified the command will list its actions before executing them\&. .sp The \fImodule\fR information is passed to \fBmpexpand\fR\&. .PP .SH NOTES .PP Possible future formats are plain text, pdf and postscript\&. .SH "SEE ALSO" expander(n), format(n), formatter(n) .SH KEYWORDS HTML, TMML, conversion, manpage, markup, nroff .SH CATEGORY Documentation tools .SH COPYRIGHT | > > > > > > > | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | specified the command will list its actions before executing them\&. .sp The \fImodule\fR information is passed to \fBmpexpand\fR\&. .PP .SH NOTES .PP Possible future formats are plain text, pdf and postscript\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" expander(n), format(n), formatter(n) .SH KEYWORDS HTML, TMML, conversion, manpage, markup, nroff .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2base/html_cssdefaults.n.
︙ | ︙ | |||
264 265 266 267 268 269 270 | This command returns the text of the default CSS style to use for HTML markup generated by the various HTML export plugins\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | This command returns the text of the default CSS style to use for HTML markup generated by the various HTML export plugins\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS CSS, HTML, doctools, export, plugin, style .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2base/nroff_manmacros.n.
︙ | ︙ | |||
264 265 266 267 268 269 270 | This command returns the text of the default CSS style to use for NROFF generated by the various NROFF export plugins\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | This command returns the text of the default CSS style to use for NROFF generated by the various NROFF export plugins\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, macros, man_macros, nroff, plugin .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2base/tcl_parse.n.
︙ | ︙ | |||
390 391 392 393 394 395 396 | All leaves of the tree are either Text or Command nodes\&. Word nodes cannot be leaves\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | All leaves of the tree are either Text or Command nodes\&. Word nodes cannot be leaves\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Tcl syntax, command, doctools, parser, subst, word .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2base/tcllib_msgcat.n.
︙ | ︙ | |||
285 286 287 288 289 290 291 | the argument to the command, and the \fBlangcode\fR supplied by the result of \fBmsgcat::mcpreferences\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | the argument to the command, and the \fBlangcode\fR supplied by the result of \fBmsgcat::mcpreferences\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS catalog package, docidx, doctoc, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/container.n.
︙ | ︙ | |||
608 609 610 611 612 613 614 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, TMML, conversion, docidx markup, documentation, formatting, generation, index, json, keyword index, latex, manpage, markup, nroff, parsing, plugin, reference, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export.n.
︙ | ︙ | |||
622 623 624 625 626 627 628 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, conversion, docidx, documentation, export, formatting, generation, index, json, keyword index, manpage, markup, nroff, plugin, reference, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_docidx.n.
︙ | ︙ | |||
416 417 418 419 420 421 422 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS docidx, doctools, export, index, serialization .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_html.n.
︙ | ︙ | |||
501 502 503 504 505 506 507 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, doctools, export, index, serialization .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_json.n.
︙ | ︙ | |||
433 434 435 436 437 438 439 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS JSON, doctools, export, index, serialization .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_nroff.n.
︙ | ︙ | |||
384 385 386 387 388 389 390 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, index, nroff, serialization .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_text.n.
︙ | ︙ | |||
368 369 370 371 372 373 374 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, index, plain text, serialization .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/export_wiki.n.
︙ | ︙ | |||
381 382 383 384 385 386 387 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, index, serialization, wiki .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/import.n.
︙ | ︙ | |||
701 702 703 704 705 706 707 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS conversion, docidx, documentation, import, index, json, keyword index, manpage, markup, parsing, plugin, reference, url .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/import_docidx.n.
︙ | ︙ | |||
392 393 394 395 396 397 398 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS deserialization, docidx, doctools, import, index .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/import_json.n.
︙ | ︙ | |||
410 411 412 413 414 415 416 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS JSON, deserialization, doctools, import, index .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/introduction.n.
︙ | ︙ | |||
369 370 371 372 373 374 375 | .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx_intro, doctoc_intro, doctools, doctools2doc_introduction, doctools2toc_introduction, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_intro, doctools_lang_syntax, doctools_plugin_apiref .SH KEYWORDS conversion, formatting, index, keyword index, markup, parsing, plugin, semantic markup .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/msgcat_c.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS C, catalog package, docidx, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/msgcat_de.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS DE, catalog package, docidx, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/msgcat_en.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EN, catalog package, docidx, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/msgcat_fr.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS FR, catalog package, docidx, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/parse.n.
︙ | ︙ | |||
489 490 491 492 493 494 495 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS docidx, doctools, lexer, parser .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2idx/structure.n.
︙ | ︙ | |||
417 418 419 420 421 422 423 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 | generated by Tcl's builtin command \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS deserialization, docidx, doctools, serialization .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/container.n.
︙ | ︙ | |||
691 692 693 694 695 696 697 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, TMML, conversion, doctoc markup, documentation, formatting, generation, json, latex, markup, nroff, parsing, plugin, reference, table, table of contents, tcler's wiki, text, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export.n.
︙ | ︙ | |||
639 640 641 642 643 644 645 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, conversion, doctoc, documentation, export, formatting, generation, json, manpage, markup, nroff, plugin, reference, table, table of contents, tcler's wiki, text, url, wiki .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_doctoc.n.
︙ | ︙ | |||
443 444 445 446 447 448 449 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctoc, doctools, export, serialization, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_html.n.
︙ | ︙ | |||
493 494 495 496 497 498 499 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS HTML, doctools, export, serialization, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_json.n.
︙ | ︙ | |||
481 482 483 484 485 486 487 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS JSON, doctools, export, serialization, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_nroff.n.
︙ | ︙ | |||
412 413 414 415 416 417 418 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, nroff, serialization, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_text.n.
︙ | ︙ | |||
395 396 397 398 399 400 401 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, plain text, serialization, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/export_wiki.n.
︙ | ︙ | |||
401 402 403 404 405 406 407 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctools, export, serialization, table of contents, toc, wiki .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/import.n.
︙ | ︙ | |||
720 721 722 723 724 725 726 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS conversion, doctoc, documentation, import, json, manpage, markup, parsing, plugin, reference, table, table of contents, url .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/import_doctoc.n.
︙ | ︙ | |||
420 421 422 423 424 425 426 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS deserialization, doctoc, doctools, import, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/import_json.n.
︙ | ︙ | |||
458 459 460 461 462 463 464 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS JSON, deserialization, doctools, import, table of contents, toc .SH CATEGORY Text formatter plugin .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/introduction.n.
︙ | ︙ | |||
369 370 371 372 373 374 375 | .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 | .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" doctoc_intro, doctools, doctools2doc_introduction, doctools2idx_introduction, doctools_lang_cmdref, doctools_lang_faq, doctools_lang_intro, doctools_lang_syntax, doctools_plugin_apiref .SH KEYWORDS contents, conversion, formatting, markup, parsing, plugin, semantic markup, table of contents .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) 2009 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/msgcat_c.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS C, catalog package, doctoc, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/msgcat_de.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS DE, catalog package, doctoc, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/msgcat_en.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EN, catalog package, doctoc, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/msgcat_fr.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | catalog is a plugin which is selected and loaded dynamically\&. .SH API This package has no exported API\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS FR, catalog package, doctoc, doctools, i18n, internationalization, l10n, localization, message catalog, message package .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/parse.n.
︙ | ︙ | |||
517 518 519 520 521 522 523 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS doctoc, doctools, lexer, parser .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/doctools2toc/structure.n.
︙ | ︙ | |||
462 463 464 465 466 467 468 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the | | | 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 | \fBlsort -increasing -dict\fR\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS deserialization, doctoc, doctools, serialization .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/dtplite/dtplite.n.
︙ | ︙ | |||
573 574 575 576 577 578 579 | in doctoc and docidx markup, respectively, containing the main table of contents and keyword index for the set of documents before their conversion to the chosen output format\&. They are left in place, i\&.e\&. not deleted, to serve as demonstrations of doctoc and docidx markup\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | | | | | | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 | in doctoc and docidx markup, respectively, containing the main table of contents and keyword index for the set of documents before their conversion to the chosen output format\&. They are left in place, i\&.e\&. not deleted, to serve as demonstrations of doctoc and docidx markup\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdoctools\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" docidx introduction, doctoc introduction, doctools introduction .SH KEYWORDS HTML, TMML, conversion, docidx, doctoc, doctools, manpage, markup, nroff .SH CATEGORY Documentation tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/exif/exif.n.
︙ | ︙ | |||
300 301 302 303 304 305 306 | .SH ACKNOWLEDGEMENTS This code is a direct translation of version 1\&.3 of exif\&.pl by Chris Breeze\&. See the source for full headers, references, etc\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIexif\fR of the | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | .SH ACKNOWLEDGEMENTS This code is a direct translation of version 1\&.3 of exif\&.pl by Chris Breeze\&. See the source for full headers, references, etc\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIexif\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS exif, jpeg, maker note, tiff .SH CATEGORY File formats |
Changes to embedded/man/files/modules/fileutil/fileutil.n.
︙ | ︙ | |||
667 668 669 670 671 672 673 | \fINote:\fR The processing done by this command is purely lexical\&. Symbolic links are \fInot\fR taken into account\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the | | | 667 668 669 670 671 672 673 674 675 676 677 678 679 680 | \fINote:\fR The processing done by this command is purely lexical\&. Symbolic links are \fInot\fR taken into account\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS cat, file utilities, grep, temp file, test, touch, type .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/fileutil/multi.n.
︙ | ︙ | |||
279 280 281 282 283 284 285 | The result of the command is the result generated by the last file command it executed\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | The result of the command is the result generated by the last file command it executed\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS copy, file utilities, move, multi-file, remove .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/fileutil/multiop.n.
︙ | ︙ | |||
680 681 682 683 684 685 686 | as pkgIndex\&.tcl .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the | | | 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | as pkgIndex\&.tcl .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS copy, file utilities, move, multi-file, remove .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/fileutil/traverse.n.
︙ | ︙ | |||
346 347 348 349 350 351 352 | to the caller, i\&.e\&. however invoked the \fBnext\fR\&. Any other results from the callback are ignored\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | to the caller, i\&.e\&. however invoked the \fBnext\fR\&. Any other results from the callback are ignored\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS directory traversal, traversal .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/ftp/ftp.n.
︙ | ︙ | |||
610 611 612 613 614 615 616 | An update command placed in the procedure \fB::ftp::DisplayMsg\fR may run into persistent errors or infinite loops\&. The solution to this problem is to use \fBupdate idletasks\fR instead of \fBupdate\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftp\fR of the | | | 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 | An update command placed in the procedure \fB::ftp::DisplayMsg\fR may run into persistent errors or infinite loops\&. The solution to this problem is to use \fBupdate idletasks\fR instead of \fBupdate\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" ftpd, mime, pop3, smtp .SH KEYWORDS ftp, internet, net, rfc 959 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ftp/ftp_geturl.n.
︙ | ︙ | |||
275 276 277 278 279 280 281 | The attributes of the link, including the path it refers to\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftp\fR of the | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | The attributes of the link, including the path it refers to\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" ftpd, mime, pop3, smtp .SH KEYWORDS ftp, internet, net, rfc 959 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ftpd/ftpd.n.
︙ | ︙ | |||
483 484 485 486 487 488 489 | special form of callback) and contains the handle of the socket channel which was active when the callback was invoked\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftpd\fR of the | | | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | special form of callback) and contains the handle of the socket channel which was active when the callback was invoked\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIftpd\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ftp, ftpd, ftpserver, rfc 959, services .SH CATEGORY Networking |
Changes to embedded/man/files/modules/fumagic/cfront.n.
︙ | ︙ | |||
295 296 297 298 299 300 301 | file/directory used in its creation, with file/directory "\fIFOO\fR" causing the creation of procedure \fB::fileutil::magic::/FOO::run\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 | file/directory used in its creation, with file/directory "\fIFOO\fR" causing the creation of procedure \fB::fileutil::magic::/FOO::run\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" file(1), fileutil, magic(5) .SH KEYWORDS file recognition, file type, file utilities, mime, type .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/fumagic/cgen.n.
︙ | ︙ | |||
288 289 290 291 292 293 294 | the recognizer runtime package \fBfileutil::magic::rt\fR to perform its duties\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | the recognizer runtime package \fBfileutil::magic::rt\fR to perform its duties\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" file(1), fileutil, magic(5) .SH KEYWORDS file recognition, file type, file utilities, mime, type .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/fumagic/filetypes.n.
︙ | ︙ | |||
276 277 278 279 280 281 282 | the magic definitions used by it\&. The latter were used by us to generate this recognizer\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the | | | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | the magic definitions used by it\&. The latter were used by us to generate this recognizer\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" file(1), fileutil, magic(5) .SH KEYWORDS file recognition, file type, file utilities, type .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/fumagic/mimetypes.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | the magic definitions used by it\&. The latter were used by us to generate this recognizer\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | the magic definitions used by it\&. The latter were used by us to generate this recognizer\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" file(1), fileutil, magic(5) .SH KEYWORDS file recognition, file type, file utilities, mime, type .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/fumagic/rtcore.n.
︙ | ︙ | |||
482 483 484 485 486 487 488 | \fBleldate\fR see above, stored in small/little endian .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the | | | 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | \fBleldate\fR see above, stored in small/little endian .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIfileutil :: magic\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" file(1), fileutil, magic(5) .SH KEYWORDS file recognition, file type, file utilities, mime, type .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/gpx/gpx.n.
︙ | ︙ | |||
386 387 388 389 390 391 392 | .PP .SH AUTHOR Keith Vetter .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgpx\fR of the | | | 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | .PP .SH AUTHOR Keith Vetter .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgpx\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS gps, gpx .SH CATEGORY File formats .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_fa/dacceptor.n.
︙ | ︙ | |||
309 310 311 312 313 314 315 | to the \fIany\fR symbol (if specified), or cause the acceptance test to simply fail\&. No errors will be thrown\&. The method will process only just that prefix of the input which is enough to fully determine (non-)acceptance\&. .PP .PP .SH EXAMPLES | < | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | to the \fIany\fR symbol (if specified), or cause the acceptance test to simply fail\&. No errors will be thrown\&. The method will process only just that prefix of the input which is enough to fully determine (non-)acceptance\&. .PP .PP .SH EXAMPLES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_fa\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS acceptance, acceptor, automaton, finite automaton, grammar, parsing, regular expression, regular grammar, regular languages, state, transducer .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_fa/dexec.n.
︙ | ︙ | |||
379 380 381 382 383 384 385 | The executor was reset\&. .TP \fIcmdprefix\fR \fBstate\fR \fIstateid\fR The FA changed state due to a transition\&. \fIstateid\fR is the new state\&. .PP .PP .SH EXAMPLES | < | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | The executor was reset\&. .TP \fIcmdprefix\fR \fBstate\fR \fIstateid\fR The FA changed state due to a transition\&. \fIstateid\fR is the new state\&. .PP .PP .SH EXAMPLES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_fa\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS automaton, execution, finite automaton, grammar, parsing, regular expression, regular grammar, regular languages, running, state, transducer .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_fa/fa.n.
︙ | ︙ | |||
879 880 881 882 883 884 885 | .PP Transducers are not handled by this package\&. They will get their own package in the future\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_fa\fR of the | | | 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 | .PP Transducers are not handled by this package\&. They will get their own package in the future\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_fa\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS automaton, finite automaton, grammar, parsing, regular expression, regular grammar, regular languages, state, transducer .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_fa/faop.n.
︙ | ︙ | |||
638 639 640 641 642 643 644 | .IP [4] Choose the shorter of original expression and expression from the previous step\&. .RE .PP .PP .SH EXAMPLES | < | | 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 | .IP [4] Choose the shorter of original expression and expression from the previous step\&. .RE .PP .PP .SH EXAMPLES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_fa\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS automaton, finite automaton, grammar, parsing, regular expression, regular grammar, regular languages, state, transducer .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/gasm.n.
︙ | ︙ | |||
626 627 628 629 630 631 632 | .sp The command returns the empty string as its result\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 | .sp The command returns the empty string as its result\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS assembler, grammar, graph, parsing, tree, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_ast.n.
︙ | ︙ | |||
326 327 328 329 330 331 332 | locations from attribute \fIrange\fR translated into line number and column index\&. Lines are counted from 1, columns are counted from 0\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | locations from attribute \fIrange\fR translated into line number and column index\&. Lines are counted from 1, columns are counted from 0\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS AST, abstract syntax tree .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_cpu.n.
︙ | ︙ | |||
512 513 514 515 516 517 518 | \fImeName\fR \fBdestroy\fR This method deletes the object and releases all resurces it claimed\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 | \fImeName\fR \fBdestroy\fR This method deletes the object and releases all resurces it claimed\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS grammar, parsing, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_cpucore.n.
︙ | ︙ | |||
625 626 627 628 629 630 631 | \fInc\fR, the nonterminal cache is keyed by nonterminal name and location, each value a four-element list containing current location, match status, semantic value, and error status, in this order\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 | \fInc\fR, the nonterminal cache is keyed by nonterminal name and location, each value a four-element list containing current location, match status, semantic value, and error status, in this order\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS grammar, parsing, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_intro.n.
︙ | ︙ | |||
291 292 293 294 295 296 297 | bytecode based implementation of ME virtual machines\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | bytecode based implementation of ME virtual machines\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS CFG, CFL, LL(k), PEG, TPDL, context-free grammar, context-free languages, expression, grammar, matching, parsing, parsing expression grammar, push down automaton, recursive descent, top-down parsing languages, transducer, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_tcl.n.
︙ | ︙ | |||
579 580 581 582 583 584 585 | Tcl stack, not the machine state\&. It replaces \fIias_mpop\fR\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 | Tcl stack, not the machine state\&. It replaces \fIias_mpop\fR\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS grammar, parsing, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_util.n.
︙ | ︙ | |||
308 309 310 311 312 313 314 | downward\&. Otherwise the root of the tree object is used as the starting point\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | downward\&. Otherwise the root of the tree object is used as the starting point\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS abstract syntax tree, syntax tree, tree .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_me/me_vm.n.
︙ | ︙ | |||
708 709 710 711 712 713 714 | This instruction pops an entry from the AST Marker stack \fIMS\fR and discards it\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the | | | 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 | This instruction pops an entry from the AST Marker stack \fIMS\fR and discards it\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_me\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS grammar, parsing, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_peg/peg.n.
︙ | ︙ | |||
801 802 803 804 805 806 807 | \fICompilers and Compiler Generators\fR [http://scifac\&.ru\&.ac\&.za/compilers/], an online book using CoCo/R, a generator for recursive descent parsers\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_peg\fR of the | | | 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 | \fICompilers and Compiler Generators\fR [http://scifac\&.ru\&.ac\&.za/compilers/], an online book using CoCo/R, a generator for recursive descent parsers\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_peg\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS LL(k), TDPL, context-free languages, expression, grammar, parsing, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/grammar_peg/peg_interp.n.
︙ | ︙ | |||
321 322 323 324 325 326 327 | document \fIgrammar::me_ast\fR\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_peg\fR of the | | | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | document \fIgrammar::me_ast\fR\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIgrammar_peg\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS LL(k), TDPL, context-free languages, expression, grammar, matching, parsing, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer, virtual machine .SH CATEGORY Grammars and finite automata .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/hook/hook.n.
︙ | ︙ | |||
573 574 575 576 577 578 579 | All bindings involving \fB\&.view\fR are deleted\&. .SH CREDITS Hook has been designed and implemented by William H\&. Duquette\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhook\fR of the | | | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 | All bindings involving \fB\&.view\fR are deleted\&. .SH CREDITS Hook has been designed and implemented by William H\&. Duquette\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhook\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" uevent(n) .SH KEYWORDS callback, event, hook, observer, producer, publisher, subject, subscriber, uevent .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/html/html.n.
︙ | ︙ | |||
676 677 678 679 680 681 682 | \fIbody\fR\&. Each iteration of the loop causes another string to be concatenated to the result value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhtml\fR of the | | | 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 | \fIbody\fR\&. Each iteration of the loop causes another string to be concatenated to the result value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhtml\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" htmlparse, ncgi .SH KEYWORDS checkbox, checkbutton, form, html, radiobutton, table .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/htmlparse/htmlparse.n.
︙ | ︙ | |||
455 456 457 458 459 460 461 | \fB::htmlparse::2tree\fR\&. It removes all nodes representing forms and form elements\&. Its only argument is the name of the tree to cut down\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhtmlparse\fR of the | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | \fB::htmlparse::2tree\fR\&. It removes all nodes representing forms and form elements\&. Its only argument is the name of the tree to cut down\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhtmlparse\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" struct::tree .SH KEYWORDS html, parsing, queue, tree .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/http/autoproxy.n.
︙ | ︙ | |||
418 419 420 421 422 423 424 | planned to add support for Digest (2) and NTLM in the future\&. .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhttp :: autoproxy\fR of the | | | 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 | planned to add support for Digest (2) and NTLM in the future\&. .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhttp :: autoproxy\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" http(n) .SH KEYWORDS authentication, http, proxy .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ident/ident.n.
︙ | ︙ | |||
280 281 282 283 284 285 286 | \fBerror\fR key\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIident\fR of the | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | \fBerror\fR key\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIident\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ident, identification, rfc 1413 .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/imap4/imap4.n.
︙ | ︙ | |||
726 727 728 729 730 731 732 | Mark R\&. Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003, \fIhttp://www\&.rfc-editor\&.org/rfc/rfc3501\&.txt\fR .PP OpenSSL, \fIhttp://www\&.openssl\&.org/\fR .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. | < < | > | 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | Mark R\&. Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003, \fIhttp://www\&.rfc-editor\&.org/rfc/rfc3501\&.txt\fR .PP OpenSSL, \fIhttp://www\&.openssl\&.org/\fR .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIimap4\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. Only a small part of rfc3501 implemented\&. .SH "SEE ALSO" ftp, http, imap, mime, pop3, tls .SH KEYWORDS email, imap, internet, mail, net, rfc3501, ssl, tls |
Changes to embedded/man/files/modules/inifile/ini.n.
︙ | ︙ | |||
341 342 343 344 345 346 347 | comments\&. When comments are written out each line is preceded by this character\&. The default is \fB;\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinifile\fR of the | | | 341 342 343 344 345 346 347 348 349 350 351 352 | comments\&. When comments are written out each line is preceded by this character\&. The default is \fB;\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinifile\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH CATEGORY Text processing |
Changes to embedded/man/files/modules/interp/deleg_method.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | however the option \fB-async\fR was specified then the generated method will not wait for a result and return immediately\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | however the option \fB-async\fR was specified then the generated method will not wait for a result and return immediately\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS comm, delegation, interpreter, method, snit .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/interp/deleg_proc.n.
︙ | ︙ | |||
272 273 274 275 276 277 278 | however the option \fB-async\fR was specified then the generated procedure will not wait for a result and return immediately\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | however the option \fB-async\fR was specified then the generated procedure will not wait for a result and return immediately\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS comm, delegation, interpreter, procedure .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/interp/tcllib_interp.n.
︙ | ︙ | |||
293 294 295 296 297 298 299 | .sp The result of the command is the empty string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | .sp The result of the command is the empty string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIinterp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS alias, empty interpreter, interpreter, method, snit .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/irc/irc.n.
︙ | ︙ | |||
488 489 490 491 492 493 494 | \fBmsg\fR Returns the message portion of the command (the part after the :)\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIirc\fR of the | | | 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 | \fBmsg\fR Returns the message portion of the command (the part after the :)\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIirc\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" rfc 1459 .SH KEYWORDS chat, irc .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/javascript/javascript.n.
︙ | ︙ | |||
324 325 326 327 328 329 330 | parent html checkbox object\&. The \fIchildName\fR argument is the name of child html checkbox object to create\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjavascript\fR of the | | | 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | parent html checkbox object\&. The \fIchildName\fR argument is the name of child html checkbox object to create\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjavascript\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" html, ncgi .SH KEYWORDS checkbox, html, javascript, selectionbox, submitbutton .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/jpeg/jpeg.n.
︙ | ︙ | |||
430 431 432 433 434 435 436 | cant write exif data gps exif data not parsed makernote data not yet implemented .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjpeg\fR of the | | | 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | cant write exif data gps exif data not parsed makernote data not yet implemented .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjpeg\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS comment, exif, image, jfif, jpeg, thumbnail .SH CATEGORY File formats .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/json/json.n.
︙ | ︙ | |||
322 323 324 325 326 327 328 | Image {IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www\&.example\&.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjson\fR of the | | | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | Image {IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www\&.example\&.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjson\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS data exchange, exchange format, javascript, json .SH CATEGORY CGI programming .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/json/json_write.n.
︙ | ︙ | |||
313 314 315 316 317 318 319 | object as its result, with the keys formatted as JSON strings\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjson\fR of the | | | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | object as its result, with the keys formatted as JSON strings\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIjson\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS data exchange, exchange format, javascript, json .SH CATEGORY CGI programming .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/lambda/lambda.n.
︙ | ︙ | |||
316 317 318 319 320 321 322 | .PP .SH AUTHORS Andreas Kupries .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlambda\fR of the | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | .PP .SH AUTHORS Andreas Kupries .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlambda\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" apply(n), proc(n) .SH KEYWORDS anonymous procedure, callback, command prefix, currying, lambda, partial application, proc .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ldap/ldap.n.
︙ | ︙ | |||
725 726 727 728 729 730 731 | ldap::disconnect $handle .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIldap\fR of the | | < < | 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 | ldap::disconnect $handle .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIldap\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS directory access, internet, ldap, ldap client, protocol, rfc 2251, rfc 4511, x\&.500 .SH CATEGORY Networking .SH COPYRIGHT .nf Copyright (c) 2004 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/ldap/ldapx.n.
︙ | ︙ | |||
934 935 936 937 938 939 940 | .CE .SH REFERENCES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIldap\fR of the | | | 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 | .CE .SH REFERENCES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIldap\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS directory access, internet, ldap, ldap client, ldif, protocol, rfc 2251, rfc 2849 .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/log/log.n.
︙ | ︙ | |||
515 516 517 518 519 520 521 | \fBdebug\fR are suppressed\&. This is done intentionally, because (we believe that) in most situations debugging output is not wanted\&. Most people wish to have such output only when actually debugging an application\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlog\fR of the | | | 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | \fBdebug\fR are suppressed\&. This is done intentionally, because (we believe that) in most situations debugging output is not wanted\&. Most people wish to have such output only when actually debugging an application\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlog\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS log, log level, message, message level .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/log/logger.n.
︙ | ︙ | |||
673 674 675 676 677 678 679 | ${log}::logproc debug log_local_var .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the | | | 673 674 675 676 677 678 679 680 681 682 683 684 685 686 | ${log}::logproc debug log_local_var .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS log, log level, logger, service .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/log/loggerAppender.n.
︙ | ︙ | |||
283 284 285 286 287 288 289 | See \fB::logger::appender::colorConsole\fR for a description of the applicable options\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | See \fB::logger::appender::colorConsole\fR for a description of the applicable options\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS appender, logger .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/log/loggerUtils.n.
︙ | ︙ | |||
377 378 379 380 381 382 383 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the | | | 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIlogger\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS appender, logger .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/bigfloat.n.
︙ | ︙ | |||
771 772 773 774 775 776 777 | puts "angle3 : [tostr [rad2deg $angle3]]" .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: bignum :: float\fR of the | | | 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 | puts "angle3 : [tostr [rad2deg $angle3]]" .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: bignum :: float\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS computations, floating-point, interval, math, multiprecision, tcl .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/bignum.n.
︙ | ︙ | |||
521 522 523 524 525 526 527 | Return the number of bits needed to represent bignum in radix 2\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: bignum\fR of the | | | 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | Return the number of bits needed to represent bignum in radix 2\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: bignum\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS bignums, math, multiprecision, tcl .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/calculus.n.
︙ | ︙ | |||
699 700 701 702 703 704 705 | coeffs force {0\&.0 1\&.0} [list $length 0\&.0] 100] .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the | | | 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 | coeffs force {0\&.0 1\&.0} [list $length 0\&.0] 100] .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" romberg .SH KEYWORDS calculus, differential equations, integration, math, roots .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/math/combinatorics.n.
︙ | ︙ | |||
336 337 338 339 340 341 342 | nine significant digits provided that \fIw\fR and \fIz\fR are both at least 1\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath\fR of the | | | 336 337 338 339 340 341 342 343 344 345 346 347 | nine significant digits provided that \fIw\fR and \fIz\fR are both at least 1\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH CATEGORY Mathematics |
Changes to embedded/man/files/modules/math/constants.n.
︙ | ︙ | |||
330 331 332 333 334 335 336 | (name, value and description) or, if no arguments are given, print all defined constants\&. This is mainly a convenience procedure\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: constants\fR of the | | | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | (name, value and description) or, if no arguments are given, print all defined constants\&. This is mainly a convenience procedure\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: constants\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS constants, degrees, e, math, pi, radians .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/decimal.n.
︙ | ︙ | |||
506 507 508 509 510 511 512 | Rounds \fIdecimal\fR to \fIdigits\fR number of decimal points with the following rules: Round zero or five away from 0\&. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. | | | | 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | Rounds \fIdecimal\fR to \fIdigits\fR number of decimal points with the following rules: Round zero or five away from 0\&. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIdecimal\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS decimal, math, tcl .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/fourier.n.
︙ | ︙ | |||
373 374 375 376 377 378 379 | .RE .sp .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: fourier\fR of the | | | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | .RE .sp .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: fourier\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS FFT, Fourier transform, complex numbers, mathematics .SH CATEGORY Mathematics |
Changes to embedded/man/files/modules/math/fuzzy.n.
︙ | ︙ | |||
375 376 377 378 379 380 381 | .PP D\&. Knuth, Art of Computer Programming, Vol\&. 1, Problem 1\&.2\&.4-5\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: fuzzy\fR of the | | | 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | .PP D\&. Knuth, Art of Computer Programming, Vol\&. 1, Problem 1\&.2\&.4-5\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: fuzzy\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS floating-point, math, rounding .SH CATEGORY Mathematics |
Changes to embedded/man/files/modules/math/interpolate.n.
︙ | ︙ | |||
503 504 505 506 507 508 509 | .CE As you can see, the values at the abscissae are reproduced perfectly\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: interpolate\fR of the | | | 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 | .CE As you can see, the values at the abscissae are reproduced perfectly\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: interpolate\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS interpolation, math, spatial interpolation .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/linalg.n.
︙ | ︙ | |||
1434 1435 1436 1437 1438 1439 1440 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: linearalgebra\fR of the | | | 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: linearalgebra\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS least squares, linear algebra, linear equations, math, matrices, matrix, vectors .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/machineparameters.n.
︙ | ︙ | |||
431 432 433 434 435 436 437 438 439 440 441 442 | .TP \fIobjectname\fR \fBtostring\fR Return a report for machine parameters\&. .TP \fIobjectname\fR \fBprint\fR Print machine parameters on standard output\&. .PP .SH COPYRIGHT .nf Copyright (c) 2008 Michael Baudin <michael\&.baudin@sourceforge\&.net> .fi | > > > > > > > | 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | .TP \fIobjectname\fR \fBtostring\fR Return a report for machine parameters\&. .TP \fIobjectname\fR \fBprint\fR Print machine parameters on standard output\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH COPYRIGHT .nf Copyright (c) 2008 Michael Baudin <michael\&.baudin@sourceforge\&.net> .fi |
Changes to embedded/man/files/modules/math/math.n.
︙ | ︙ | |||
363 364 365 366 367 368 369 | \fB::math::sum\fR \fIvalue\fR ?\fIvalue \&.\&.\&.\fR? Return the sum of one or more numeric values\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath\fR of the | | | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | \fB::math::sum\fR \fIvalue\fR ?\fIvalue \&.\&.\&.\fR? Return the sum of one or more numeric values\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS math, statistics .SH CATEGORY Mathematics |
Changes to embedded/man/files/modules/math/math_geometry.n.
︙ | ︙ | |||
735 736 737 738 739 740 741 | .IP [3] \fIhttp://local\&.wasp\&.uwa\&.edu\&.au/~pbourke/geometry/lineline2d/\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: geometry\fR of the | | | 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 | .IP [3] \fIhttp://local\&.wasp\&.uwa\&.edu\&.au/~pbourke/geometry/lineline2d/\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: geometry\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS angle, distance, line, math, plane geometry, point .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/numtheory.n.
︙ | ︙ | |||
283 284 285 286 287 288 289 290 291 292 293 294 295 296 | repeated with randomly chosen bases\&. Each repetition reduces the probability of a false positive by a factor at least 4\&. The default for \fIrepetitions\fR is 4\&. .RE .IP Unknown options are silently ignored\&. .PP .SH KEYWORDS number theory, prime .SH CATEGORY Mathematics .SH COPYRIGHT .nf Copyright (c) 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net> | > > > > > > > | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | repeated with randomly chosen bases\&. Each repetition reduces the probability of a false positive by a factor at least 4\&. The default for \fIrepetitions\fR is 4\&. .RE .IP Unknown options are silently ignored\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: numtheory\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS number theory, prime .SH CATEGORY Mathematics .SH COPYRIGHT .nf Copyright (c) 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net> |
︙ | ︙ |
Changes to embedded/man/files/modules/math/optimize.n.
︙ | ︙ | |||
570 571 572 573 574 575 576 | The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: optimize\fR of the | | | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 | The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: optimize\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS linear program, math, maximum, minimum, optimization .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/polynomials.n.
︙ | ︙ | |||
460 461 462 463 464 465 466 | definition, it consists of a list of two elements: the keyword "POLYNOMIAL" and the list of coefficients in descending order\&. The latter makes it easier to implement Horner's rule\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: polynomials\fR of the | | | 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | definition, it consists of a list of two elements: the keyword "POLYNOMIAL" and the list of coefficients in descending order\&. The latter makes it easier to implement Horner's rule\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: polynomials\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS math, polynomial functions .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/qcomplex.n.
︙ | ︙ | |||
519 520 521 522 523 524 525 | The complex power to be used .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: complexnumbers\fR of the | | | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 | The complex power to be used .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: complexnumbers\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS complex numbers, math .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/rational_funcs.n.
︙ | ︙ | |||
429 430 431 432 433 434 435 | The implementation of the rational functions relies on the math::polynomials package\&. For further remarks see the documentation on that package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: rationalfunctions\fR of the | | | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | The implementation of the rational functions relies on the math::polynomials package\&. For further remarks see the documentation on that package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: rationalfunctions\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS math, rational functions .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/roman.n.
︙ | ︙ | |||
288 289 290 291 292 293 294 | Of these commands both \fItoroman\fR and \fItointeger\fR are exported for easier use\&. The other two are not, as they could interfer or be confused with existing Tcl commands\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: roman\fR of the | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | Of these commands both \fItoroman\fR and \fItointeger\fR are exported for easier use\&. The other two are not, as they could interfer or be confused with existing Tcl commands\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: roman\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS conversion, integer, roman numeral .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/romberg.n.
︙ | ︙ | |||
534 535 536 537 538 539 540 | integral is 3\&.97746 +/- 2\&.3557e-010 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the | | | 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 | integral is 3\&.97746 +/- 2\&.3557e-010 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" math::calculus, math::interpolate .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/special.n.
︙ | ︙ | |||
724 725 726 727 728 729 730 | .PP Abramowitz and Stegun: \fIHandbook of Mathematical Functions\fR (Dover, ISBN 486-61272-4) .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: special\fR of the | | | 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 | .PP Abramowitz and Stegun: \fIHandbook of Mathematical Functions\fR (Dover, ISBN 486-61272-4) .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: special\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Bessel functions, error function, math, special functions .SH CATEGORY Mathematics .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/math/statistics.n.
︙ | ︙ | |||
1850 1851 1852 1853 1854 1855 1856 | The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: statistics\fR of the | | | 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 | The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: statistics\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS data analysis, mathematics, statistics .SH CATEGORY Mathematics |
Changes to embedded/man/files/modules/math/symdiff.n.
︙ | ︙ | |||
319 320 321 322 323 324 325 | ==> {{$a} {$b}} {{$c} {$d}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the | | | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | ==> {{$a} {$b}} {{$c} {$d}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImath :: calculus\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" math::calculus, math::interpolate .SH COPYRIGHT .nf Copyright (c) 2010 by Kevin B\&. Kenny <kennykb@acm\&.org> |
︙ | ︙ |
Changes to embedded/man/files/modules/md4/md4.n.
︙ | ︙ | |||
379 380 381 382 383 384 385 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd4\fR of the | | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd4\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md5, sha1 .SH KEYWORDS hashing, md4, message-digest, rfc 1320, rfc 1321, rfc 2104, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/md5/md5.n.
︙ | ︙ | |||
385 386 387 388 389 390 391 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd5\fR of the | | | 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd5\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md4, sha1 .SH KEYWORDS hashing, md5, message-digest, rfc 1320, rfc 1321, rfc 2104, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/md5crypt/md5crypt.n.
︙ | ︙ | |||
313 314 315 316 317 318 319 | $1$dFmvyRmO$T\&.V3OmzqeEf3hqJp2WFcb\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd5crypt\fR of the | | | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | $1$dFmvyRmO$T\&.V3OmzqeEf3hqJp2WFcb\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImd5crypt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md5 .SH KEYWORDS hashing, md5, md5crypt, message-digest, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/mime/mime.n.
︙ | ︙ | |||
531 532 533 534 535 536 537 | .TP \fB::mime::reversemapencoding\fR \fIcharset_type\fR This command maps MIME charset types onto tcl encoding names\&. Those that are unknown return ""\&. .PP .SH "KNOWN BUGS" .TP | | < | | | 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 | .TP \fB::mime::reversemapencoding\fR \fIcharset_type\fR This command maps MIME charset types onto tcl encoding names\&. Those that are unknown return ""\&. .PP .SH "KNOWN BUGS" .TP Tcllib Bug #447037 This problem affects only people which are using Tcl and Mime on a 64-bit system\&. The currently recommended fix for this problem is to upgrade to Tcl version 8\&.4\&. This version has extended 64 bit support and the bug does not appear anymore\&. .sp The problem could have been generally solved by requiring the use of Tcl 8\&.4 for this package\&. We decided against this solution as it would force a large number of unaffected users to upgrade their Tcl interpreter for no reason\&. .sp See \fITicket 447037\fR [/tktview?name=447037] for additional information\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImime\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" ftp, http, pop3, smtp .SH KEYWORDS email, internet, mail, mime, net, rfc 2045, rfc 2046, rfc 2049, rfc 821, rfc 822, smtp .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/mime/smtp.n.
︙ | ︙ | |||
388 389 390 391 392 393 394 | RFC 2554, March 1999\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2554\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsmtp\fR of the | | | 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | RFC 2554, March 1999\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2554\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsmtp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" ftp, http, mime, pop3 .SH KEYWORDS email, internet, mail, mime, net, rfc 2554, rfc 2821, rfc 3207, rfc 821, rfc 822, smtp, tls .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/multiplexer/multiplexer.n.
︙ | ︙ | |||
361 362 363 364 365 366 367 | ip-port\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImultiplexer\fR of the | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | ip-port\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fImultiplexer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS chat, multiplexer .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/ncgi/ncgi.n.
︙ | ︙ | |||
544 545 546 547 548 549 550 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIncgi\fR of the | | | 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIncgi\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" html .SH KEYWORDS CGI, cookie, form, html .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nmea/nmea.n.
︙ | ︙ | |||
361 362 363 364 365 366 367 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInmea\fR of the | | | 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInmea\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS gps, nmea .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_auto.n.
︙ | ︙ | |||
321 322 323 324 325 326 327 | Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the | | | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv(n) .SH KEYWORDS automatic, client, name service, reconnect, restore .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_client.n.
︙ | ︙ | |||
536 537 538 539 540 541 542 | 0\&.1 Initial implementation of the client\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the | | | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 | 0\&.1 Initial implementation of the client\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv::common(n), nameserv::server(n) .SH KEYWORDS client, name service .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_common.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | port a nameservice server will listen on, and a name service client will try to connect to\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | port a nameservice server will listen on, and a name service client will try to connect to\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv::client(n), nameserv::server(n) .SH KEYWORDS client, name service, server .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_intro.n.
︙ | ︙ | |||
314 315 316 317 318 319 320 | \fBnameserv::server\fR to talk to each other\&. It is of no interest to users of either the packages or applications\&. .PP Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | < | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | \fBnameserv::server\fR to talk to each other\&. It is of no interest to users of either the packages or applications\&. .PP Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv(n), nameserv::auto(n), nameserv::common(n), nameserv::protocol(n), nameserv::server(n), nnsd(n), nss(n) .SH KEYWORDS client, name service, server .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_protocol.n.
︙ | ︙ | |||
377 378 379 380 381 382 383 | The argument coming before the response tells the client whether the names in the response were added or removed from the service\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the | | | 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | The argument coming before the response tells the client whether the names in the response were added or removed from the service\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" comm_wire(n), nameserv(n), nameserv::server(n) .SH KEYWORDS comm, name service, protocol .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nns/nns_server.n.
︙ | ︙ | |||
362 363 364 365 366 367 368 | 0\&.1 Initial implementation of the server\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the | | | 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | 0\&.1 Initial implementation of the server\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInameserv\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" nameserv::client(n), nameserv::common(n) .SH KEYWORDS name service, server .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/nntp/nntp.n.
︙ | ︙ | |||
599 600 601 602 603 604 605 | Test message body" .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInntp\fR of the | | | 599 600 601 602 603 604 605 606 607 608 609 610 611 612 | Test message body" .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fInntp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS news, nntp, nntpclient, rfc 1036, rfc 977 .SH CATEGORY Networking |
Changes to embedded/man/files/modules/ntp/ntp_time.n.
︙ | ︙ | |||
381 382 383 384 385 386 387 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIntp\fR of the | | | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIntp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" ntp .SH KEYWORDS NTP, SNTP, rfc 2030, rfc 868, time .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ooutil/ooutil.n.
︙ | ︙ | |||
401 402 403 404 405 406 407 | .PP .SH AUTHORS Donal Fellows, Andreas Kupries .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIoo::util\fR of the | | | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | .PP .SH AUTHORS Donal Fellows, Andreas Kupries .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIoo::util\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" snit(n) .SH KEYWORDS TclOO, callback, class methods, class variables, command prefix, currying, method reference, my method, singleton .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/otp/otp.n.
︙ | ︙ | |||
311 312 313 314 315 316 317 | and Technology, U\&.S\&. Department Of Commerce, April 1995\&. (\fIhttp://www\&.itl\&.nist\&.gov/fipspubs/fip180-1\&.htm\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIotp\fR of the | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | and Technology, U\&.S\&. Department Of Commerce, April 1995\&. (\fIhttp://www\&.itl\&.nist\&.gov/fipspubs/fip180-1\&.htm\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIotp\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" SASL, md4, md5, ripemd160, sha1 .SH KEYWORDS hashing, message-digest, password, rfc 2289, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_intro.n.
︙ | ︙ | |||
256 257 258 259 260 261 262 | plugins\&. .PP The packages implementing the plugins are not documented as regular packages, as they cannot be loaded into a general interpreter, like tclsh, without extensive preparation of the interpreter\&. Preparation which is done for them by the plugin manager\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | plugins\&. .PP The packages implementing the plugins are not documented as regular packages, as they cannot be loaded into a general interpreter, like tclsh, without extensive preparation of the interpreter\&. Preparation which is done for them by the plugin manager\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS page, parser generator, text processing .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_pluginmgr.n.
︙ | ︙ | |||
996 997 998 999 1000 1001 1002 | .RE .PP .SH FEATURES The plugin manager currently checks the plugins for only one feature, \fBtimeable\fR\&. A plugin supporting this feature is assumed to be able to collect timing statistics on request\&. .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 | .RE .PP .SH FEATURES The plugin manager currently checks the plugins for only one feature, \fBtimeable\fR\&. A plugin supporting this feature is assumed to be able to collect timing statistics on request\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS page, parser generator, text processing .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_util_flow.n.
︙ | ︙ | |||
308 309 310 311 312 313 314 | \fInodelist\fR are visited after the current iteration\&. .TP \fIflow\fR \fBvisita\fR \fInode\fR\&.\&.\&. This is the variadic arguments form of the method \fBvisitl\fR, see above\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | \fInodelist\fR are visited after the current iteration\&. .TP \fIflow\fR \fBvisita\fR \fInode\fR\&.\&.\&. This is the variadic arguments form of the method \fBvisitl\fR, see above\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS dataflow, graph walking, page, parser generator, text processing, tree walking .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_util_norm_lemon.n.
︙ | ︙ | |||
264 265 266 267 268 269 270 | This command assumes the \fItree\fR object contains for a lemon grammar\&. It normalizes this tree in place\&. The result is called a \fINormalized Lemon Grammar Tree\fR\&. .sp The exact operations performed are left undocumented for the moment\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | This command assumes the \fItree\fR object contains for a lemon grammar\&. It normalizes this tree in place\&. The result is called a \fINormalized Lemon Grammar Tree\fR\&. .sp The exact operations performed are left undocumented for the moment\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS graph walking, lemon, normalization, page, parser generator, text processing, tree walking .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_util_norm_peg.n.
︙ | ︙ | |||
313 314 315 316 317 318 319 | tree is flattened by the removal of superfluous inner nodes\&. .sp The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | tree is flattened by the removal of superfluous inner nodes\&. .sp The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS PEG, graph walking, normalization, page, parser generator, text processing, tree walking .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_util_peg.n.
︙ | ︙ | |||
335 336 337 338 339 340 341 | \fB::page::util::peg::printTclExpr\fR \fIpe\fR This command converts the parsing expression contained in the nested list \fIpe\fR into a Tcl string which can be placed into a Tcl script\&. See the package \fBgrammar::peg\fR for the exact syntax of \fIpe\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | \fB::page::util::peg::printTclExpr\fR \fIpe\fR This command converts the parsing expression contained in the nested list \fIpe\fR into a Tcl string which can be placed into a Tcl script\&. See the package \fBgrammar::peg\fR for the exact syntax of \fIpe\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS PEG, page, parser generator, parsing expression grammar, text processing, transformation .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/page/page_util_quote.n.
︙ | ︙ | |||
289 290 291 292 293 294 295 | \fB::page::util::quote::quote'tclcom\fR \fIchar\fR This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment\&. The string is returned as the result of this command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" | > | | | > | 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | \fB::page::util::quote::quote'tclcom\fR \fIchar\fR This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment\&. The string is returned as the result of this command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpage\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS page, parser generator, quoting, text processing .SH CATEGORY Page Parser Generator .SH COPYRIGHT .nf Copyright (c) 2007 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/pki/pki.n.
︙ | ︙ | |||
446 447 448 449 450 451 452 | .PP .SH AUTHORS Roy Keene .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrsa\fR of the | | | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | .PP .SH AUTHORS Roy Keene .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrsa\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" aes(n), blowfish(n), des(n), md5(n), sha1(n) .SH KEYWORDS cipher, data integrity, encryption, public key cipher, rsa, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/pluginmgr/pluginmgr.n.
︙ | ︙ | |||
581 582 583 584 585 586 587 | define commands, packages, etc\&. a chosen plugin may need while being loaded\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpluginmgr\fR of the | | | 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 | define commands, packages, etc\&. a chosen plugin may need while being loaded\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpluginmgr\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS plugin management, plugin search .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/png/png.n.
︙ | ︙ | |||
382 383 384 385 386 387 388 | Takes a list of scanlines in the Tk_GetColor format and writes the represented image to \fIfile\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpng\fR of the | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | Takes a list of scanlines in the Tk_GetColor format and writes the represented image to \fIfile\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpng\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS comment, image, png, timestamp .SH CATEGORY File formats .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pop3/pop3.n.
︙ | ︙ | |||
468 469 470 471 472 473 474 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3\fR of the | | | 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS email, mail, pop, pop3, rfc 1939, secure, ssl, tls .SH CATEGORY Networking |
Changes to embedded/man/files/modules/pop3d/pop3d.n.
︙ | ︙ | |||
476 477 478 479 480 481 482 | .IP [2] \fIRFC 2449\fR [http://www\&.rfc-editor\&.org/rfc/rfc2449\&.txt] .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the | | | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 | .IP [2] \fIRFC 2449\fR [http://www\&.rfc-editor\&.org/rfc/rfc2449\&.txt] .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS internet, network, pop3, protocol, rfc 1939, secure, ssl, tls .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pop3d/pop3d_dbox.n.
︙ | ︙ | |||
390 391 392 393 394 395 396 | before this call, \fBget\fR will assume that there are zero messages in the mailbox\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | before this call, \fBget\fR will assume that there are zero messages in the mailbox\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS internet, network, pop3, protocol, rfc 822 .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pop3d/pop3d_udb.n.
︙ | ︙ | |||
339 340 341 342 343 344 345 | remembered internally so that it can be used in the next call of \fIdbName\fR \fBsave\fR without an argument\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the | | | 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | remembered internally so that it can be used in the next call of \fIdbName\fR \fBsave\fR without an argument\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpop3d\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS internet, network, pop3, protocol .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/profiler/profiler.n.
︙ | ︙ | |||
343 344 345 346 347 348 349 | sublist consists of a function name and the value of \fIkey\fR for that function\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIprofiler\fR of the | | | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | sublist consists of a function name and the value of \fIkey\fR for that function\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIprofiler\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS performance, profile, speed .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/pt/pt_astree.n.
︙ | ︙ | |||
508 509 510 511 512 513 514 | \&.fi .PE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 | \&.fi .PE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_cparam_config_critcl.n.
︙ | ︙ | |||
284 285 286 287 288 289 290 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_from_api.n.
︙ | ︙ | |||
721 722 723 724 725 726 727 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_introduction.n.
︙ | ︙ | |||
393 394 395 396 397 398 399 | .TP \fBchar\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | .TP \fBchar\fR .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_json_language.n.
︙ | ︙ | |||
714 715 716 717 718 719 720 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_param.n.
︙ | ︙ | |||
739 740 741 742 743 744 745 | ======================= ======================= ==================== .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 | ======================= ======================= ==================== .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer, virtual machine .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_parser_api.n.
︙ | ︙ | |||
669 670 671 672 673 674 675 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_container.n.
︙ | ︙ | |||
902 903 904 905 906 907 908 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_container_peg.n.
︙ | ︙ | |||
267 268 269 270 271 272 273 | The sub-type provides the exact same API as \fBpt::peg::container\fR\&. Instead of duplicating its contents the reader is asked to read the referenced document\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | The sub-type provides the exact same API as \fBpt::peg::container\fR\&. Instead of duplicating its contents the reader is asked to read the referenced document\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_export.n.
︙ | ︙ | |||
723 724 725 726 727 728 729 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_export_container.n.
︙ | ︙ | |||
723 724 725 726 727 728 729 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS CONTAINER, EBNF, LL(k), PEG, TDPL, context-free languages, export, expression, grammar, matching, parser, parsing expression, parsing expression grammar, plugin, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_export_json.n.
︙ | ︙ | |||
782 783 784 785 786 787 788 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, JSON, LL(k), PEG, TDPL, context-free languages, export, expression, grammar, matching, parser, parsing expression, parsing expression grammar, plugin, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_export_peg.n.
︙ | ︙ | |||
775 776 777 778 779 780 781 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, export, expression, grammar, matching, parser, parsing expression, parsing expression grammar, plugin, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_from_container.n.
︙ | ︙ | |||
261 262 263 264 265 266 267 | grammar we wish to import loaded\&. Another way of looking at this is, the CONTAINER output is its own import package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | grammar we wish to import loaded\&. Another way of looking at this is, the CONTAINER output is its own import package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_from_json.n.
︙ | ︙ | |||
748 749 750 751 752 753 754 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, JSON, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_from_peg.n.
︙ | ︙ | |||
725 726 727 728 729 730 731 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_import.n.
︙ | ︙ | |||
743 744 745 746 747 748 749 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_import_container.n.
︙ | ︙ | |||
261 262 263 264 265 266 267 | grammar we wish to import loaded\&. Another way of looking at this is, the CONTAINER output is its own import package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | grammar we wish to import loaded\&. Another way of looking at this is, the CONTAINER output is its own import package\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_import_json.n.
︙ | ︙ | |||
757 758 759 760 761 762 763 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, JSON, LL(k), PEG, TDPL, context-free languages, expression, grammar, import, matching, parser, parsing expression, parsing expression grammar, plugin, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_import_peg.n.
︙ | ︙ | |||
738 739 740 741 742 743 744 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, import, matching, parser, parsing expression, parsing expression grammar, plugin, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_interp.n.
︙ | ︙ | |||
661 662 663 664 665 666 667 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_introduction.n.
︙ | ︙ | |||
391 392 393 394 395 396 397 | \fICompilers and Compiler Generators\fR [http://scifac\&.ru\&.ac\&.za/compilers/], an online book using CoCo/R, a generator for recursive descent parsers\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | \fICompilers and Compiler Generators\fR [http://scifac\&.ru\&.ac\&.za/compilers/], an online book using CoCo/R, a generator for recursive descent parsers\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_language.n.
︙ | ︙ | |||
706 707 708 709 710 711 712 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_container.n.
︙ | ︙ | |||
746 747 748 749 750 751 752 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS CONTAINER, EBNF, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_cparam.n.
︙ | ︙ | |||
766 767 768 769 770 771 772 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS CPARAM, EBNF, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_json.n.
︙ | ︙ | |||
810 811 812 813 814 815 816 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, JSON, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_param.n.
︙ | ︙ | |||
1444 1445 1446 1447 1448 1449 1450 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PARAM, PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_peg.n.
︙ | ︙ | |||
797 798 799 800 801 802 803 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_peg_to_tclparam.n.
︙ | ︙ | |||
750 751 752 753 754 755 756 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TCLPARAM, TDPL, context-free languages, conversion, expression, format conversion, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, serialization, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_pegrammar.n.
︙ | ︙ | |||
660 661 662 663 664 665 666 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_pexpr_op.n.
︙ | ︙ | |||
491 492 493 494 495 496 497 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_pexpression.n.
︙ | ︙ | |||
686 687 688 689 690 691 692 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_pgen.n.
︙ | ︙ | |||
452 453 454 455 456 457 458 | Going back to the last snippet of code, the execution of the parser for some input, note how the parser instance follows the specified \fIParser API\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 | Going back to the last snippet of code, the execution of the parser for some input, note how the parser instance follows the specified \fIParser API\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_rdengine.n.
︙ | ︙ | |||
1251 1252 1253 1254 1255 1256 1257 | handling atomic expressions\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 | handling atomic expressions\&. .PP .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_tclparam_config_snit.n.
︙ | ︙ | |||
284 285 286 287 288 289 290 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_tclparam_config_tcloo.n.
︙ | ︙ | |||
284 285 286 287 288 289 290 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | Or anything other command prefix accepting two arguments, option and value\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/pt/pt_to_api.n.
︙ | ︙ | |||
737 738 739 740 741 742 743 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the | | | 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIpt\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS EBNF, LL(k), PEG, TDPL, context-free languages, expression, grammar, matching, parser, parsing expression, parsing expression grammar, push down automaton, recursive descent, state, top-down parsing languages, transducer .SH CATEGORY Parsing and Grammars .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/rc4/rc4.n.
︙ | ︙ | |||
334 335 336 337 338 339 340 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrc4\fR of the | | | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | .CE .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrc4\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" aes(n), blowfish(n), des(n) .SH KEYWORDS arcfour, data integrity, encryption, rc4, security, stream cipher .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/rcs/rcs.n.
︙ | ︙ | |||
499 500 501 502 503 504 505 | Deeper and more profound, The door of all subtleties!}}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrcs\fR of the | | | 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | Deeper and more profound, The door of all subtleties!}}} .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIrcs\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" struct, textutil .SH KEYWORDS CVS, RCS, RCS patch, SCCS, diff -n format, patching, text conversion, text differences .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/report/report.n.
︙ | ︙ | |||
650 651 652 653 654 655 656 | % m format 2string r .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIreport\fR of the | | | 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 | % m format 2string r .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIreport\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS matrix, report, table .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/ripemd/ripemd128.n.
︙ | ︙ | |||
395 396 397 398 399 400 401 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIripemd\fR of the | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIripemd\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md4, md5, ripemd160, sha1 .SH KEYWORDS RIPEMD, hashing, md4, message-digest, rfc 1320, rfc 1321, rfc 2104, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/ripemd/ripemd160.n.
︙ | ︙ | |||
382 383 384 385 386 387 388 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIripemd\fR of the | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIripemd\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md4, md5, ripemd128, sha1 .SH KEYWORDS RIPEMD, hashing, md4, message-digest, rfc 1320, rfc 1321, rfc 2104, security .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/sasl/sasl.n.
︙ | ︙ | |||
521 522 523 524 525 526 527 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsasl\fR of the | | | 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 | .PP .SH AUTHORS Pat Thoyts .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsasl\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS SASL, authentication .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/sha1/sha1.n.
︙ | ︙ | |||
387 388 389 390 391 392 393 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsha1\fR of the | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsha1\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md4, md5, ripemd128, ripemd160 .SH KEYWORDS FIPS 180-1, hashing, message-digest, rfc 2104, security, sha1 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/sha1/sha256.n.
︙ | ︙ | |||
400 401 402 403 404 405 406 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsha1\fR of the | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | Message Authentication", RFC 2104, February 1997\&. (\fIhttp://www\&.rfc-editor\&.org/rfc/rfc2104\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsha1\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" md4, md5, ripemd128, ripemd160, sha1 .SH KEYWORDS FIPS 180-1, hashing, message-digest, rfc 2104, security, sha256 .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/smtpd/smtpd.n.
︙ | ︙ | |||
478 479 480 481 482 483 484 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the file "\fIlicense\&.terms\fR" for more details\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsmtpd\fR of the | | | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 | WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the file "\fIlicense\&.terms\fR" for more details\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsmtpd\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS rfc 2821, rfc 821, services, smtp, smtpd, socket, vwait .SH CATEGORY Networking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/snit/snit.n.
︙ | ︙ | |||
2680 2681 2682 2683 2684 2685 2686 | value is invalid\&. This can be done with a simple \fBproc\fR\&. For example, the \fBsnit::boolean\fR validate type could have been implemented like this: .CS proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { | | < | 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 | value is invalid\&. This can be done with a simple \fBproc\fR\&. For example, the \fBsnit::boolean\fR validate type could have been implemented like this: .CS proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { return -code error -errorcode INVALID "invalid boolean \\"$value\\", should be one of: 1, 0, \&.\&.\&." } return $value } .CE A validation type defined in this way cannot be subtyped, of course; |
︙ | ︙ | |||
2713 2714 2715 2716 2717 2718 2719 | # Next, define a "validate" type method which should do the # validation in the basic case\&. This will allow the # type command to be used as a validation type\&. typemethod validate {value} { if {![string is integer -strict $value]} { | | < | 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 | # Next, define a "validate" type method which should do the # validation in the basic case\&. This will allow the # type command to be used as a validation type\&. typemethod validate {value} { if {![string is integer -strict $value]} { return -code error -errorcode INVALID "invalid value \\"$value\\", expected integer" } return $value } # Next, the constructor should validate the subtype options, # if any\&. Since they are all readonly, we don't need to worry |
︙ | ︙ | |||
2767 2768 2769 2770 2771 2772 2773 | The file "validate\&.tcl" in the Snit distribution defines all of Snit's validation types; you can find the complete implementation for \fBsnit::integer\fR and the other types there, to use as examples for your own types\&. .PP .SH CAVEATS If you have problems, find bugs, or new ideas you are hereby cordially | | | < < | | | 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 | The file "validate\&.tcl" in the Snit distribution defines all of Snit's validation types; you can find the complete implementation for \fBsnit::integer\fR and the other types there, to use as examples for your own types\&. .PP .SH CAVEATS If you have problems, find bugs, or new ideas you are hereby cordially invited to submit a report of your problem, bug, or idea as explained in the section \fBBugs, Ideas, Feedback\fR below\&. .PP Additionally, you might wish to join the Snit mailing list; see \fIhttp://www\&.wjduquette\&.com/snit\fR for details\&. .PP One particular area to watch is using \fBsnit::widgetadaptor\fR to adapt megawidgets created by other megawidget packages; correct widget destruction depends on the order of the <Destroy> bindings\&. The wisest course is simply not to do this\&. .SH "KNOWN BUGS" .IP \(bu Error stack traces returned by Snit 1\&.x are extremely ugly and typically contain far too much information about Snit internals\&. The error messages are much improved in Snit 2\&.2\&. .IP \(bu Also see the Project Trackers as explained in the section \fBBugs, Ideas, Feedback\fR below\&. .PP .SH HISTORY During the course of developing Notebook (See \fIhttp://www\&.wjduquette\&.com/notebook\fR), my Tcl-based personal notebook application, I found I was writing it as a collection of objects\&. I wasn't using any particular object-oriented framework; I was just writing objects in pure Tcl following the guidelines in my |
︙ | ︙ | |||
2831 2832 2833 2834 2835 2836 2837 | and Anton Kovalenko\&. If I've forgotten anyone, my apologies; let me know and I'll add your name to the list\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsnit\fR of the | | | 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 | and Anton Kovalenko\&. If I've forgotten anyone, my apologies; let me know and I'll add your name to the list\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsnit\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS BWidget, C++, Incr Tcl, Snit, adaptors, class, mega widget, object, object oriented, type, widget, widget adaptors .SH CATEGORY Programming tools .SH COPYRIGHT .nf Copyright (c) 2003-2009, by William H\&. Duquette .fi |
Changes to embedded/man/files/modules/snit/snitfaq.n.
︙ | ︙ | |||
2457 2458 2459 2460 2461 2462 2463 | .CS snit::type dog { variable mytail option -taillength -configuremethod SetTailOption -cgetmethod GetTailOption | < | 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 | .CS snit::type dog { variable mytail option -taillength -configuremethod SetTailOption -cgetmethod GetTailOption method SetTailOption {option value} { $mytail configure $option $value } method GetTailOption {option} { $mytail cget $option } |
︙ | ︙ | |||
2762 2763 2764 2765 2766 2767 2768 | .PP .CS snit::type tail { method wag {} {return "Wag, wag"} method droop {} {return "Droop, droop"} } | < | 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 | .PP .CS snit::type tail { method wag {} {return "Wag, wag"} method droop {} {return "Droop, droop"} } snit::type dog { delegate method {tail wag} to mytail delegate method {tail droop} to mytail # \&.\&.\&. |
︙ | ︙ | |||
3768 3769 3770 3771 3772 3773 3774 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsnit\fR of the | | | 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsnit\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS BWidget, C++, Incr Tcl, adaptors, class, mega widget, object, object oriented, widget, widget adaptors .SH CATEGORY Programming tools .SH COPYRIGHT .nf Copyright (c) 2003-2006, by William H\&. Duquette .fi |
Changes to embedded/man/files/modules/soundex/soundex.n.
︙ | ︙ | |||
273 274 275 276 277 278 279 | K530 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsoundex\fR of the | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | K530 .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIsoundex\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS knuth, soundex, text comparison, text likeness .SH CATEGORY Hashes, checksums, and encryption .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/stooop/stooop.n.
︙ | ︙ | |||
434 435 436 437 438 439 440 | .PP .SH EXAMPLES Please see the full HTML documentation in \fIstooop_man\&.html\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstooop\fR of the | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 | .PP .SH EXAMPLES Please see the full HTML documentation in \fIstooop_man\&.html\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstooop\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS C++, class, object, object oriented .SH CATEGORY Programming tools |
Changes to embedded/man/files/modules/string/token.n.
︙ | ︙ | |||
330 331 332 333 334 335 336 | with the constraint escape \fBA\fR to ensure that a match starts exactly at the character index found in \fIstartvar\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | with the constraint escape \fBA\fR to ensure that a match starts exactly at the character index found in \fIstartvar\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS lexing, regex, string, tokenization .SH CATEGORY Text processing |
Changes to embedded/man/files/modules/string/token_shell.n.
︙ | ︙ | |||
349 350 351 352 353 354 355 | Whitespace may occur before the first word, or after the last word\&. Whitespace must occur between adjacent words\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | Whitespace may occur before the first word, or after the last word\&. Whitespace must occur between adjacent words\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS bash, lexing, parsing, shell, string, tokenization .SH CATEGORY Text processing |
Changes to embedded/man/files/modules/stringprep/stringprep.n.
︙ | ︙ | |||
340 341 342 343 344 345 346 | .PP .SH AUTHORS Sergei Golovan .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | .PP .SH AUTHORS Sergei Golovan .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" unicode(n) .SH KEYWORDS stringprep, unicode .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/stringprep/stringprep_data.n.
︙ | ︙ | |||
255 256 257 258 259 260 261 | perform its functions\&. It is an \fIinternal\fR package which should not be accessed on its own\&. Because of that it has no publicly documented API either\&. Its implementation is generated by a script\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the | | | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | perform its functions\&. It is an \fIinternal\fR package which should not be accessed on its own\&. Because of that it has no publicly documented API either\&. Its implementation is generated by a script\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS stringprep, unicode .SH COPYRIGHT .nf Copyright (c) 2007-2009, Sergei Golovan <sgolovan@nes\&.ru> |
︙ | ︙ |
Changes to embedded/man/files/modules/stringprep/unicode.n.
︙ | ︙ | |||
308 309 310 311 312 313 314 | .PP .SH AUTHORS Sergei Golovan .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | .PP .SH AUTHORS Sergei Golovan .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" stringprep(n) .SH KEYWORDS normalization, unicode .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/stringprep/unicode_data.n.
︙ | ︙ | |||
255 256 257 258 259 260 261 | perform its functions\&. It is an \fIinternal\fR package which should not be accessed on its own\&. Because of that it has no publicly documented API either\&. Its implementation is generated by a script\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the | | | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | perform its functions\&. It is an \fIinternal\fR package which should not be accessed on its own\&. Because of that it has no publicly documented API either\&. Its implementation is generated by a script\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstringprep\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS stringprep, unicode .SH COPYRIGHT .nf Copyright (c) 2007, Sergei Golovan <sgolovan@nes\&.ru> |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/disjointset.n.
︙ | ︙ | |||
378 379 380 381 382 383 384 | \fIdisjointsetName\fR \fBdestroy\fR Destroys the disjoint set object and all associated memory\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: disjointset\fR of the | | | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | \fIdisjointsetName\fR \fBdestroy\fR Destroys the disjoint set object and all associated memory\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: disjointset\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS disjoint set, equivalence class, find, merge find, partition, partitioned set, union .SH CATEGORY Data structures |
Changes to embedded/man/files/modules/struct/graph.n.
︙ | ︙ | |||
1112 1113 1114 1115 1116 1117 1118 | the ability to select arcs and nodes based on an arbitrary filtering criterium\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the | | | 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 | the ability to select arcs and nodes based on an arbitrary filtering criterium\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS adjacent, arc, cgraph, degree, edge, graph, loop, neighbour, node, serialization, subgraph, vertex .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/graph1.n.
︙ | ︙ | |||
602 603 604 605 606 607 608 | post-order all nodes are left\&. In a both-order walk the first visit of a node \fBenter\fRs it, the second visit \fBleave\fRs it\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the | | | 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | post-order all nodes are left\&. In a both-order walk the first visit of a node \fBenter\fRs it, the second visit \fBleave\fRs it\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS cgraph, graph .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/graphops.n.
︙ | ︙ | |||
1457 1458 1459 1460 1461 1462 1463 | .IP [26] \fIApproximation algorithm\fR [http://en\&.wikipedia\&.org/wiki/Approximation_algorithm] .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the | | | 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 | .IP [26] \fIApproximation algorithm\fR [http://en\&.wikipedia\&.org/wiki/Approximation_algorithm] .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: graph\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS adjacency list, adjacency matrix, adjacent, approximation algorithm, arc, articulation point, augmenting network, augmenting path, bfs, bipartite, blocking flow, bridge, complete graph, connected component, cut edge, cut vertex, degree, degree constrained spanning tree, diameter, dijkstra, distance, eccentricity, edge, flow network, graph, heuristic, independent set, isthmus, level graph, local searching, loop, matching, max cut, maximum flow, minimal spanning tree, minimum cost flow, minimum degree spanning tree, minimum diameter spanning tree, neighbour, node, radius, residual graph, shortest path, squared graph, strongly connected component, subgraph, travelling salesman, vertex, vertex cover .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/matrix.n.
︙ | ︙ | |||
794 795 796 797 798 799 800 | % r printmatrix m .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: matrix\fR of the | | | 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 | % r printmatrix m .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: matrix\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS matrix .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/matrix1.n.
︙ | ︙ | |||
634 635 636 637 638 639 640 | % r printmatrix m .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: matrix\fR of the | | | 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 | % r printmatrix m .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: matrix\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS matrix .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/pool.n.
︙ | ︙ | |||
623 624 625 626 627 628 629 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: pool\fR of the | | | 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: pool\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS discrete items, finite, pool, struct .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/prioqueue.n.
︙ | ︙ | |||
341 342 343 344 345 346 347 | \fIprioqueueName\fR \fBsize\fR Return the number of items in the prioqueue\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: prioqueue\fR of the | | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | \fIprioqueueName\fR \fBsize\fR Return the number of items in the prioqueue\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: prioqueue\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ordered list, prioqueue, priority queue .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/queue.n.
︙ | ︙ | |||
318 319 320 321 322 323 324 | \fIqueueName\fR \fBsize\fR Return the number of items in the queue\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: queue\fR of the | | | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | \fIqueueName\fR \fBsize\fR Return the number of items in the queue\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: queue\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS graph, list, matrix, pool, prioqueue, record, set, skiplist, stack, tree .SH CATEGORY Data structures |
Changes to embedded/man/files/modules/struct/record.n.
︙ | ︙ | |||
601 602 603 604 605 606 607 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: record\fR of the | | | 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: record\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS data structures, record, struct .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/skiplist.n.
︙ | ︙ | |||
312 313 314 315 316 317 318 | command \fIcmd\fR will be evaluated with the key and value of the current node appended\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: skiplist\fR of the | | | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | command \fIcmd\fR will be evaluated with the key and value of the current node appended\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: skiplist\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS skiplist .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/stack.n.
︙ | ︙ | |||
341 342 343 344 345 346 347 | \fIstackName\fR \fBsize\fR Return the number of items on the stack\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: stack\fR of the | | | 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | \fIstackName\fR \fBsize\fR Return the number of items on the stack\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: stack\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS graph, matrix, queue, tree .SH CATEGORY Data structures |
Changes to embedded/man/files/modules/struct/struct_list.n.
︙ | ︙ | |||
954 955 956 957 958 959 960 | volume 4"\&. Available on the Web at the author's personal site: \fIhttp://www-cs-faculty\&.stanford\&.edu/~knuth/fasc2b\&.ps\&.gz\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: list\fR of the | | | 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 | volume 4"\&. Available on the Web at the author's personal site: \fIhttp://www-cs-faculty\&.stanford\&.edu/~knuth/fasc2b\&.ps\&.gz\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: list\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Fisher-Yates, assign, common, comparison, diff, differential, equal, equality, filter, first permutation, flatten, folding, full outer join, generate permutations, inner join, join, left outer join, list, longest common subsequence, map, next permutation, outer join, permutation, reduce, repeating, repetition, reshuffle, reverse, right outer join, shuffle, subsequence, swapping .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/struct_set.n.
︙ | ︙ | |||
364 365 366 367 368 369 370 | (\fBfalse\fR)\&. .PP .SH REFERENCES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: set\fR of the | | | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 | (\fBfalse\fR)\&. .PP .SH REFERENCES .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: set\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS cardinality, difference, emptiness, exclusion, inclusion, intersection, membership, set, symmetric difference, union .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/struct_tree.n.
︙ | ︙ | |||
960 961 962 963 964 965 966 | # as the result of the command\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: tree\fR of the | | | 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 | # as the result of the command\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: tree\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS breadth-first, depth-first, in-order, node, post-order, pre-order, serialization, tree .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/struct/struct_tree1.n.
︙ | ︙ | |||
516 517 518 519 520 521 522 | second\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: tree\fR of the | | | 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 | second\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIstruct :: tree\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS tree .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/tar/tar.n.
︙ | ︙ | |||
410 411 412 413 414 415 416 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItar\fR of the | | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | .CE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItar\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS archive, tape archive, tar .SH CATEGORY File formats |
Changes to embedded/man/files/modules/tepam/tepam_introduction.n.
︙ | ︙ | |||
400 401 402 403 404 405 406 | \fBdisplay message\fR -category warning Hello \fI -> display message: Argument '-category' not known\fR .CE Argument types are automatically checked and an error message is generated in case the argument value has not the expected type: .CS \fBdisplay message\fR -fg MyColor "Hello" | | < | < | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | \fBdisplay message\fR -category warning Hello \fI -> display message: Argument '-category' not known\fR .CE Argument types are automatically checked and an error message is generated in case the argument value has not the expected type: .CS \fBdisplay message\fR -fg MyColor "Hello" \fI -> display message: Argument 'fg' requires type 'color'\&. Provided value: 'MyColor'\fR .CE Selection choices have to be respected \&.\&.\&. .CS \fBdisplay message\fR -mtype Fatal Hello \fI -> display message: Argument (mtype) has to be one of the following elements: Info, Warning, Error\fR .CE \&.\&.\&. as well as valid value ranges: .CS \fBdisplay message\fR -level 12 Hello \fI -> display message: Argument (level) has to be between 1 and 10\fR .CE |
︙ | ︙ |
Changes to embedded/man/files/modules/tepam/tepam_procedure.n.
︙ | ︙ | |||
469 470 471 472 473 474 475 | } .CE Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes\&. The argument definition syntax can be formalized in the following way: .CS tepam::procedure <name> { -args \fB{ | | < | < | 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 | } .CE Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes\&. The argument definition syntax can be formalized in the following way: .CS tepam::procedure <name> { -args \fB{ {<argument_name_1> <arg_attr_name_1a> <arg_attr_value_1a> <arg_attr_name_1b> <arg_attr_value_1b> \&.\&.\&.} {<argument_name_2> <arg_attr_name_2a> <arg_attr_value_2a> <arg_attr_name_2b> <arg_attr_value_2b> \&.\&.\&.} \&.\&.\&. }\fR } <body> .CE The argument names and attributes have to be used in the following way: .TP Argument name (\fI<argument_name_<n>>\fR) |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_cattr.n.
︙ | ︙ | |||
447 448 449 450 451 452 453 | \fB::term::ansi::code::attr::reset\fR Reset all attributes to their default values\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 | \fB::term::ansi::code::attr::reset\fR Reset all attributes to their default values\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ansi, attribute control, color control, control, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_cctrl.n.
︙ | ︙ | |||
738 739 740 741 742 743 744 | \fB::term::ansi::code::ctrl::showat\fR \fIrow\fR \fIcol\fR \fItext\fR Format the block of text for display at the specified location\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 | \fB::term::ansi::code::ctrl::showat\fR \fIrow\fR \fIcol\fR \fItext\fR Format the block of text for display at the specified location\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ansi, attribute control, color control, control, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_cmacros.n.
︙ | ︙ | |||
294 295 296 297 298 299 300 | frame made of box-graphics\&. The result is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | frame made of box-graphics\&. The result is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ansi, control, frame, menu, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_code.n.
︙ | ︙ | |||
278 279 280 281 282 283 284 | This command defines a procedure \fIname\fR which returns the control sequence \fIcode\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | This command defines a procedure \fIname\fR which returns the control sequence \fIcode\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS control, declare, define, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_ctrlu.n.
︙ | ︙ | |||
302 303 304 305 306 307 308 | This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS ansi, columns, control, cooked, input mode, lines, raw, rows, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ansi_send.n.
︙ | ︙ | |||
730 731 732 733 734 735 736 | \fB::term::ansi::send::showat\fR \fIrow\fR \fIcol\fR \fItext\fR Show the block of text at the specified location\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 | \fB::term::ansi::send::showat\fR \fIrow\fR \fIcol\fR \fItext\fR Show the block of text at the specified location\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS character output, control, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/imenu.n.
︙ | ︙ | |||
369 370 371 372 373 374 375 | Enter/Return The interaction with the object is terminated\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | Enter/Return The interaction with the object is terminated\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS control, menu, terminal, text display .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/ipager.n.
︙ | ︙ | |||
370 371 372 373 374 375 376 | Enter/Return The interaction with the object is terminated\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | Enter/Return The interaction with the object is terminated\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS control, pager, terminal, text display .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/receive.n.
︙ | ︙ | |||
298 299 300 301 302 303 304 | .sp If not specified \fIchan\fR defaults to \fBstdin\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | .sp If not specified \fIchan\fR defaults to \fBstdin\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS character input, control, get character, listener, receiver, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/term.n.
︙ | ︙ | |||
253 254 255 256 257 258 259 | commands, in the vein of ncurses or similar packages\&. Currently nothing has been implemented however\&. I\&.e\&. this package is empty\&. It can be loaded, yet provides nothing\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | commands, in the vein of ncurses or similar packages\&. Currently nothing has been implemented however\&. I\&.e\&. this package is empty\&. It can be loaded, yet provides nothing\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS control, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/term_bind.n.
︙ | ︙ | |||
342 343 344 345 346 347 348 | .PP In other words, the set of recognized strings has to form a \fIprefix code\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | .PP In other words, the set of recognized strings has to form a \fIprefix code\fR\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS character input, control, dispatcher, listener, receiver, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/term/term_send.n.
︙ | ︙ | |||
268 269 270 271 272 273 274 | This convenience command is like \fB::term::send::wrch\fR, except that the destination channel is fixed to \fIstdout\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the | | | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | This convenience command is like \fB::term::send::wrch\fR, except that the destination channel is fixed to \fIstdout\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIterm\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS character output, control, terminal .SH CATEGORY Terminal control .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/adjust.n.
︙ | ︙ | |||
400 401 402 403 404 405 406 | Together with \fB::textutil::adjust::adjust\fR it is possible to create properly wrapped paragraphs with arbitrary indentations\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | Together with \fB::textutil::adjust::adjust\fR it is possible to create properly wrapped paragraphs with arbitrary indentations\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS TeX, adjusting, formatting, hyphenation, indenting, justification, paragraph, string, undenting .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/expander.n.
︙ | ︙ | |||
703 704 705 706 707 708 709 | or \fBcname\fR\&. .SH HISTORY \fBexpander\fR was written by William H\&. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. | | | | | 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 | or \fBcname\fR\&. .SH HISTORY \fBexpander\fR was written by William H\&. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" [uri, http://www\&.wjduquette\&.com/expand, regexp, split, string .SH KEYWORDS string, template processing, text expansion .SH CATEGORY Documentation tools .SH COPYRIGHT .nf Copyright (c) William H\&. Duquette, http://www\&.wjduquette\&.com/expand |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/repeat.n.
︙ | ︙ | |||
271 272 273 274 275 276 277 | \fB::textutil::repeat::blank\fR \fInum\fR A convenience command\&. Returns a string of \fInum\fR spaces\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | \fB::textutil::repeat::blank\fR \fInum\fR A convenience command\&. Returns a string of \fInum\fR spaces\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS blanks, repetition, string .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/tabify.n.
︙ | ︙ | |||
296 297 298 299 300 301 302 | There is one asymmetry though: A tab can be replaced with a single space, but not the other way around\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | There is one asymmetry though: A tab can be replaced with a single space, but not the other way around\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS formatting, string, tabstops .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/textutil.n.
︙ | ︙ | |||
587 588 589 590 591 592 593 | one string was specified, the string itself is returned, as it is its own longest common prefix\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 | one string was specified, the string itself is returned, as it is its own longest common prefix\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS TeX, formatting, hyphenation, indenting, paragraph, regular expression, string, trimming .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/textutil_split.n.
︙ | ︙ | |||
278 279 280 281 282 283 284 | \fIstring\fR is split at every character, like \fBsplit\fR does\&. The regular expression \fIregexp\fR defaults to "[\\\\t \\\\r\\\\n]+"\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | \fIstring\fR is split at every character, like \fBsplit\fR does\&. The regular expression \fIregexp\fR defaults to "[\\\\t \\\\r\\\\n]+"\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS regular expression, split, string .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/textutil_string.n.
︙ | ︙ | |||
293 294 295 296 297 298 299 | one string was specified, the string itself is returned, as it is its own longest common prefix\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | one string was specified, the string itself is returned, as it is its own longest common prefix\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS capitalize, chop, common prefix, formatting, prefix, string, uncapitalize .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/textutil/trim.n.
︙ | ︙ | |||
301 302 303 304 305 306 307 | at the beginning of the \fIstring\fR and removes it\&. The modified string is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the | | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | at the beginning of the \fIstring\fR and removes it\&. The modified string is returned as the result of the command\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItextutil\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" regexp(n), split(n), string(n) .SH KEYWORDS prefix, regular expression, string, trimming .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/tie/tie.n.
︙ | ︙ | |||
664 665 666 667 668 669 670 | ----------- ----------- .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItie\fR of the | | | 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 | ----------- ----------- .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItie\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS array, database, file, metakit, persistence, tie, untie .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/tie/tie_std.n.
︙ | ︙ | |||
264 265 266 267 268 269 270 | as described in section \fISTANDARD DATA SOURCE TYPES\fR of \fBtie\fR's documentation\&. .PP They are automatically loaded and registered by \fBtie\fR when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so\&. .SH "BUGS, IDEAS, FEEDBACK" | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | as described in section \fISTANDARD DATA SOURCE TYPES\fR of \fBtie\fR's documentation\&. .PP They are automatically loaded and registered by \fBtie\fR when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItie\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS array, database, file, metakit, persistence, tie, untie .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/tiff/tiff.n.
︙ | ︙ | |||
440 441 442 443 444 445 446 | .IP [3] Writing limited to uncompressed 8 bit rgb .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItiff\fR of the | | | 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 | .IP [3] Writing limited to uncompressed 8 bit rgb .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItiff\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS image, tif, tiff .SH CATEGORY File formats .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/connect.n.
︙ | ︙ | |||
423 424 425 426 427 428 429 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS active, channel, connection, passive, secure, ssl, tls, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/copyops.n.
︙ | ︙ | |||
374 375 376 377 378 379 380 | output channel if not specified\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | output channel if not specified\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/ddest.n.
︙ | ︙ | |||
357 358 359 360 361 362 363 | the reception of the data\&. The callback is always invoked with one additional argument, the number of bytes received so far\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | the reception of the data\&. The callback is always invoked with one additional argument, the number of bytes received so far\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, data destination, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/dsource.n.
︙ | ︙ | |||
395 396 397 398 399 400 401 | of the transmission of the data\&. The callback is always invoked with one additional argument, the number of bytes transmitted so far\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | of the transmission of the data\&. The callback is always invoked with one additional argument, the number of bytes transmitted so far\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, data source, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/receiver.n.
︙ | ︙ | |||
472 473 474 475 476 477 478 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, data destination, receiver, secure, ssl, tls, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/tqueue.n.
︙ | ︙ | |||
380 381 382 383 384 385 386 | additional data structure which keeps track of outstanding results as they may come back in a different order than the requests from the client, and releases them to the actual queue in the proper order\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | additional data structure which keeps track of outstanding results as they may come back in a different order than the requests from the client, and releases them to the actual queue in the proper order\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, queue, transfer .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/transfer/transmitter.n.
︙ | ︙ | |||
482 483 484 485 486 487 488 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the | | | 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 | \&.\&.\&. .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItransfer\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel, copy, data source, secure, ssl, tls, transfer, transmitter .SH CATEGORY Transfer module .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/treeql/treeql.n.
︙ | ︙ | |||
832 833 834 835 836 837 838 | \fITreeQL\fR [http://wiki\&.tcl\&.tk/treeql] on the Tcler's Wiki\&. Discuss this package there\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItreeql\fR of the | | | 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 | \fITreeQL\fR [http://wiki\&.tcl\&.tk/treeql] on the Tcler's Wiki\&. Discuss this package there\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItreeql\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Cost, DOM, TreeQL, XPath, XSLT, structured queries, tree, tree query language .SH CATEGORY Data structures .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/try/tcllib_try.n.
︙ | ︙ | |||
346 347 348 349 350 351 352 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItry\fR of the | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 | } .CE .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fItry\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" catch(n), error(n), return(n), throw(n) .SH KEYWORDS cleanup, error, exception, final, resource management .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/uev/uevent.n.
︙ | ︙ | |||
416 417 418 419 420 421 422 | .sp The result of the command is the empty string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuevent\fR of the | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 | .sp The result of the command is the empty string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuevent\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" hook(n) .SH KEYWORDS bind, event, generate event, hook, unbind .SH CATEGORY |
︙ | ︙ |
Changes to embedded/man/files/modules/uev/uevent_onidle.n.
︙ | ︙ | |||
285 286 287 288 289 290 291 | Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuevent\fR of the | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuevent\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS callback, deferal, event, idle, merge, on-idle .SH COPYRIGHT .nf Copyright (c) 2008 Andreas Kupries <andreas_kupries@users\&.sourceforge\&.net> |
︙ | ︙ |
Changes to embedded/man/files/modules/units/units.n.
︙ | ︙ | |||
592 593 594 595 596 597 598 | GNU Units program at \fIhttp://www\&.gnu\&.org/software/units/\fR .SH AUTHORS Robert W\&. Techentin .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIunits\fR of the | | | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 | GNU Units program at \fIhttp://www\&.gnu\&.org/software/units/\fR .SH AUTHORS Robert W\&. Techentin .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIunits\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS angle, constants, conversion, distance, radians, unit .SH COPYRIGHT .nf Copyright (c) 2000-2005 Mayo Foundation |
︙ | ︙ |
Changes to embedded/man/files/modules/uri/uri.n.
︙ | ︙ | |||
391 392 393 394 395 396 397 | Original code (regular expressions) by Andreas Kupries\&. Modularisation by Steve Ball, also the split/join/resolve functionality\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuri\fR of the | | | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | Original code (regular expressions) by Andreas Kupries\&. Modularisation by Steve Ball, also the split/join/resolve functionality\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuri\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS fetching information, file, ftp, gopher, http, ldap, mailto, news, prospero, rfc 2255, rfc 2396, uri, url, wais, www .SH CATEGORY Networking |
Changes to embedded/man/files/modules/uri/urn-scheme.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | takes an \fIurn\fR url, removes the quoting from all disallowed characters, and returns the modified urls as its result\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuri\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | takes an \fIurn\fR url, removes the quoting from all disallowed characters, and returns the modified urls as its result\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuri\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS rfc 2141, uri, url, urn .SH CATEGORY Networking |
Changes to embedded/man/files/modules/uuid/uuid.n.
︙ | ︙ | |||
281 282 283 284 285 286 287 | Paul J\&. Leach, "UUIDs and GUIDs", February 1998\&. (\fIhttp://www\&.opengroup\&.org/dce/info/draft-leach-uuids-guids-01\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuuid\fR of the | | | 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | Paul J\&. Leach, "UUIDs and GUIDs", February 1998\&. (\fIhttp://www\&.opengroup\&.org/dce/info/draft-leach-uuids-guids-01\&.txt\fR) .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIuuid\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS GUID, UUID .SH CATEGORY Hashes, checksums, and encryption .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/cc_amex.n.
︙ | ︙ | |||
326 327 328 329 330 331 332 | The input value does not start with the magic value(s) required for it to be an AMEX creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | The input value does not start with the magic value(s) required for it to be an AMEX creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS AMEX, American Express, Checking, Testing, Type checking, Validation, Value checking, bank, card for credit, credit card, finance, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/cc_discover.n.
︙ | ︙ | |||
326 327 328 329 330 331 332 | The input value does not start with the magic value(s) required for it to be a Discover creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | The input value does not start with the magic value(s) required for it to be a Discover creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Discover, Testing, Type checking, Validation, Value checking, bank, card for credit, credit card, finance, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/cc_mastercard.n.
︙ | ︙ | |||
326 327 328 329 330 331 332 | The input value does not start with the magic value(s) required for it to be a Mastercard creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | The input value does not start with the magic value(s) required for it to be a Mastercard creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, MasterCard, Testing, Type checking, Validation, Value checking, bank, card for credit, credit card, finance, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/cc_visa.n.
︙ | ︙ | |||
326 327 328 329 330 331 332 | The input value does not start with the magic value(s) required for it to be a VISA creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | The input value does not start with the magic value(s) required for it to be a VISA creditcard number\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Testing, Type checking, VISA, Validation, Value checking, bank, card for credit, credit card, finance, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/ean13.n.
︙ | ︙ | |||
320 321 322 323 324 325 326 | INVALID EAN13 LENGTH The input value is of the wrong length to be an EAN13\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 | INVALID EAN13 LENGTH The input value is of the wrong length to be an EAN13\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, EAN, EAN13, European Article Number, International Article Number, Testing, Type checking, Validation, Value checking, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/iban.n.
︙ | ︙ | |||
317 318 319 320 321 322 323 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, IBAN, International Bank Account Number, Testing, Type checking, Validation, Value checking, bank, finance, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/imei.n.
︙ | ︙ | |||
322 323 324 325 326 327 328 | INVALID IMEI LENGTH The input value is of the wrong length to be an IMEI\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | INVALID IMEI LENGTH The input value is of the wrong length to be an IMEI\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, IMEI, International Mobile Equipment Identity, Testing, Type checking, Validation, Value checking, cell-phone, isA, mobile phone, phone .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/isbn.n.
︙ | ︙ | |||
329 330 331 332 333 334 335 | INVALID ISBN LENGTH The input value is of the wrong length to be an ISBN\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | INVALID ISBN LENGTH The input value is of the wrong length to be an ISBN\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Book Number, Checking, EAN, EAN13, European Article Number, ISBN, International Article Number, International Standard Book Number, Testing, Type checking, Validation, Value checking, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/luhn.n.
︙ | ︙ | |||
317 318 319 320 321 322 323 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Testing, Type checking, Validation, Value checking, isA, luhn .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/luhn5.n.
︙ | ︙ | |||
317 318 319 320 321 322 323 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Testing, Type checking, Validation, Value checking, isA, luhn, luhn-5 .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/usnpi.n.
︙ | ︙ | |||
322 323 324 325 326 327 328 | INVALID USNPI LENGTH The input value is of the wrong length to be an USNPI\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | INVALID USNPI LENGTH The input value is of the wrong length to be an USNPI\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, NPI, National Provider Identifier, Testing, Type checking, US-NPI, Validation, Value checking, isA, medicare .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/valtype_common.n.
︙ | ︙ | |||
330 331 332 333 334 335 336 | The input value does not start with the magic value(s) required for it to be a \fB<>\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 | The input value does not start with the magic value(s) required for it to be a \fB<>\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Testing, Type checking, Validation, Value checking, isA .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/valtype/verhoeff.n.
︙ | ︙ | |||
317 318 319 320 321 322 323 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | data-entry error, with digits transposed, forgotten, etc\&. Of course, th input may be an outright fake too\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvaltype\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Checking, Testing, Type checking, Validation, Value checking, isA, verhoeff .SH CATEGORY Validation, Type checking .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/cat.n.
︙ | ︙ | |||
277 278 279 280 281 282 283 | This command creates the concatenation channel using all the provided channels, and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | This command creates the concatenation channel using all the provided channels, and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS concatenation channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/facade.n.
︙ | ︙ | |||
301 302 303 304 305 306 307 | This command creates the facade channel around the provided channel \fIchan\fR, and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 | This command creates the facade channel around the provided channel \fIchan\fR, and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS concatenation channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/halfpipe.n.
︙ | ︙ | |||
303 304 305 306 307 308 309 | This callback is invoked when the channel has run out of data to read\&. A single argument is supplied, the handle of the channel\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | This callback is invoked when the channel has run out of data to read\&. A single argument is supplied, the handle of the channel\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS callbacks, fifo, in-memory channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/nullzero.n.
︙ | ︙ | |||
271 272 273 274 275 276 277 | \fB::tcl::chan::nullzero\fR This command creates a new nullzero channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | \fB::tcl::chan::nullzero\fR This command creates a new nullzero channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS /dev/null, /dev/zero, null, reflected channel, tip 219, virtual channel, zero .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/randseed.n.
︙ | ︙ | |||
269 270 271 272 273 274 275 | by XORing them elementwise, modulo 256\&. If the lists are not of equial length the shorter of the two is padded with 0s before merging\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | by XORing them elementwise, modulo 256\&. If the lists are not of equial length the shorter of the two is padded with 0s before merging\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS /dev/random, merge, random, reflected channel, seed, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/std.n.
︙ | ︙ | |||
271 272 273 274 275 276 277 | The channel is created only once, on the first call, and all future calls simply return this handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | The channel is created only once, on the first call, and all future calls simply return this handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS reflected channel, standard io, stdin, stdout, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_fifo.n.
︙ | ︙ | |||
271 272 273 274 275 276 277 | \fB::tcl::chan::fifo\fR This command creates a new fifo channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | \fB::tcl::chan::fifo\fR This command creates a new fifo channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS fifo, in-memory channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_fifo2.n.
︙ | ︙ | |||
277 278 279 280 281 282 283 | This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS connected fifos, fifo, in-memory channel, inter-thread communication, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_memchan.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | \fB::tcl::chan::memchan\fR This command creates a new memchan channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | \fB::tcl::chan::memchan\fR This command creates a new memchan channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS in-memory channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_null.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | \fB::tcl::chan::null\fR This command creates a new null channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | \fB::tcl::chan::null\fR This command creates a new null channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS /dev/null, null, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_random.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS /dev/random, random, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_string.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | This command creates a new string channel and returns its handle\&. The channel provides random read-only access to the \fIcontent\fR string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | This command creates a new string channel and returns its handle\&. The channel provides random read-only access to the \fIcontent\fR string\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS in-memory channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_variable.n.
︙ | ︙ | |||
275 276 277 278 279 280 281 | The content of the channel is stored in the associated namespace variable \fIvarname\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | The content of the channel is stored in the associated namespace variable \fIvarname\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS in-memory channel, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/tcllib_zero.n.
︙ | ︙ | |||
274 275 276 277 278 279 280 | \fB::tcl::chan::zero\fR This command creates a new zero channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | \fB::tcl::chan::zero\fR This command creates a new zero channel and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS /dev/zero, reflected channel, tip 219, virtual channel, zero .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_base/textwindow.n.
︙ | ︙ | |||
268 269 270 271 272 273 274 | This command creates a new textwindow channel and returns its handle\&. Data written to this channel will appear in the associated \fIwidget\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | This command creates a new textwindow channel and returns its handle\&. Data written to this channel will appear in the associated \fIwidget\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS Tk, reflected channel, text widget, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_core/core.n.
︙ | ︙ | |||
300 301 302 303 304 305 306 | from within a call of \fBfinalize\fR this does not happen, under the assumption that the channel is being destroyed by Tcl\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | from within a call of \fBfinalize\fR this does not happen, under the assumption that the channel is being destroyed by Tcl\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_core/events.n.
︙ | ︙ | |||
309 310 311 312 313 314 315 | able to determine which events it should (not) generate and act accordingly\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 | able to determine which events it should (not) generate and act accordingly\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS event management, reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_core/transformcore.n.
︙ | ︙ | |||
300 301 302 303 304 305 306 | from within a call of \fBfinalize\fR this does not happen, under the assumption that the channel and transform are being destroyed by Tcl\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | from within a call of \fBfinalize\fR this does not happen, under the assumption that the channel and transform are being destroyed by Tcl\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS reflected channel, tip 219, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/adler32.n.
︙ | ︙ | |||
294 295 296 297 298 299 300 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS adler32, channel transformation, checksum, reflected channel, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/base64.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | This command creates a base64 transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | This command creates a base64 transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS base64, channel transformation, reflected channel, tip 230, tip 317, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/counter.n.
︙ | ︙ | |||
293 294 295 296 297 298 299 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, counter, reflected channel, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/crc32.n.
︙ | ︙ | |||
294 295 296 297 298 299 300 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | write direction is not saved\&. .RE .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, checksum, crc32, reflected channel, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/hex.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | This command creates a hex transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | This command creates a hex transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, hexadecimal, reflected channel, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/identity.n.
︙ | ︙ | |||
277 278 279 280 281 282 283 | This command creates an identity transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | This command creates an identity transformation on top of the channel \fIchan\fR and returns its handle\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, identity, reflected channel, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/limitsize.n.
︙ | ︙ | |||
272 273 274 275 276 277 278 | channel before EOF is signaled by the transformation\&. Note that popping the transformation clears the EOF it generated as well\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | channel before EOF is signaled by the transformation\&. Note that popping the transformation clears the EOF it generated as well\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, limitsize, reflected channel, size limit, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/observe.n.
︙ | ︙ | |||
276 277 278 279 280 281 282 | \fIchan\fR and returns its handle\&. The channel handles \fIlogr\fR and \fIlogw\fR are there the data is copied to\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | \fIchan\fR and returns its handle\&. The channel handles \fIlogr\fR and \fIlogw\fR are there the data is copied to\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, observer, reflected channel, stream copy, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/otp.n.
︙ | ︙ | |||
275 276 277 278 279 280 281 | contents are reads and xored with the bytes written to and read from the channel\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | contents are reads and xored with the bytes written to and read from the channel\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, cipher, decryption, encryption, one time pad, otp, reflected channel, tip 230, transformation, virtual channel, xor .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/rot.n.
︙ | ︙ | |||
279 280 281 282 283 284 285 | characters, i\&.e\&. "A\&.\&.\&.Z" and "a\&.\&.\&.z"\&. All other bytes are passed through unchanged\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | characters, i\&.e\&. "A\&.\&.\&.Z" and "a\&.\&.\&.z"\&. All other bytes are passed through unchanged\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS caesar cipher, channel transformation, cipher, decryption, encryption, reflected channel, rot, rot13, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/spacer.n.
︙ | ︙ | |||
272 273 274 275 276 277 278 | reverse, removing the spacing\&. If \fIspace\fR is not specified it defaults to a single space character (ASCII 32)\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | reverse, removing the spacing\&. If \fIspace\fR is not specified it defaults to a single space character (ASCII 32)\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, reflected channel, spacing, tip 230, transformation, virtual channel .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/virtchannel_transform/tcllib_zlib.n.
︙ | ︙ | |||
270 271 272 273 274 275 276 | The \fIlevel\fR specifies how much effort is put into the compression, from \fB0\fR to \fB9\fR, and defaults to \fB4\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | The \fIlevel\fR specifies how much effort is put into the compression, from \fB0\fR to \fB9\fR, and defaults to \fB4\fR\&. .PP .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIvirtchannel\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS channel transformation, compression, decompression, reflected channel, tip 230, tip 234, transformation, virtual channel, zlib .SH CATEGORY Channels .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/wip/wip.n.
︙ | ︙ | |||
590 591 592 593 594 595 596 | .PP .SH EXAMPLES No examples yet\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIwip\fR of the | | | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 | .PP .SH EXAMPLES No examples yet\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIwip\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH KEYWORDS interpreter, list, word .SH CATEGORY Programming tools .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/yaml/huddle.n.
︙ | ︙ | |||
810 811 812 813 814 815 816 | .SH LIMITATIONS .PP now printing\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhuddle\fR of the | | | 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 | .SH LIMITATIONS .PP now printing\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIhuddle\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" yaml .SH KEYWORDS data exchange, exchange format, huddle, json, parsing, text processing, yaml .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/man/files/modules/yaml/yaml.n.
︙ | ︙ | |||
422 423 424 425 426 427 428 | Too many braces, or too few braces\&. .PP Not enough character set of line feeds\&. Please use only "\\n" as line breaks\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIyaml\fR of the | | | 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | Too many braces, or too few braces\&. .PP Not enough character set of line feeds\&. Please use only "\\n" as line breaks\&. .SH "BUGS, IDEAS, FEEDBACK" This document, and the package it describes, will undoubtedly contain bugs and other problems\&. Please report such in the category \fIyaml\fR of the \fITcllib Trackers\fR [http://core\&.tcl\&.tk/tcllib/reportlist]\&. Please also report any ideas for enhancements you may have for either package and/or documentation\&. .SH "SEE ALSO" base64, huddle, json .SH KEYWORDS data exchange, huddle, parsing, text processing, yaml .SH COPYRIGHT |
︙ | ︙ |
Changes to embedded/www/index.html.
︙ | ︙ | |||
24 25 26 27 28 29 30 | </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key649"> .ddt </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#idxodd" valign=top> | | | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key649"> .ddt </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key414"> .dtx </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c2">Keywords: /</a> </th></tr> <tr class="#idxeven" valign=top> |
︙ | ︙ | |||
73 74 75 76 77 78 79 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key305"> acceptor </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key305"> acceptor </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key593"> active </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key236"> adaptors </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key444"> adjacency list </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key468"> adjacency matrix </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key461"> adjacent </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key328"> adjusting </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key651"> adler32 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key777"> aes </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key391"> after </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key756"> alias </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> |
︙ | ︙ | |||
188 189 190 191 192 193 194 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key716"> archive </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key716"> archive </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key740"> argument integrity </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key251"> argument processing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key739"> argument validation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key738"> arguments </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key250"> argv </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> |
︙ | ︙ | |||
346 347 348 349 350 351 352 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key668"> Bessel functions </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#idxodd" valign=top> | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key668"> Bessel functions </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/special.html"> math::special </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key441"> bfs </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key405"> bibliography </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bibtex/bibtex.html"> bibtex </a> |
︙ | ︙ | |||
371 372 373 374 375 376 377 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key695"> bind </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key695"> bind </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent.html"> uevent </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key471"> bipartite </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key368"> BitTorrent </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key367"> bittorrent </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key272"> blanks </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key633"> block cipher </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/des/des.html"> des </a> |
︙ | ︙ | |||
411 412 413 414 415 416 417 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key346"> Book Number </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#idxeven" valign=top> | | | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key346"> Book Number </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key685"> breadth-first </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key443"> bridge </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
434 435 436 437 438 439 440 | </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key501"> C </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> </td></tr> <tr class="#idxeven" valign=top> | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key501"> C </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key231"> C++ </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key361"> cache </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> |
︙ | ︙ | |||
474 475 476 477 478 479 480 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key258"> card for credit </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key258"> card for credit </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key711"> cardinality </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key292"> cat </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key48"> catalog package </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> |
︙ | ︙ | |||
529 530 531 532 533 534 535 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key429"> changelog </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/changelog.html"> doctools::changelog </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key429"> changelog </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/changelog.html"> doctools::changelog </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key83"> channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/copyops.html"> transfer::copy </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> · <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key298"> channel transformation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key108"> character input </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key404"> character output </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> |
︙ | ︙ | |||
569 570 571 572 573 574 575 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key73"> Checking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | | 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key73"> Checking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key158"> checksum </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key671"> chop </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key179"> cipher </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key157"> cksum </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key234"> class </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key750"> class methods </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key753"> class variables </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key168"> cleanup </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> |
︙ | ︙ | |||
629 630 631 632 633 634 635 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key173"> color control </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key173"> color control </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key484"> columns </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key33"> comm </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key256"> command </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key248"> command line processing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/cmdline/cmdline.html"> cmdline </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key573"> command prefix </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> · <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key163"> comment </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> |
︙ | ︙ | |||
679 680 681 682 683 684 685 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key533"> comparison </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> | | | 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key533"> comparison </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key464"> complete graph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key778"> complex numbers </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/qcomplex.html"> math::complexnumbers </a> · <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> |
︙ | ︙ | |||
714 715 716 717 718 719 720 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key724"> connected fifos </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#idxeven" valign=top> | | | 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key724"> connected fifos </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key592"> connection </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key590"> constants </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> · <a href="tcllib/files/modules/units/units.html"> units </a> |
︙ | ︙ | |||
744 745 746 747 748 749 750 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key4"> context-free languages </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | | 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key4"> context-free languages </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key107"> control </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> · <a href="tcllib/files/modules/term/term.html"> term </a> · <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> · <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> · <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> · <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key215"> control structure </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key20"> conversion </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2idx/introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/math/roman.html"> math::roman </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> · <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key483"> cooked </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key664"> cookie </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key84"> copy </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> · <a href="tcllib/files/modules/transfer/copyops.html"> transfer::copy </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> · <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key210"> coroutine </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key805"> Cost </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key297"> counter </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key698"> counting </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> |
︙ | ︙ | |||
849 850 851 852 853 854 855 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key462"> cut vertex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> | | | 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key462"> cut vertex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key614"> CVS </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key754"> cvs </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> |
︙ | ︙ | |||
892 893 894 895 896 897 898 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key189"> data exchange </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key189"> data exchange </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key150"> data integrity </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/crc/cksum.html"> cksum </a> · <a href="tcllib/files/modules/crc/crc16.html"> crc16 </a> · <a href="tcllib/files/modules/crc/crc32.html"> crc32 </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key354"> data source </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key319"> data structures </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key38"> database </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key375"> dataflow </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> |
︙ | ︙ | |||
942 943 944 945 946 947 948 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key528"> decompression </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key528"> decompression </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key378"> decryption </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key522"> deferal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key321"> define </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key451"> degree </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key452"> degree constrained spanning tree </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key794"> degrees </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> |
︙ | ︙ | |||
1012 1013 1014 1015 1016 1017 1018 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key615"> diff -n format </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key615"> diff -n format </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key714"> difference </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key536"> differential </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key766"> differential equations </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key472"> dijkstra </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key142"> directory access </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key704"> directory traversal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> |
︙ | ︙ | |||
1087 1088 1089 1090 1091 1092 1093 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key349"> docidx commands </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> </td></tr> <tr class="#idxeven" valign=top> | | | 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key349"> docidx commands </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key353"> docidx language </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key352"> docidx markup </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> |
︙ | ︙ | |||
1117 1118 1119 1120 1121 1122 1123 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key490"> doctoc commands </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key490"> doctoc commands </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key489"> doctoc language </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key488"> doctoc markup </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key524"> doctoc syntax </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key51"> doctools </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/modules/doctools/changelog.html"> doctools::changelog </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2idx/parse.html"> doctools::idx::parse </a> · <a href="tcllib/files/modules/doctools2idx/structure.html"> doctools::idx::structure </a> · <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/doctools2toc/parse.html"> doctools::toc::parse </a> · <a href="tcllib/files/modules/doctools2toc/structure.html"> doctools::toc::structure </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key144"> doctools commands </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key147"> doctools language </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key146"> doctools markup </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key145"> doctools syntax </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> |
︙ | ︙ | |||
1177 1178 1179 1180 1181 1182 1183 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key733"> dom </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key733"> dom </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key582"> domain name service </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c8">Keywords: E</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key793"> e </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key111"> EAN </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> |
︙ | ︙ | |||
1250 1251 1252 1253 1254 1255 1256 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key244"> encoding </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> · <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/base64/uuencode.html"> uuencode </a> · <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key244"> encoding </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/base64/ascii85.html"> ascii85 </a> · <a href="tcllib/files/modules/base64/base64.html"> base64 </a> · <a href="tcllib/files/modules/base64/uuencode.html"> uuencode </a> · <a href="tcllib/files/modules/base64/yencode.html"> yencode </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key153"> encryption </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/aes/aes.html"> aes </a> · <a href="tcllib/files/modules/blowfish/blowfish.html"> blowfish </a> · <a href="tcllib/files/modules/des/des.html"> des </a> · <a href="tcllib/files/modules/pki/pki.html"> pki </a> · <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key741"> entry mask </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key539"> equal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key552"> equality </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> |
︙ | ︙ | |||
1305 1306 1307 1308 1309 1310 1311 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key389"> events </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxodd" valign=top> | | | 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key389"> events </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key351"> examples </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_lang_intro.html"> bench_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key172"> exception </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> |
︙ | ︙ | |||
1335 1336 1337 1338 1339 1340 1341 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key160"> exif </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/exif/exif.html"> exif </a> · <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#idxodd" valign=top> | | | 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key160"> exif </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/exif/exif.html"> exif </a> · <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key392"> exit </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key165"> export </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> |
︙ | ︙ | |||
1388 1389 1390 1391 1392 1393 1394 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key122"> file recognition </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/mimetypes.html"> fileutil::magic::mimetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | | 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key122"> file recognition </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/mimetypes.html"> fileutil::magic::mimetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key124"> file type </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/mimetypes.html"> fileutil::magic::mimetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key121"> file utilities </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> · <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/mimetypes.html"> fileutil::magic::mimetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key362"> filesystem </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key214"> filter </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key170"> final </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key259"> finance </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key608"> find </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key769"> finite </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key307"> finite automaton </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key221"> FIPS 180-1 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> · <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key540"> first permutation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key548"> Fisher-Yates </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> |
︙ | ︙ | |||
1468 1469 1470 1471 1472 1473 1474 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key475"> flow network </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key475"> flow network </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key545"> folding </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key212"> foldl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key217"> foldr </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key209"> foreach </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> |
︙ | ︙ | |||
1566 1567 1568 1569 1570 1571 1572 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key563"> generation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | | | | 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key563"> generation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key216"> generator </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key566"> geocoding </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key199"> geodesy </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key204"> geography </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key106"> get character </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key393"> gets </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key390"> global </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key510"> gopher </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key386"> gps </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> · <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key652"> gpx </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/gpx/gpx.html"> gpx </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key11"> grammar </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> · <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key283"> graph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/graph1.html"> struct::graph_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key197"> graph walking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key396"> green threads </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> |
︙ | ︙ | |||
1689 1690 1691 1692 1693 1694 1695 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key810"> horspool </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key810"> horspool </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key18"> HTML </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key597"> html </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/html/html.html"> html </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/ncgi/ncgi.html"> ncgi </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key505"> http </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key568"> huddle </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/yaml/yaml.html"> yaml </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key481"> human readable </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key330"> hyphenation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> |
︙ | ︙ | |||
1732 1733 1734 1735 1736 1737 1738 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key365"> IBAN </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key365"> IBAN </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key416"> ident </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key417"> identification </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key420"> identity </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key520"> idle </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key134"> image </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> · <a href="tcllib/files/modules/png/png.html"> png </a> · <a href="tcllib/files/modules/tiff/tiff.html"> tiff </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key789"> imap </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> |
︙ | ︙ | |||
1777 1778 1779 1780 1781 1782 1783 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key59"> in-memory channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | | | | | 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key59"> in-memory channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key682"> in-order </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key709"> inclusion </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key238"> Incr Tcl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key326"> indenting </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key447"> independent set </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key182"> index </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_docidx.html"> doctools::idx::export::docidx </a> · <a href="tcllib/files/modules/doctools2idx/export_html.html"> doctools::idx::export::html </a> · <a href="tcllib/files/modules/doctools2idx/export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/export_nroff.html"> doctools::idx::export::nroff </a> · <a href="tcllib/files/modules/doctools2idx/export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2idx/export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2idx/import_docidx.html"> doctools::idx::import::docidx </a> · <a href="tcllib/files/modules/doctools2idx/import_json.html"> doctools::idx::import::json </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key761"> index formatter </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key91"> info </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key547"> inner join </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key482"> input mode </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key334"> integer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> |
︙ | ︙ | |||
1867 1868 1869 1870 1871 1872 1873 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key46"> internationalization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key46"> internationalization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key138"> internet </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key428"> internet address </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key819"> interpolation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/interpolate.html"> math::interpolate </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key31"> interpreter </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_method.html"> deleg_method </a> · <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/interp/tcllib_interp.html"> interp </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key713"> intersection </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key730"> interval </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> |
︙ | ︙ | |||
1937 1938 1939 1940 1941 1942 1943 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key467"> isthmus </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | | | | | | | | | | | | | | | | 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key467"> isthmus </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key213"> iterator </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c13">Keywords: J</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key191"> javascript </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key162"> jfif </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key538"> join </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key161"> jpeg </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/exif/exif.html"> exif </a> · <a href="tcllib/files/modules/jpeg/jpeg.html"> jpeg </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key257"> JSON </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/export_json.html"> doctools::idx::export::json </a> · <a href="tcllib/files/modules/doctools2idx/import_json.html"> doctools::idx::import::json </a> · <a href="tcllib/files/modules/doctools2toc/export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/import_json.html"> doctools::toc::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key190"> json </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/yaml/huddle.html"> huddle </a> · <a href="tcllib/files/modules/json/json.html"> json </a> · <a href="tcllib/files/modules/json/json_write.html"> json::write </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key325"> justification </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c14">Keywords: K</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key184"> keyword index </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools2idx/introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key760"> keywords </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key265"> knuth </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c15">Keywords: L</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key49"> l10n </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key572"> lambda </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/lambda/lambda.html"> lambda </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key413"> LaTeX </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key186"> latex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key198"> latitute </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key137"> ldap </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key135"> ldap client </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key479"> ldif </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key65"> least squares </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key532"> left outer join </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key196"> lemon </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key463"> level graph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key370"> lexer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/parse.html"> doctools::idx::parse </a> · <a href="tcllib/files/modules/doctools2toc/parse.html"> doctools::toc::parse </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key680"> lexing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key706"> limitsize </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key557"> line </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key64"> linear algebra </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key63"> linear equations </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key290"> linear program </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key487"> lines </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key280"> list </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/wip/wip.html"> wip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key109"> listener </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key412"> literate programming </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key15"> LL(k) </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key458"> local searching </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key45"> localization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcllib_msgcat.html"> doctools::msgcat </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_c.html"> doctools::msgcat::idx::c </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_de.html"> doctools::msgcat::idx::de </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_en.html"> doctools::msgcat::idx::en </a> · <a href="tcllib/files/modules/doctools2idx/msgcat_fr.html"> doctools::msgcat::idx::fr </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_c.html"> doctools::msgcat::toc::c </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_de.html"> doctools::msgcat::toc::de </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_en.html"> doctools::msgcat::toc::en </a> · <a href="tcllib/files/modules/doctools2toc/msgcat_fr.html"> doctools::msgcat::toc::fr </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key202"> location </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key69"> log </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> · <a href="tcllib/files/modules/doctools/cvs.html"> doctools::cvs </a> · <a href="tcllib/files/modules/log/log.html"> log </a> · <a href="tcllib/files/modules/log/logger.html"> logger </a> |
︙ | ︙ | |||
2204 2205 2206 2207 2208 2209 2210 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key503"> man_macros </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key503"> man_macros </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key17"> manpage </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key203"> map </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> · <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key16"> markup </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_intro.html"> docidx_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_cmdref.html"> docidx_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/docidx_lang_faq.html"> docidx_lang_faq </a> · <a href="tcllib/files/modules/doctools/docidx_lang_intro.html"> docidx_lang_intro </a> · <a href="tcllib/files/modules/doctools/docidx_lang_syntax.html"> docidx_lang_syntax </a> · <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_cmdref.html"> doctoc_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_faq.html"> doctoc_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_intro.html"> doctoc_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_lang_syntax.html"> doctoc_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools2idx/introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/doctools/doctools_intro.html"> doctools_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_cmdref.html"> doctools_lang_cmdref </a> · <a href="tcllib/files/modules/doctools/doctools_lang_faq.html"> doctools_lang_faq </a> · <a href="tcllib/files/modules/doctools/doctools_lang_intro.html"> doctools_lang_intro </a> · <a href="tcllib/files/modules/doctools/doctools_lang_syntax.html"> doctools_lang_syntax </a> · <a href="tcllib/files/modules/doctools/doctools_plugin_apiref.html"> doctools_plugin_apiref </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> |
︙ | ︙ | |||
2239 2240 2241 2242 2243 2244 2245 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key602"> mathematics </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#idxodd" valign=top> | | | 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key602"> mathematics </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/fourier.html"> math::fourier </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key62"> matrices </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key55"> matrix </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/csv/csv.html"> csv </a> · <a href="tcllib/files/modules/math/linalg.html"> math::linearalgebra </a> · <a href="tcllib/files/modules/report/report.html"> report </a> · <a href="tcllib/files/modules/struct/matrix.html"> struct::matrix </a> · <a href="tcllib/files/modules/struct/matrix1.html"> struct::matrix_v1 </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> |
︙ | ︙ | |||
2264 2265 2266 2267 2268 2269 2270 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key474"> maximum flow </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key474"> maximum flow </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key359"> md4 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key644"> md5 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key742"> md5crypt </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/md5crypt/md5crypt.html"> md5crypt </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key241"> medicare </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key233"> mega widget </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key708"> membership </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key662"> menu </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key518"> merge </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> · <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key607"> merge find </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key119"> merging </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> |
︙ | ︙ | |||
2374 2375 2376 2377 2378 2379 2380 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key448"> minimum cost flow </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> | | | 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key448"> minimum cost flow </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key438"> minimum degree spanning tree </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key476"> minimum diameter spanning tree </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> |
︙ | ︙ | |||
2414 2415 2416 2417 2418 2419 2420 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key677"> multiplexer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | | | | | 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key677"> multiplexer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/multiplexer/multiplexer.html"> multiplexer </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key269"> multiprecision </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key752"> my method </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c17">Keywords: N</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key29"> name service </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_client.html"> nameserv </a> · <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> · <a href="tcllib/files/modules/nns/nns_common.html"> nameserv::common </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/nns/nns_server.html"> nameserv::server </a> · <a href="tcllib/files/apps/nns.html"> nns </a> · <a href="tcllib/files/modules/nns/nns_intro.html"> nns_intro </a> · <a href="tcllib/files/apps/nnsd.html"> nnsd </a> · <a href="tcllib/files/apps/nnslog.html"> nnslog </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key94"> namespace unknown </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key93"> namespace utilities </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key68"> narrative </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key239"> National Provider Identifier </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key465"> neighbour </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key276"> net </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ftp/ftp.html"> ftp </a> · <a href="tcllib/files/modules/ftp/ftp_geturl.html"> ftp::geturl </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key654"> network </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key511"> news </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key555"> next permutation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key385"> nmea </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nmea/nmea.html"> nmea </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key635"> nntp </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key638"> nntpclient </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key129"> no-op </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key439"> node </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> |
︙ | ︙ | |||
2540 2541 2542 2543 2544 2545 2546 | <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c18">Keywords: O</a> </th></tr> <tr class="#idxeven" valign=top> | | | | | 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 | <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c18">Keywords: O</a> </th></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key237"> object </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key230"> object oriented </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> · <a href="tcllib/files/modules/stooop/stooop.html"> stooop </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key630"> observer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key517"> on-idle </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uev/uevent_onidle.html"> uevent::onidle </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key783"> one time pad </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key289"> optimization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/optimize.html"> math::optimize </a> · <a href="tcllib/files/modules/simulation/annealing.html"> simulation::annealing </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key735"> ordered list </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/prioqueue.html"> struct::prioqueue </a> |
︙ | ︙ | |||
2688 2689 2690 2691 2692 2693 2694 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key6"> PEG </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key6"> PEG </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> · <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key102"> performance </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/bench/bench_intro.html"> bench_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_intro.html"> bench_lang_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> · <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key529"> permutation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key37"> persistence </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key774"> phone </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key792"> pi </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/constants.html"> math::constants </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key164"> plain text </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/export_text.html"> doctools::idx::export::text </a> · <a href="tcllib/files/modules/doctools2toc/export_text.html"> doctools::toc::export::text </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key556"> plane geometry </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/math_geometry.html"> math::geometry </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key384"> plugin </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx_plugin_apiref.html"> docidx_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools2idx/introduction.html"> doctools2idx_introduction </a> · <a href="tcllib/files/modules/doctools2toc/introduction.html"> doctools2toc_introduction </a> · <a href="tcllib/files/modules/doctools2base/html_cssdefaults.html"> doctools::html::cssdefaults </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2base/nroff_manmacros.html"> doctools::nroff::man_macros </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> |
︙ | ︙ | |||
2753 2754 2755 2756 2757 2758 2759 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key801"> polynomial functions </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key801"> polynomial functions </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/polynomials.html"> math::polynomials </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key282"> pool </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key423"> pop </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key422"> pop3 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key684"> post-order </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key681"> pre-order </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key670"> prefix </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key747"> prime </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/numtheory.html"> math::numtheory </a> |
︙ | ︙ | |||
2808 2809 2810 2811 2812 2813 2814 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key34"> procedure </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key34"> procedure </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/interp/deleg_proc.html"> deleg_proc </a> · <a href="tcllib/files/modules/tepam/tepam_introduction.html"> tepam </a> · <a href="tcllib/files/modules/tepam/tepam_procedure.html"> tepam::procedure </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key658"> producer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key629"> profile </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/profiler/profiler.html"> profiler </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key620"> projection </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/mapproj/mapproj.html"> mapproj </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key507"> prospero </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key140"> protocol </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> · <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> · <a href="tcllib/files/modules/nns/nns_protocol.html"> nameserv::protocol </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/pop3d/pop3d_dbox.html"> pop3d::dbox </a> · <a href="tcllib/files/modules/pop3d/pop3d_udb.html"> pop3d::udb </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key813"> proxy </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/http/autoproxy.html"> autoproxy </a> |
︙ | ︙ | |||
2889 2890 2891 2892 2893 2894 2895 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key576"> random </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | | 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key576"> random </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key623"> random numbers </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key639"> rational functions </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/rational_funcs.html"> math::rationalfunctions </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key485"> raw </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key149"> rc4 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key613"> RCS </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key612"> RCS patch </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key388"> read </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key502"> reading </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key105"> receiver </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key492"> reconnect </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nns/nns_auto.html"> nameserv::auto </a> |
︙ | ︙ | |||
2964 2965 2966 2967 2968 2969 2970 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key60"> reflected channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> · <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxodd" valign=top> | | | 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key60"> reflected channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> · <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key679"> regex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key306"> regular expression </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> |
︙ | ︙ | |||
2999 3000 3001 3002 3003 3004 3005 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key226"> remove </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key226"> remove </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/multi.html"> fileutil::multi </a> · <a href="tcllib/files/modules/fileutil/multiop.html"> fileutil::multi::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key553"> repeating </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key271"> repetition </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key118"> report </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/report/report.html"> report </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key546"> reshuffle </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key442"> residual graph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key581"> resolver </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key169"> resource management </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/try/tcllib_try.html"> try </a> |
︙ | ︙ | |||
3084 3085 3086 3087 3088 3089 3090 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key636"> rfc 1036 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key636"> rfc 1036 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/nntp/nntp.html"> nntp </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key358"> rfc 1320 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key360"> rfc 1321 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/md4/md4.html"> md4 </a> · <a href="tcllib/files/modules/md5/md5.html"> md5 </a> · <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key415"> rfc 1413 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ident/ident.html"> ident </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key580"> rfc 1886 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_dns.html"> dns </a> |
︙ | ︙ | |||
3139 3140 3141 3142 3143 3144 3145 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key561"> rfc 2141 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#idxeven" valign=top> | | | 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key561"> rfc 2141 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key136"> rfc 2251 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> · <a href="tcllib/files/modules/ldap/ldapx.html"> ldapx </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key514"> rfc 2255 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> |
︙ | ︙ | |||
3184 3185 3186 3187 3188 3189 3190 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key426"> rfc 3513 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key426"> rfc 3513 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/dns/tcllib_ip.html"> tcllib_ip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key139"> rfc 4511 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key788"> rfc3501 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key323"> rfc3548 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/base32/base32.html"> base32 </a> · <a href="tcllib/files/modules/base32/base32hex.html"> base32::hex </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key535"> right outer join </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key357"> RIPEMD </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ripemd/ripemd128.html"> ripemd128 </a> · <a href="tcllib/files/modules/ripemd/ripemd160.html"> ripemd160 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key333"> roman numeral </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/roman.html"> math::roman </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key767"> roots </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/calculus.html"> math::calculus </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key377"> rot </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key376"> rot13 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> |
︙ | ︙ | |||
3272 3273 3274 3275 3276 3277 3278 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key211"> scanl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxeven" valign=top> | | | 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key211"> scanl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/generator/generator.html"> generator </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key611"> SCCS </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rcs/rcs.html"> rcs </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key339"> secure </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> |
︙ | ︙ | |||
3337 3338 3339 3340 3341 3342 3343 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key419"> sha1 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> </td></tr> <tr class="#idxodd" valign=top> | | | 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key419"> sha1 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha1.html"> sha1 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key220"> sha256 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/sha1/sha256.html"> sha256 </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key726"> shell </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> |
︙ | ︙ | |||
3372 3373 3374 3375 3376 3377 3378 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key751"> singleton </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxeven" valign=top> | | | | 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key751"> singleton </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ooutil/ooutil.html"> oo::util </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key705"> size limit </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key284"> skiplist </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/skiplist.html"> struct::skiplist </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key201"> slippy </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/map/map_slippy.html"> map::slippy </a> · <a href="tcllib/files/modules/map/map_slippy_cache.html"> map::slippy::cache </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key317"> smtp </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/mime/mime.html"> mime </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> |
︙ | ︙ | |||
3417 3418 3419 3420 3421 3422 3423 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key335"> socket </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key335"> socket </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/comm/comm_wire.html"> comm_wire </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key264"> soundex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key411"> source </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip.html"> docstrip </a> · <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> · <a href="tcllib/files/apps/tcldocstrip.html"> tcldocstrip </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key500"> spacing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> |
︙ | ︙ | |||
3467 3468 3469 3470 3471 3472 3473 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key342"> ssl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxodd" valign=top> | | | | 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key342"> ssl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key281"> stack </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key814"> standard io </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key2"> state </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key92"> state (de)serialization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key621"> statistical distribution </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/simulation/simulation_random.html"> simulation::random </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key187"> statistics </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/counter/counter.html"> counter </a> · <a href="tcllib/files/modules/math/math.html"> math </a> · <a href="tcllib/files/modules/math/statistics.html"> math::statistics </a> |
︙ | ︙ | |||
3512 3513 3514 3515 3516 3517 3518 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key728"> stochastic modelling </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key728"> stochastic modelling </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/simulation/montecarlo.html"> simulation::montecarlo </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key152"> stream cipher </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/rc4/rc4.html"> rc4 </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key631"> stream copy </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key270"> string </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> · <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> · <a href="tcllib/files/modules/textutil/expander.html"> textutil::expander </a> · <a href="tcllib/files/modules/textutil/repeat.html"> textutil::repeat </a> · <a href="tcllib/files/modules/textutil/textutil_split.html"> textutil::split </a> · <a href="tcllib/files/modules/textutil/textutil_string.html"> textutil::string </a> · <a href="tcllib/files/modules/textutil/tabify.html"> textutil::tabify </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key626"> stringprep </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key431"> strongly connected component </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key318"> struct </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/pool.html"> struct::pool </a> · <a href="tcllib/files/modules/struct/record.html"> struct::record </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key128"> structure </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/control/control.html"> control </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key808"> structured queries </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> |
︙ | ︙ | |||
3567 3568 3569 3570 3571 3572 3573 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key456"> subgraph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key456"> subgraph </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key657"> subject </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key718"> submitbutton </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/javascript/javascript.html"> javascript </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key656"> subscriber </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/hook/hook.html"> hook </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key544"> subsequence </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key254"> subst </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2base/tcl_parse.html"> doctools::tcl::parse </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key567"> sum </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/crc/sum.html"> sum </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key541"> swapping </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_list.html"> struct::list </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key707"> symmetric difference </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key625"> synchronous </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/cache/async.html"> cache::async </a> |
︙ | ︙ | |||
3650 3651 3652 3653 3654 3655 3656 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key717"> tar </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#idxodd" valign=top> | | | 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key717"> tar </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tar/tar.html"> tar </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key268"> tcl </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/math/bigfloat.html"> math::bigfloat </a> · <a href="tcllib/files/modules/math/bignum.html"> math::bignum </a> · <a href="tcllib/files/modules/math/decimal.html"> math::decimal </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key646"> Tcl module </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/docstrip/docstrip_util.html"> docstrip_util </a> |
︙ | ︙ | |||
3705 3706 3707 3708 3709 3710 3711 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key104"> terminal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/term.html"> term </a> · <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> · <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> · <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> · <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key104"> terminal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/term/term.html"> term </a> · <a href="tcllib/files/modules/term/ansi_code.html"> term::ansi::code </a> · <a href="tcllib/files/modules/term/ansi_cattr.html"> term::ansi::code::attr </a> · <a href="tcllib/files/modules/term/ansi_cctrl.html"> term::ansi::code::ctrl </a> · <a href="tcllib/files/modules/term/ansi_cmacros.html"> term::ansi::code::macros </a> · <a href="tcllib/files/modules/term/ansi_ctrlu.html"> term::ansi::ctrl::unix </a> · <a href="tcllib/files/modules/term/ansi_send.html"> term::ansi::send </a> · <a href="tcllib/files/modules/term/imenu.html"> term::interact::menu </a> · <a href="tcllib/files/modules/term/ipager.html"> term::interact::pager </a> · <a href="tcllib/files/modules/term/receive.html"> term::receive </a> · <a href="tcllib/files/modules/term/term_bind.html"> term::receive::bind </a> · <a href="tcllib/files/modules/term/term_send.html"> term::send </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key291"> test </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key78"> Testing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key101"> testing </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench.html"> bench </a> · <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wcsv.html"> bench::out::csv </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/bench/bench_intro.html"> bench_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_intro.html"> bench_lang_intro </a> · <a href="tcllib/files/modules/bench/bench_lang_spec.html"> bench_lang_spec </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key327"> TeX </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/adjust.html"> textutil::adjust </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key480"> text </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bench/bench_read.html"> bench::in </a> · <a href="tcllib/files/modules/bench/bench_wtext.html"> bench::out::text </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key263"> text comparison </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/soundex/soundex.html"> soundex </a> |
︙ | ︙ | |||
3785 3786 3787 3788 3789 3790 3791 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key39"> tie </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#idxeven" valign=top> | | | 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key39"> tie </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key133"> tif </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tiff/tiff.html"> tiff </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key132"> tiff </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/exif/exif.html"> exif </a> · <a href="tcllib/files/modules/tiff/tiff.html"> tiff </a> |
︙ | ︙ | |||
3810 3811 3812 3813 3814 3815 3816 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key686"> timestamp </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#idxodd" valign=top> | | | 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key686"> timestamp </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/png/png.html"> png </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key71"> timestamps </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key58"> tip 219 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> |
︙ | ︙ | |||
3845 3846 3847 3848 3849 3850 3851 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key311"> tls </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxeven" valign=top> | | | | | | | 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 | </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key311"> tls </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/comm/comm.html"> comm </a> · <a href="tcllib/files/modules/imap4/imap4.html"> imap4 </a> · <a href="tcllib/files/modules/pop3/pop3.html"> pop3 </a> · <a href="tcllib/files/modules/pop3d/pop3d.html"> pop3d </a> · <a href="tcllib/files/modules/mime/smtp.html"> smtp </a> · <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key19"> TMML </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctools.html"> doctools </a> · <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/apps/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/dtplite/dtplite.html"> dtplite </a> · <a href="tcllib/files/modules/doctools/mpexpand.html"> mpexpand </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key166"> toc </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_intro.html"> doctoc_intro </a> · <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export_doctoc.html"> doctools::toc::export::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/export_html.html"> doctools::toc::export::html </a> · <a href="tcllib/files/modules/doctools2toc/export_json.html"> doctools::toc::export::json </a> · <a href="tcllib/files/modules/doctools2toc/export_nroff.html"> doctools::toc::export::nroff </a> · <a href="tcllib/files/modules/doctools2toc/export_text.html"> doctools::toc::export::text </a> · <a href="tcllib/files/modules/doctools2toc/export_wiki.html"> doctools::toc::export::wiki </a> · <a href="tcllib/files/modules/doctools2toc/import_doctoc.html"> doctools::toc::import::doctoc </a> · <a href="tcllib/files/modules/doctools2toc/import_json.html"> doctools::toc::import::json </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key701"> toc formatter </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/doctoc_plugin_apiref.html"> doctoc_plugin_apiref </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key678"> tokenization </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/string/token.html"> string::token </a> · <a href="tcllib/files/modules/string/token_shell.html"> string::token::shell </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key13"> top-down parsing languages </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key369"> torrent </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/bee/bee.html"> bee </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key295"> touch </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key25"> TPDL </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key70"> trace </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/debug/debug.html"> debug </a> · <a href="tcllib/files/modules/debug/debug_caller.html"> debug::caller </a> · <a href="tcllib/files/modules/debug/debug_heartbeat.html"> debug::heartbeat </a> · <a href="tcllib/files/modules/debug/debug_timestamp.html"> debug::timestamp </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key12"> transducer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_aycock/aycock.html"> grammar::aycock </a> · <a href="tcllib/files/modules/grammar_fa/fa.html"> grammar::fa </a> · <a href="tcllib/files/modules/grammar_fa/dacceptor.html"> grammar::fa::dacceptor </a> · <a href="tcllib/files/modules/grammar_fa/dexec.html"> grammar::fa::dexec </a> · <a href="tcllib/files/modules/grammar_fa/faop.html"> grammar::fa::op </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_peg/peg.html"> grammar::peg </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/apps/pt.html"> pt </a> · <a href="tcllib/files/modules/pt/pt_astree.html"> pt::ast </a> · <a href="tcllib/files/modules/pt/pt_cparam_config_critcl.html"> pt::cparam::configuration::critcl </a> · <a href="tcllib/files/modules/pt/pt_json_language.html"> pt::json_language </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> · <a href="tcllib/files/modules/pt/pt_pexpression.html"> pt::pe </a> · <a href="tcllib/files/modules/pt/pt_pexpr_op.html"> pt::pe::op </a> · <a href="tcllib/files/modules/pt/pt_pegrammar.html"> pt::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_container.html"> pt::peg::container </a> · <a href="tcllib/files/modules/pt/pt_peg_container_peg.html"> pt::peg::container::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_export.html"> pt::peg::export </a> · <a href="tcllib/files/modules/pt/pt_peg_export_container.html"> pt::peg::export::container </a> · <a href="tcllib/files/modules/pt/pt_peg_export_json.html"> pt::peg::export::json </a> · <a href="tcllib/files/modules/pt/pt_peg_export_peg.html"> pt::peg::export::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_from_container.html"> pt::peg::from::container </a> · <a href="tcllib/files/modules/pt/pt_peg_from_json.html"> pt::peg::from::json </a> · <a href="tcllib/files/modules/pt/pt_peg_from_peg.html"> pt::peg::from::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_import.html"> pt::peg::import </a> · <a href="tcllib/files/modules/pt/pt_peg_import_container.html"> pt::peg::import::container </a> · <a href="tcllib/files/modules/pt/pt_peg_import_json.html"> pt::peg::import::json </a> · <a href="tcllib/files/modules/pt/pt_peg_import_peg.html"> pt::peg::import::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_interp.html"> pt::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_peg_to_container.html"> pt::peg::to::container </a> · <a href="tcllib/files/modules/pt/pt_peg_to_cparam.html"> pt::peg::to::cparam </a> · <a href="tcllib/files/modules/pt/pt_peg_to_json.html"> pt::peg::to::json </a> · <a href="tcllib/files/modules/pt/pt_peg_to_param.html"> pt::peg::to::param </a> · <a href="tcllib/files/modules/pt/pt_peg_to_peg.html"> pt::peg::to::peg </a> · <a href="tcllib/files/modules/pt/pt_peg_to_tclparam.html"> pt::peg::to::tclparam </a> · <a href="tcllib/files/modules/pt/pt_peg_language.html"> pt::peg_language </a> · <a href="tcllib/files/modules/pt/pt_peg_introduction.html"> pt::pegrammar </a> · <a href="tcllib/files/modules/pt/pt_pgen.html"> pt::pgen </a> · <a href="tcllib/files/modules/pt/pt_rdengine.html"> pt::rde </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_snit.html"> pt::tclparam::configuration::snit </a> · <a href="tcllib/files/modules/pt/pt_tclparam_config_tcloo.html"> pt::tclparam::configuration::tcloo </a> · <a href="tcllib/files/modules/pt/pt_to_api.html"> pt_export_api </a> · <a href="tcllib/files/modules/pt/pt_from_api.html"> pt_import_api </a> · <a href="tcllib/files/modules/pt/pt_introduction.html"> pt_introduction </a> · <a href="tcllib/files/modules/pt/pt_parser_api.html"> pt_parser_api </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key82"> transfer </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/transfer/connect.html"> transfer::connect </a> · <a href="tcllib/files/modules/transfer/copyops.html"> transfer::copy </a> · <a href="tcllib/files/modules/transfer/tqueue.html"> transfer::copy::queue </a> · <a href="tcllib/files/modules/transfer/ddest.html"> transfer::data::destination </a> · <a href="tcllib/files/modules/transfer/dsource.html"> transfer::data::source </a> · <a href="tcllib/files/modules/transfer/receiver.html"> transfer::receiver </a> · <a href="tcllib/files/modules/transfer/transmitter.html"> transfer::transmitter </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key300"> transformation </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_peg.html"> page_util_peg </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> |
︙ | ︙ | |||
3920 3921 3922 3923 3924 3925 3926 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key703"> traversal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key703"> traversal </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/traverse.html"> fileutil_traverse </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key278"> tree </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_util.html"> grammar::me::util </a> · <a href="tcllib/files/modules/htmlparse/htmlparse.html"> htmlparse </a> · <a href="tcllib/files/modules/struct/queue.html"> struct::queue </a> · <a href="tcllib/files/modules/struct/stack.html"> struct::stack </a> · <a href="tcllib/files/modules/struct/struct_tree.html"> struct::tree </a> · <a href="tcllib/files/modules/struct/struct_tree1.html"> struct::tree_v1 </a> · <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key806"> tree query language </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key193"> tree walking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/page/page_util_flow.html"> page_util_flow </a> · <a href="tcllib/files/modules/page/page_util_norm_lemon.html"> page_util_norm_lemon </a> · <a href="tcllib/files/modules/page/page_util_norm_peg.html"> page_util_norm_peg </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key804"> TreeQL </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/treeql/treeql.html"> treeql </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key407"> trimming </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/textutil/textutil.html"> textutil </a> · <a href="tcllib/files/modules/textutil/trim.html"> textutil::trim </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key123"> type </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/fileutil/fileutil.html"> fileutil </a> · <a href="tcllib/files/modules/fumagic/cfront.html"> fileutil::magic::cfront </a> · <a href="tcllib/files/modules/fumagic/cgen.html"> fileutil::magic::cgen </a> · <a href="tcllib/files/modules/fumagic/filetypes.html"> fileutil::magic::filetype </a> · <a href="tcllib/files/modules/fumagic/mimetypes.html"> fileutil::magic::mimetype </a> · <a href="tcllib/files/modules/fumagic/rtcore.html"> fileutil::magic::rt </a> · <a href="tcllib/files/modules/snit/snit.html"> snit </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key77"> Type checking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/valtype_common.html"> valtype::common </a> · <a href="tcllib/files/modules/valtype/cc_amex.html"> valtype::creditcard::amex </a> · <a href="tcllib/files/modules/valtype/cc_discover.html"> valtype::creditcard::discover </a> · <a href="tcllib/files/modules/valtype/cc_mastercard.html"> valtype::creditcard::mastercard </a> · <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> · <a href="tcllib/files/modules/valtype/ean13.html"> valtype::gs1::ean13 </a> · <a href="tcllib/files/modules/valtype/iban.html"> valtype::iban </a> · <a href="tcllib/files/modules/valtype/imei.html"> valtype::imei </a> · <a href="tcllib/files/modules/valtype/isbn.html"> valtype::isbn </a> · <a href="tcllib/files/modules/valtype/luhn.html"> valtype::luhn </a> · <a href="tcllib/files/modules/valtype/luhn5.html"> valtype::luhn5 </a> · <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> · <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> |
︙ | ︙ | |||
3983 3984 3985 3986 3987 3988 3989 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key627"> unicode </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key627"> unicode </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/stringprep/stringprep.html"> stringprep </a> · <a href="tcllib/files/modules/stringprep/stringprep_data.html"> stringprep::data </a> · <a href="tcllib/files/modules/stringprep/unicode.html"> unicode </a> · <a href="tcllib/files/modules/stringprep/unicode_data.html"> unicode::data </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key606"> union </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/disjointset.html"> struct::disjointset </a> · <a href="tcllib/files/modules/struct/struct_set.html"> struct::set </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key589"> unit </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/units/units.html"> units </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key96"> unknown hooking </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key36"> untie </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/tie/tie_std.html"> tie </a> · <a href="tcllib/files/modules/tie/tie.html"> tie </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key394"> update </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key506"> uri </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key508"> url </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/import.html"> doctools::idx::import </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/import.html"> doctools::toc::import </a> · <a href="tcllib/files/modules/map/map_geocode_nominatim.html"> map::geocode::nominatim </a> · <a href="tcllib/files/modules/map/map_slippy_fetcher.html"> map::slippy::fetcher </a> · <a href="tcllib/files/modules/uri/uri.html"> uri </a> · <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key560"> urn </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/urn-scheme.html"> uri_urn </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key240"> US-NPI </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/usnpi.html"> valtype::usnpi </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key90"> utilities </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/namespacex/namespacex.html"> namespacex </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key243"> uuencode </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/base64/uuencode.html"> uuencode </a> |
︙ | ︙ | |||
4066 4067 4068 4069 4070 4071 4072 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key732"> verhoeff </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#idxodd" valign=top> | | | | | | 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key732"> verhoeff </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/verhoeff.html"> valtype::verhoeff </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key440"> vertex </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graph.html"> struct::graph </a> · <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key473"> vertex cover </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/struct/graphops.html"> struct::graph::op </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key57"> virtual channel </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/virtchannel_base/cat.html"> tcl::chan::cat </a> · <a href="tcllib/files/modules/virtchannel_core/core.html"> tcl::chan::core </a> · <a href="tcllib/files/modules/virtchannel_core/events.html"> tcl::chan::events </a> · <a href="tcllib/files/modules/virtchannel_base/facade.html"> tcl::chan::facade </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo.html"> tcl::chan::fifo </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_fifo2.html"> tcl::chan::fifo2 </a> · <a href="tcllib/files/modules/virtchannel_base/halfpipe.html"> tcl::chan::halfpipe </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_memchan.html"> tcl::chan::memchan </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_null.html"> tcl::chan::null </a> · <a href="tcllib/files/modules/virtchannel_base/nullzero.html"> tcl::chan::nullzero </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_random.html"> tcl::chan::random </a> · <a href="tcllib/files/modules/virtchannel_base/randseed.html"> tcl::chan::randseed </a> · <a href="tcllib/files/modules/virtchannel_base/std.html"> tcl::chan::std </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_string.html"> tcl::chan::string </a> · <a href="tcllib/files/modules/virtchannel_base/textwindow.html"> tcl::chan::textwindow </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_variable.html"> tcl::chan::variable </a> · <a href="tcllib/files/modules/virtchannel_base/tcllib_zero.html"> tcl::chan::zero </a> · <a href="tcllib/files/modules/virtchannel_transform/adler32.html"> tcl::transform::adler32 </a> · <a href="tcllib/files/modules/virtchannel_transform/base64.html"> tcl::transform::base64 </a> · <a href="tcllib/files/modules/virtchannel_core/transformcore.html"> tcl::transform::core </a> · <a href="tcllib/files/modules/virtchannel_transform/counter.html"> tcl::transform::counter </a> · <a href="tcllib/files/modules/virtchannel_transform/crc32.html"> tcl::transform::crc32 </a> · <a href="tcllib/files/modules/virtchannel_transform/hex.html"> tcl::transform::hex </a> · <a href="tcllib/files/modules/virtchannel_transform/identity.html"> tcl::transform::identity </a> · <a href="tcllib/files/modules/virtchannel_transform/limitsize.html"> tcl::transform::limitsize </a> · <a href="tcllib/files/modules/virtchannel_transform/observe.html"> tcl::transform::observe </a> · <a href="tcllib/files/modules/virtchannel_transform/otp.html"> tcl::transform::otp </a> · <a href="tcllib/files/modules/virtchannel_transform/rot.html"> tcl::transform::rot </a> · <a href="tcllib/files/modules/virtchannel_transform/spacer.html"> tcl::transform::spacer </a> · <a href="tcllib/files/modules/virtchannel_transform/tcllib_zlib.html"> tcl::transform::zlib </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key24"> virtual machine </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/grammar_me/me_cpu.html"> grammar::me::cpu </a> · <a href="tcllib/files/modules/grammar_me/me_cpucore.html"> grammar::me::cpu::core </a> · <a href="tcllib/files/modules/grammar_me/gasm.html"> grammar::me::cpu::gasm </a> · <a href="tcllib/files/modules/grammar_me/me_tcl.html"> grammar::me::tcl </a> · <a href="tcllib/files/modules/grammar_me/me_intro.html"> grammar::me_intro </a> · <a href="tcllib/files/modules/grammar_me/me_vm.html"> grammar::me_vm </a> · <a href="tcllib/files/modules/grammar_peg/peg_interp.html"> grammar::peg::interp </a> · <a href="tcllib/files/modules/pt/pt_param.html"> pt::param </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key692"> VISA </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/valtype/cc_visa.html"> valtype::creditcard::visa </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key395"> vwait </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/coroutine/tcllib_coroutine.html"> coroutine </a> · <a href="tcllib/files/modules/coroutine/coro_auto.html"> coroutine::auto </a> · <a href="tcllib/files/modules/smtpd/smtpd.html"> smtpd </a> </td></tr> <tr class="#idxheader"><th colspan="2"> <a name="c26">Keywords: W</a> </th></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key509"> wais </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/uri/uri.html"> uri </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key229"> widget </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key232"> widget adaptors </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/snit/snit.html"> snit </a> · <a href="tcllib/files/modules/snit/snitfaq.html"> snitfaq </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key183"> wiki </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/doctools/docidx.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/container.html"> doctools::idx </a> · <a href="tcllib/files/modules/doctools2idx/export.html"> doctools::idx::export </a> · <a href="tcllib/files/modules/doctools2idx/export_wiki.html"> doctools::idx::export::wiki </a> · <a href="tcllib/files/modules/doctools/doctoc.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/container.html"> doctools::toc </a> · <a href="tcllib/files/modules/doctools2toc/export.html"> doctools::toc::export </a> · <a href="tcllib/files/modules/doctools2toc/export_wiki.html"> doctools::toc::export::wiki </a> |
︙ | ︙ | |||
4142 4143 4144 4145 4146 4147 4148 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key399"> x.209 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#idxodd" valign=top> | | | 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 | </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key399"> x.209 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/asn/asn.html"> asn </a> </td></tr> <tr class="#idxodd" valign=top> <td class="#idxleft" width="35%"><a name="key141"> x.500 </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/ldap/ldap.html"> ldap </a> </td></tr> <tr class="#idxeven" valign=top> <td class="#idxleft" width="35%"><a name="key734"> xml </a></td> <td class="#idxright" width="65%"> <a href="tcllib/files/modules/amazon-s3/xsxp.html"> xsxp </a> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/dtplite.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">FORMATS</a></li> <li class="subsection"><a href="#subsection5">DIRECTORY STRUCTURES</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">FORMATS</a></li> <li class="subsection"><a href="#subsection5">DIRECTORY STRUCTURES</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
409 410 411 412 413 414 415 | of contents and keyword index for the set of documents before their conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup.</p></dd> </dl> </div> </div> | | | | | | | | 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | of contents and keyword index for the set of documents before their conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../modules/doctools/docidx_intro.html">docidx introduction</a>, <a href="../modules/doctools/doctoc_intro.html">doctoc introduction</a>, <a href="../modules/doctools/doctools_intro.html">doctools introduction</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key18">HTML</a>, <a href="../../../index.html#key19">TMML</a>, <a href="../../../index.html#key20">conversion</a>, <a href="../../../index.html#key50">docidx</a>, <a href="../../../index.html#key246">doctoc</a>, <a href="../../../index.html#key51">doctools</a>, <a href="../../../index.html#key17">manpage</a>, <a href="../../../index.html#key16">markup</a>, <a href="../../../index.html#key21">nroff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2013 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/apps/nns.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
211 212 213 214 215 216 217 | <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the name service to talk to is listening on for requests.</p></dd> </dl> </div> </div> | | | | | | | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 | <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the name service to talk to is listening on for requests.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../modules/nns/nns_client.html">nameserv(n)</a>, <a href="../modules/nns/nns_common.html">nameserv::common(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key28">application</a>, <a href="../../../index.html#key30">client</a>, <a href="../../../index.html#key29">name service</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/nnsd.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
179 180 181 182 183 184 185 | option is configured to <b class="const">false</b>.</p></dd> <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the server has to listen on for requests.</p></dd> </dl> </div> </div> | | | | | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | option is configured to <b class="const">false</b>.</p></dd> <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the server has to listen on for requests.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../modules/nns/nns_common.html">nameserv::common(n)</a>, <a href="../modules/nns/nns_server.html">nameserv::server(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key28">application</a>, <a href="../../../index.html#key29">name service</a>, <a href="../../../index.html#key61">server</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/nnslog.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
182 183 184 185 186 187 188 | <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the name service to talk to is listening on for requests.</p></dd> </dl> </div> </div> | | | | | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | <dt><b class="option">-port</b> number</dt> <dd><p>If this option is not specified it defaults to <b class="const">38573</b>. It specifies the TCP port the name service to talk to is listening on for requests.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../modules/nns/nns_client.html">nameserv(n)</a>, <a href="../modules/nns/nns_common.html">nameserv::common(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key28">application</a>, <a href="../../../index.html#key30">client</a>, <a href="../../../index.html#key29">name service</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/page.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="subsection"><a href="#subsection1">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection2">OPERATION</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">PLUGINS</a></li> <li class="subsection"><a href="#subsection5">PLUGIN LOCATIONS</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="subsection"><a href="#subsection1">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection2">OPERATION</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">PLUGINS</a></li> <li class="subsection"><a href="#subsection5">PLUGIN LOCATIONS</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
348 349 350 351 352 353 354 | <em>hb</em> and generates its tree representation.</p></dd> <dt><em>ser</em></dt> <dd><p>Interprets the input as the serialization of a PEG, as generated by the writer plugin <em>ser</em>, using the package <b class="package"><a href="../modules/grammar_peg/peg.html">grammar::peg</a></b>.</p></dd> <dt><em>lemon</em></dt> <dd><p>Interprets the input as a grammar specification as understood by | | | 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | <em>hb</em> and generates its tree representation.</p></dd> <dt><em>ser</em></dt> <dd><p>Interprets the input as the serialization of a PEG, as generated by the writer plugin <em>ser</em>, using the package <b class="package"><a href="../modules/grammar_peg/peg.html">grammar::peg</a></b>.</p></dd> <dt><em>lemon</em></dt> <dd><p>Interprets the input as a grammar specification as understood by Richard Hipp's <i class="term"><a href="../../../index.html#key196">LEMON</a></i> parser generator and generates a tree representation for it. Both the input syntax and the structure of the tree representation are explained in their own manpages.</p></dd> <dt><em>treeser</em></dt> <dd><p>Interprets the input as the serialization of a <b class="package"><a href="../modules/struct/struct_tree.html">struct::tree</a></b>. It is validated as such, but nothing else. It is <em>not</em> assumed to be the tree representation of a grammar.</p></dd> |
︙ | ︙ | |||
449 450 451 452 453 454 455 | <p>The registry entries are specific to the Windows(tm) platform, all other platforms will ignore them.</p> <p>The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows).</p> </div> </div> | | | | | | | 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 | <p>The registry entries are specific to the Windows(tm) platform, all other platforms will ignore them.</p> <p>The contents of both environment variables and registry entries are interpreted as a list of paths, with the elements separated by either colon (Unix), or semicolon (Windows).</p> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>page::pluginmgr</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key192">parser generator</a>, <a href="../../../index.html#key195">text processing</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/apps/pt.html.
︙ | ︙ | |||
219 220 221 222 223 224 225 | this allows them to be used in pure-Tcl environments, or in environments which allow only a limited set of binary packages. In the latter case it will be advantageous to lobby for the inclusion of the C-based runtime support (notes below) into the environment to reduce the impact of Tcl's on the speed of these parsers.</p> <p>The relevant formats are <b class="const">snit</b> and <b class="const">oo</b>. Both place their result into a Tcl package containing a <b class="cmd">snit::type</b>, or TclOO | | | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | this allows them to be used in pure-Tcl environments, or in environments which allow only a limited set of binary packages. In the latter case it will be advantageous to lobby for the inclusion of the C-based runtime support (notes below) into the environment to reduce the impact of Tcl's on the speed of these parsers.</p> <p>The relevant formats are <b class="const">snit</b> and <b class="const">oo</b>. Both place their result into a Tcl package containing a <b class="cmd">snit::type</b>, or TclOO <b class="cmd"><a href="../../../index.html#key234">class</a></b> respectively.</p> <p>Of the supporting runtime, which is the package <b class="package"><a href="../modules/pt/pt_rdengine.html">pt::rde</a></b>, the user has to know nothing but that it does exist and that the parsers are dependent on it. Knowledge of the API exported by the runtime for the parsers' consumption is <em>not</em> required by the parsers' users.</p></dd> <dt><b class="const">Interpreted parsing implemented in Tcl</b></dt> <dd><p>The last category, grammar interpretation. This means that an interpreter for parsing expression grammars takes the description of |
︙ | ︙ | |||
656 657 658 659 660 661 662 | <p>The main functionality of the application is encapsulated in the package <b class="package"><a href="../modules/pt/pt_pgen.html">pt::pgen</a></b>. Please read it for more information.</p> </div> <div id="section12" class="section"><h2><a name="section12">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 | <p>The main functionality of the application is encapsulated in the package <b class="package"><a href="../modules/pt/pt_pgen.html">pt::pgen</a></b>. Please read it for more information.</p> </div> <div id="section12" class="section"><h2><a name="section12">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key3">EBNF</a>, <a href="../../../index.html#key15">LL(k)</a>, <a href="../../../index.html#key6">PEG</a>, <a href="../../../index.html#key7">TDPL</a>, <a href="../../../index.html#key4">context-free languages</a>, <a href="../../../index.html#key0">expression</a>, <a href="../../../index.html#key11">grammar</a>, <a href="../../../index.html#key5">matching</a>, <a href="../../../index.html#key9">parser</a>, <a href="../../../index.html#key8">parsing expression</a>, <a href="../../../index.html#key14">parsing expression grammar</a>, <a href="../../../index.html#key1">push down automaton</a>, <a href="../../../index.html#key10">recursive descent</a>, <a href="../../../index.html#key2">state</a>, <a href="../../../index.html#key13">top-down parsing languages</a>, <a href="../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/apps/tcldocstrip.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a> <ul> <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
197 198 199 200 201 202 203 | causes the application to write to stdout. Using the string <b class="const">.</b> for an input file signals that the last input file should be used again. This enables the assembly of the output from one input file using multiple and different sets of guards, without having to specify the full name of the file every time.</p></dd> <dt><a name="3"><b class="cmd">tcldocstrip</b> <b class="option">-guards</b> <i class="arg">input</i></a></dt> | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | causes the application to write to stdout. Using the string <b class="const">.</b> for an input file signals that the last input file should be used again. This enables the assembly of the output from one input file using multiple and different sets of guards, without having to specify the full name of the file every time.</p></dd> <dt><a name="3"><b class="cmd">tcldocstrip</b> <b class="option">-guards</b> <i class="arg">input</i></a></dt> <dd><p>This is the form for use case [3]. It determines the guards, and unique guard expressions used within the provided <i class="arg">input</i> document. The found strings are written to stdout, one string per line.</p></dd> </dl> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">OPTIONS</a></h3> <p>This section describes all the options available to the user of the |
︙ | ︙ | |||
252 253 254 255 256 257 258 | standard parts are shown. This is the default.</p> <p>Preambles, when active, are written before the actual content of a generated file. In the same manner postambles are, when active, written after the actual content of a generated file.</p></dd> </dl> </div> </div> | | | | | | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | standard parts are shown. This is the default.</p> <p>Preambles, when active, are written before the actual content of a generated file. In the same manner postambles are, when active, written after the actual content of a generated file.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>docstrip</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../modules/docstrip/docstrip.html">docstrip</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../index.html#key414">.dtx</a>, <a href="../../../index.html#key413">LaTeX</a>, <a href="../../../index.html#key20">conversion</a>, <a href="../../../index.html#key410">docstrip</a>, <a href="../../../index.html#key185">documentation</a>, <a href="../../../index.html#key412">literate programming</a>, <a href="../../../index.html#key16">markup</a>, <a href="../../../index.html#key411">source</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/aes/aes.html.
︙ | ︙ | |||
90 91 92 93 94 95 96 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <! -- Generated from file '/home/aku/Projects/Tcllib/tcllib/embedded/www/tcllib/files/modules/aes/aes.html' by tcllib/doctools with format 'html' --> | | | | | | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | margin-bottom: 1em; border-bottom: 1px solid black; } --></style> </head> <! -- Generated from file '/home/aku/Projects/Tcllib/tcllib/embedded/www/tcllib/files/modules/aes/aes.html' by tcllib/doctools with format 'html' --> <! -- Copyright © 2005, Pat Thoyts <[email protected]> -- Copyright © 2012-2013, Andreas Kupries <[email protected]> --> <! -- CVS: $Id$ aes.n --> <body><div class="doctools"> <hr> [ <a href="../../../../../../../../home">Tcllib Home</a> | <a href="../../../../toc.html">Main Table Of Contents</a> | <a href="../../../toc.html">Table Of Contents</a> | <a href="../../../../index.html">Keyword Index</a> | <a href="../../../../toc0.html">Categories</a> | <a href="../../../../toc1.html">Modules</a> | <a href="../../../../toc2.html">Applications</a> ] <hr> <h1 class="title">aes(n) 1.1.1 tcllib "Advanced Encryption Standard (AES)"</h1> <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>aes - Implementation of the AES block cipher</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">MODES OF OPERATION</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">AUTHORS</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.2</b></li> <li>package require <b class="pkgname">aes <span class="opt">?1.1.1?</span></b></li> </ul> <ul class="syntax"> <li><a href="#1"><b class="cmd">::aes::aes</b> <span class="opt">?<i class="arg">-mode [ecb|cbc]</i>?</span> <span class="opt">?<i class="arg">-dir [encrypt|decrypt]</i>?</span> <i class="arg">-key keydata</i> <span class="opt">?<i class="arg">-iv vector</i>?</span> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-out channel</i>?</span> <span class="opt">?<i class="arg">-chunksize size</i>?</span> [ <i class="arg">-in channel</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">data</i> ]</a></li> <li><a href="#2"><b class="cmd">::aes::Init</b> <i class="arg">mode</i> <i class="arg">keydata</i> <i class="arg">iv</i></a></li> <li><a href="#3"><b class="cmd">::aes::Encrypt</b> <i class="arg">Key</i> <i class="arg">data</i></a></li> <li><a href="#4"><b class="cmd">::aes::Decrypt</b> <i class="arg">Key</i> <i class="arg">data</i></a></li> <li><a href="#5"><b class="cmd">::aes::Reset</b> <i class="arg">Key</i> <i class="arg">iv</i></a></li> |
︙ | ︙ | |||
157 158 159 160 161 162 163 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::aes::aes</b> <span class="opt">?<i class="arg">-mode [ecb|cbc]</i>?</span> <span class="opt">?<i class="arg">-dir [encrypt|decrypt]</i>?</span> <i class="arg">-key keydata</i> <span class="opt">?<i class="arg">-iv vector</i>?</span> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-out channel</i>?</span> <span class="opt">?<i class="arg">-chunksize size</i>?</span> [ <i class="arg">-in channel</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">data</i> ]</a></dt> <dd><p>Perform the <b class="package">aes</b> algorithm on either the data provided by the argument or on the data read from the <i class="arg">-in</i> channel. If an <i class="arg">-out</i> channel is given then the result will be written to this channel.</p> <p>The <i class="arg">-key</i> option must be given. This parameter takes a binary | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::aes::aes</b> <span class="opt">?<i class="arg">-mode [ecb|cbc]</i>?</span> <span class="opt">?<i class="arg">-dir [encrypt|decrypt]</i>?</span> <i class="arg">-key keydata</i> <span class="opt">?<i class="arg">-iv vector</i>?</span> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-out channel</i>?</span> <span class="opt">?<i class="arg">-chunksize size</i>?</span> [ <i class="arg">-in channel</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">data</i> ]</a></dt> <dd><p>Perform the <b class="package">aes</b> algorithm on either the data provided by the argument or on the data read from the <i class="arg">-in</i> channel. If an <i class="arg">-out</i> channel is given then the result will be written to this channel.</p> <p>The <i class="arg">-key</i> option must be given. This parameter takes a binary string of either 16, 24 or 32 bytes in length and is used to generate the key schedule.</p> <p>The <i class="arg">-mode</i> and <i class="arg">-dir</i> options are optional and default to cbc mode and encrypt respectively. The initialization vector <i class="arg">-iv</i> takes a 16 byte binary argument which defaults to all zeros. See <span class="sectref"><a href="#section4">MODES OF OPERATION</a></span> for more about available modes and their uses.</p> <p>AES is a 128-bit block cipher. This means that the data must be |
︙ | ︙ | |||
240 241 242 243 244 245 246 | Federal Information Processing Standards Publication 197, 2001 (<a href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf</a>)</p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> <p>Thorsten Schloermann, Pat Thoyts</p> </div> | | | | | | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | Federal Information Processing Standards Publication 197, 2001 (<a href="http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf">http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf</a>)</p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> <p>Thorsten Schloermann, Pat Thoyts</p> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>aes</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key777">aes</a>, <a href="../../../../index.html#key633">block cipher</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Pat Thoyts <[email protected]><br> Copyright © 2012-2013, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/amazon-s3/S3.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section2">ERROR REPORTING</a></li> <li class="section"><a href="#section3">COMMANDS</a></li> <li class="section"><a href="#section4">LOW LEVEL COMMANDS</a></li> <li class="section"><a href="#section5">HIGH LEVEL COMMANDS</a></li> <li class="section"><a href="#section6">LIMITATIONS</a></li> <li class="section"><a href="#section7">USAGE SUGGESTIONS</a></li> <li class="section"><a href="#section8">FUTURE DEVELOPMENTS</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section2">ERROR REPORTING</a></li> <li class="section"><a href="#section3">COMMANDS</a></li> <li class="section"><a href="#section4">LOW LEVEL COMMANDS</a></li> <li class="section"><a href="#section5">HIGH LEVEL COMMANDS</a></li> <li class="section"><a href="#section6">LIMITATIONS</a></li> <li class="section"><a href="#section7">USAGE SUGGESTIONS</a></li> <li class="section"><a href="#section8">FUTURE DEVELOPMENTS</a></li> <li class="section"><a href="#section9">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
158 159 160 161 162 163 164 | </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides access to Amazon's Simple Storage Solution web service.</p> <p>As a quick summary, Amazon Simple Storage Solution provides a for-fee web service allowing the storage of arbitrary data as | | | | | | | | | | | | | | | | | | | | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides access to Amazon's Simple Storage Solution web service.</p> <p>As a quick summary, Amazon Simple Storage Solution provides a for-fee web service allowing the storage of arbitrary data as "resources" within "buckets" online. See <a href="http://www.amazonaws.com/">http://www.amazonaws.com/</a> for details on that system. Access to the service is via HTTP (SOAP or REST). Much of this documentation will not make sense if you're not familiar with the terms and functionality of the Amazon S3 service.</p> <p>This package provides services for reading and writing the data items via the REST interface. It also provides some higher-level operations. Other packages in the same distribution provide for even more functionality.</p> <p>Copyright 2006 Darren New. All Rights Reserved. NO WARRANTIES OF ANY TYPE ARE PROVIDED. COPYING OR USE INDEMNIFIES THE AUTHOR IN ALL WAYS. This software is licensed under essentially the same terms as Tcl. See LICENSE.txt for the terms.</p> </div> <div id="section2" class="section"><h2><a name="section2">ERROR REPORTING</a></h2> <p>The error reporting from this package makes use of $errorCode to provide more details on what happened than simply throwing an error. Any error caught by the S3 package (and we try to catch them all) will return with an $errorCode being a list having at least three elements. In all cases, the first element will be "S3". The second element will take on one of six values, with that element defining the value of the third and subsequent elements. S3::REST does not throw an error, but rather returns a dictionary with the keys "error", "errorInfo", and "errorCode" set. This allows for reliable background use. The possible second elements are these:</p> <dl class="definitions"> <dt>usage</dt> <dd><p>The usage of the package is incorrect. For example, a command has been invoked which requires the library to be configured before the library has been configured, or an invalid combination of options has been specified. The third element of $errorCode supplies the name of the parameter that was wrong. The fourth usually provides the arguments that were actually supplied to the throwing proc, unless the usage error isn't confined to a single proc.</p></dd> <dt>local</dt> <dd><p>Something happened on the local system which threw an error. For example, a request to upload or download a file was made and the file permissions denied that sort of access. The third element of $errorCode is the original $errorCode.</p></dd> <dt>socket</dt> <dd><p>Something happened with the socket. It closed prematurely, or some other condition of failure-to-communicate-with-Amazon was detected. The third element of $errorCode is the original $errorCode, or sometimes the message from fcopy, or ...?</p></dd> <dt>remote</dt> <dd><p>The Amazon web service returned an error code outside the 2xx range in the HTTP header. In other words, everything went as documented, except this particular case was documented not to work. The third element is the dictionary returned from <b class="cmd">::S3::REST</b>. Note that S3::REST itself never throws this error, but just returns the dictionary. Most of the higher-level commands throw for convenience, unless an argument indicates they should not. If something is documented as "not throwing an S3 remote error", it means a status return is set rather than throwing an error if Amazon returns a non-2XX HTTP result code.</p></dd> <dt>notyet</dt> <dd><p>The user obeyed the documentation, but the author has not yet gotten around to implementing this feature. (Right now, only TLS support and sophisticated permissions fall into this category, as well as the S3::Acl command.)</p></dd> <dt>xml</dt> <dd><p>The service has returned invalid XML, or XML whose schema is unexpected. For the high-level commands that accept service XML as input for parsing, this may also be thrown.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">COMMANDS</a></h2> <p>This package provides several separate levels of complexity.</p> <ul class="itemized"> <li><p>The lowest level simply takes arguments to be sent to the service, sends them, retrieves the result, and provides it to the caller. <em>Note:</em> This layer allows both synchronous and event-driven processing. It depends on the MD5 and SHA1 and base64 packages from Tcllib (available at <a href="http://core.tcl.tk/tcllib/">http://core.tcl.tk/tcllib/</a>). Note that <b class="cmd">S3::Configure</b> is required for <b class="cmd">S3::REST</b> to work due to the authentication portion, so we put that in the "lowest level."</p></li> <li><p>The next layer parses the results of calls, allowing for functionality such as uploading only changed files, synchronizing directories, and so on. This layer depends on the <b class="package">TclXML</b> package as well as the included <b class="package"><a href="xsxp.html">xsxp</a></b> package. These packages are package required when these more-sophisticated routines are called, so nothing breaks if they are not correctly installed.</p></li> <li><p>Also included is a separate program that uses the library. It provides code to parse $argv0 and $argv from the command line, allowing invocation as a tclkit, etc. (Not yet implmented.)</p></li> <li><p>Another separate program provides a GUI interface allowing drag-and-drop and other such functionality. (Not yet implemented.)</p></li> <li><p>Also built on this package is the OddJob program. It is a separate program designed to allow distribution of computational work units over Amazon's Elastic Compute Cloud web service.</p></li> </ul> <p>The goal is to have at least the bottom-most layers implemented in pure Tcl using only that which comes from widely-available sources, such as Tcllib.</p> </div> <div id="section4" class="section"><h2><a name="section4">LOW LEVEL COMMANDS</a></h2> <p>These commands do not require any packages not listed above. They talk directly to the service, or they are utility or configuration routines. Note that the "xsxp" package was written to support this package, so it should be available wherever you got this package.</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">S3::Configure</b> <span class="opt">?<b class="option">-reset</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-retries</b> <i class="arg">integer</i>?</span> <span class="opt">?<b class="option">-accesskeyid</b> <i class="arg">idstring</i>?</span> <span class="opt">?<b class="option">-secretaccesskey</b> <i class="arg">idstring</i>?</span> <span class="opt">?<b class="option">-service-access-point</b> <i class="arg">FQDN</i>?</span> <span class="opt">?<b class="option">-use-tls</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-default-compare</b> <i class="arg">always|never|exists|missing|newer|date|checksum|different</i>?</span> <span class="opt">?<b class="option">-default-separator</b> <i class="arg">string</i>?</span> <span class="opt">?<b class="option">-default-acl</b> <i class="arg">private|public-read|public-read-write|authenticated-read|keep|calc</i>?</span> <span class="opt">?<b class="option">-default-bucket</b> <i class="arg">bucketname</i>?</span></a></dt> <dd><p>There is one command for configuration, and that is <b class="cmd">S3::Configure</b>. If called with no arguments, it returns a dictionary of key/value pairs listing all current settings. If called with one argument, it returns the value of that single argument. If called with two or more arguments, it must be called with pairs of arguments, and it applies the changes in order. There is only one set of configuration information per interpreter.</p> <p>The following options are accepted:</p> |
︙ | ︙ | |||
285 286 287 288 289 290 291 | backoff delay will be tried this many times before finally throwing the 500 error. This applies to each call to <b class="cmd">S3::REST</b> from the higher-level commands, but not to <b class="cmd">S3::REST</b> itself. That is, <b class="cmd">S3::REST</b> will always return httpstatus 500 if that's what it receives. Functions like <b class="cmd">S3::Put</b> will retry the PUT call, and will also retry the GET and HEAD calls used to do content comparison. Changing this to 0 will prevent retries and their associated delays. | | | | | | | | | | | | | | | | | | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 | backoff delay will be tried this many times before finally throwing the 500 error. This applies to each call to <b class="cmd">S3::REST</b> from the higher-level commands, but not to <b class="cmd">S3::REST</b> itself. That is, <b class="cmd">S3::REST</b> will always return httpstatus 500 if that's what it receives. Functions like <b class="cmd">S3::Put</b> will retry the PUT call, and will also retry the GET and HEAD calls used to do content comparison. Changing this to 0 will prevent retries and their associated delays. In addition, socket errors (i.e., errors whose errorCode starts with "S3 socket") will be similarly retried after backoffs.</p></dd> <dt><b class="option">-accesskeyid</b> <i class="arg">idstring</i></dt> <dd></dd> <dt><b class="option">-secretaccesskey</b> <i class="arg">idstring</i></dt> <dd><p>Each defaults to an empty string. These must be set before any calls are made. This is your S3 ID. Once you sign up for an account, go to <a href="http://www.amazonaws.com/">http://www.amazonaws.com/</a>, sign in, go to the "Your Web Services Account" button, pick "AWS Access Identifiers", and your access key ID and secret access keys will be available. All <b class="cmd">S3::REST</b> calls are authenticated. Blame Amazon for the poor choice of names.</p></dd> <dt><b class="option">-service-access-point</b> <i class="arg">FQDN</i></dt> <dd><p>Defaults to "s3.amazonaws.com". This is the fully-qualified domain name of the server to contact for <b class="cmd">S3::REST</b> calls. You should probably never need to touch this, unless someone else implements a compatible service, or you wish to test something by pointing the library at your own service.</p></dd> <dt><b class="option">-slop-seconds</b> <i class="arg">integer</i></dt> <dd><p>When comparing dates between Amazon and the local machine, two dates within this many seconds of each other are considered the same. Useful for clock drift correction, processing overhead time, and so on.</p></dd> <dt><b class="option">-use-tls</b> <i class="arg">boolean</i></dt> <dd><p>Defaults to false. This is not yet implemented. If true, <b class="cmd">S3::REST</b> will negotiate a TLS connection to Amazon. If false, unencrypted connections are used.</p></dd> <dt><b class="option">-bucket-prefix</b> <i class="arg">string</i></dt> <dd><p>Defaults to "TclS3". This string is used by <b class="cmd">S3::SuggestBucketName</b> if that command is passed an empty string as an argument. It is used to distinguish different applications using the Amazon service. Your application should always set this to keep from interfering with the buckets of other users of Amazon S3 or with other buckets of the same user.</p></dd> <dt><b class="option">-default-compare</b> <i class="arg">always|never|exists|missing|newer|date|checksum|different</i></dt> <dd><p>Defaults to "always." If no -compare is specified on <b class="cmd">S3::Put</b>, <b class="cmd">S3::Get</b>, or <b class="cmd">S3::Delete</b>, this comparison is used. See those commands for a description of the meaning.</p></dd> <dt><b class="option">-default-separator</b> <i class="arg">string</i></dt> <dd><p>Defaults to "/". This is currently unused. It might make sense to use this for <b class="cmd">S3::Push</b> and <b class="cmd">S3::Pull</b>, but allowing resources to have slashes in their names that aren't marking directories would be problematic. Hence, this currently does nothing.</p></dd> <dt><b class="option">-default-acl</b> <i class="arg">private|public-read|public-read-write|authenticated-read|keep|calc</i></dt> <dd><p>Defaults to an empty string. If no -acl argument is provided to <b class="cmd">S3::Put</b> or <b class="cmd">S3::Push</b>, this string is used (given as the x-amz-acl header if not keep or calc). If this is also empty, no x-amz-acl header is generated. This is <em>not</em> used by <b class="cmd">S3::REST</b>.</p></dd> <dt><b class="option">-default-bucket</b> <i class="arg">bucketname</i></dt> <dd><p>If no bucket is given to <b class="cmd">S3::GetBucket</b>, <b class="cmd">S3::PutBucket</b>, <b class="cmd">S3::Get</b>, <b class="cmd">S3::Put</b>, <b class="cmd">S3::Head</b>, <b class="cmd">S3::Acl</b>, <b class="cmd">S3::Delete</b>, <b class="cmd">S3::Push</b>, <b class="cmd">S3::Pull</b>, or <b class="cmd">S3::Toss</b>, and if this configuration variable is not an empty string (and not simply "/"), then this value will be used for the bucket. This is useful if one program does a large amount of resource manipulation within a single bucket.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">S3::SuggestBucket</b> <span class="opt">?<i class="arg">name</i>?</span></a></dt> <dd><p>The <b class="cmd">S3::SuggestBucket</b> command accepts an optional string as a prefix and returns a valid bucket containing the <i class="arg">name</i> argument and the Access Key ID. This makes the name unique to the owner and to the application (assuming the application picks a good <i class="arg">name</i> argument). If no name is provided, the name from <b class="cmd">S3::Configure</b> <i class="arg">-bucket-prefix</i> is used. If that too is empty (which is not the default), an error is thrown.</p></dd> <dt><a name="3"><b class="cmd">S3::REST</b> <i class="arg">dict</i></a></dt> <dd><p>The <b class="cmd">S3::REST</b> command takes as an argument a dictionary and returns a dictionary. The return dictionary has the same keys as the input dictionary, and includes additional keys as the result. The presence or absence of keys in the input dictionary can control the behavior of the routine. It never throws an error directly, but includes keys "error", "errorInfo", and "errorCode" if necessary. Some keys are required, some optional. The routine can run either in blocking or non-blocking mode, based on the presense of <b class="option">resultvar</b> in the input dictionary. This requires the <i class="arg">-accesskeyid</i> and <i class="arg">-secretaccesskey</i> to be configured via <b class="cmd">S3::Configure</b> before being called.</p> <p>The possible input keys are these:</p> <dl class="definitions"> <dt><b class="option">verb</b> <i class="arg">GET|PUT|DELETE|HEAD</i></dt> <dd><p>This required item indicates the verb to be used.</p></dd> |
︙ | ︙ | |||
388 389 390 391 392 393 394 | values must be valid. This can be an empty dictionary or omitted entirely if no parameters are desired. No other error checking on parameters is performed.</p></dd> <dt><span class="opt">?<b class="option">headers</b> <i class="arg">dict</i>?</span></dt> <dd><p>This optional dictionary provides headers to be added to the HTTP request. The keys must be in <em>lower case</em> for the authentication to work. The values must not contain | | | | | | | | | | | | | | | | | | | | 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 | values must be valid. This can be an empty dictionary or omitted entirely if no parameters are desired. No other error checking on parameters is performed.</p></dd> <dt><span class="opt">?<b class="option">headers</b> <i class="arg">dict</i>?</span></dt> <dd><p>This optional dictionary provides headers to be added to the HTTP request. The keys must be in <em>lower case</em> for the authentication to work. The values must not contain embedded newlines or carriage returns. This is primarily useful for adding x-amz-* headers. Since authentication is calculated by <b class="cmd">S3::REST</b>, do not add that header here. Since content-type gets its own key, also do not add that header here.</p></dd> <dt><span class="opt">?<b class="option">inbody</b> <i class="arg">contentstring</i>?</span></dt> <dd><p>This optional item, if provided, gives the content that will be sent. It is sent with a tranfer encoding of binary, and only the low bytes are used, so use [encoding convertto utf-8] if the string is a utf-8 string. This is written all in one blast, so if you are using non-blocking mode and the <b class="option">inbody</b> is especially large, you may wind up blocking on the write socket.</p></dd> <dt><span class="opt">?<b class="option">infile</b> <i class="arg">filename</i>?</span></dt> <dd><p>This optional item, if provided, and if <b class="option">inbody</b> is not provided, names the file from which the body of the HTTP message will be constructed. The file is opened for reading and sent progressively by [fcopy], so it should not block in non-blocking mode even if the file is very large. The file is transfered in binary mode, so the bytes on your disk will match the bytes in your resource. Due to HTTP restrictions, it must be possible to use [file size] on this file to determine the size at the start of the transaction.</p></dd> <dt><span class="opt">?<b class="option">S3chan</b> <i class="arg">channel</i>?</span></dt> <dd><p>This optional item, if provided, indicates the already-open socket over which the transaction should be conducted. If not provided, a connection is made to the service access point specified via <b class="cmd">S3::Configure</b>, which is normally s3.amazonaws.com. If this is provided, the channel is not closed at the end of the transaction.</p></dd> <dt><span class="opt">?<b class="option">outchan</b> <i class="arg">channel</i>?</span></dt> <dd><p>This optional item, if provided, indicates the already-open channel to which the body returned from S3 should be written. That is, to retrieve a large resource, open a file, set the translation mode, and pass the channel as the value of the key outchan. Output will be written to the channel in pieces so memory does not fill up unnecessarily. The channel is not closed at the end of the transaction.</p></dd> <dt><span class="opt">?<b class="option">resultvar</b> <i class="arg">varname</i>?</span></dt> <dd><p>This optional item, if provided, indicates that <b class="cmd">S3::REST</b> should run in non-blocking mode. The <i class="arg">varname</i> should be fully qualified with respect to namespaces and cannot be local to a proc. If provided, the result of the <b class="cmd">S3::REST</b> call is assigned to this variable once everything has completed; use trace or vwait to know when this has happened. If this key is not provided, the result is simply returned from the call to <b class="cmd">S3::REST</b> and no calls to the eventloop are invoked from within this call.</p></dd> <dt><span class="opt">?<b class="option">throwsocket</b> <i class="arg">throw|return</i>?</span></dt> <dd><p>This optional item, if provided, indicates that <b class="cmd">S3::REST</b> should throw an error if throwmode is throw and a socket error is encountered. It indicates that <b class="cmd">S3::REST</b> should return the error code in the returned dictionary if a socket error is encountered and this is set to return. If <b class="option">throwsocket</b> is set to <i class="arg">return</i> or if the call is not blocking, then a socket error (i.e., an error whose error code starts with "S3 socket" will be returned in the dictionary as <b class="option">error</b>, <b class="option">errorInfo</b>, and <b class="option">errorCode</b>. If a foreground call is made (i.e., <b class="option">resultvar</b> is not provided), and this option is not provided or is set to <i class="arg">throw</i>, then <b class="cmd"><a href="../../../../index.html#key171">error</a></b> will be invoked instead.</p></dd> </dl> <p>Once the call to <b class="cmd">S3::REST</b> completes, a new dict is returned, either in the <i class="arg">resultvar</i> or as the result of execution. This dict is a copy of the original dict with the results added as new keys. The possible new keys are these:</p> <dl class="definitions"> <dt><b class="option">error</b> <i class="arg">errorstring</i></dt> <dd></dd> <dt><b class="option">errorInfo</b> <i class="arg">errorstring</i></dt> <dd></dd> <dt><b class="option">errorCode</b> <i class="arg">errorstring</i></dt> <dd><p>If an error is caught, these three keys will be set in the result. Note that <b class="cmd">S3::REST</b> does <em>not</em> consider a non-2XX HTTP return code as an error. The <b class="option">errorCode</b> value will be formatted according to the <span class="sectref"><a href="#section2">ERROR REPORTING</a></span> description. If these are present, other keys described here might not be.</p></dd> <dt><b class="option">httpstatus</b> <i class="arg">threedigits</i></dt> <dd><p>The three-digit code from the HTTP transaction. 2XX for good, 5XX for server error, etc.</p></dd> <dt><b class="option">httpmessage</b> <i class="arg">text</i></dt> <dd><p>The textual result after the status code. "OK" or "Forbidden" or etc.</p></dd> <dt><b class="option">outbody</b> <i class="arg">contentstring</i></dt> <dd><p>If <i class="arg">outchan</i> was not specified, this key will hold a reference to the (unencoded) contents of the body returned. If Amazon returned an error (a la the httpstatus not a 2XX value), the error message will be in <b class="option">outbody</b> or written to <b class="option">outchan</b> as appropriate.</p></dd> <dt><b class="option">outheaders</b> <i class="arg">dict</i></dt> <dd><p>This contains a dictionary of headers returned by Amazon. The keys are always lower case. It's mainly useful for finding the x-amz-meta-* headers, if any, although things like last-modified and content-type are also useful. The keys of this dictionary are always lower case. Both keys and values are trimmed of extraneous whitespace.</p></dd> </dl></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">HIGH LEVEL COMMANDS</a></h2> <p>The routines in this section all make use of one or more calls to <b class="cmd">S3::REST</b> to do their work, then parse and manage the data in a convenient way. All these commands throw errors as described in <span class="sectref"><a href="#section2">ERROR REPORTING</a></span> unless otherwise noted.</p> <p>In all these commands, all arguments are presented as name/value pairs, in any order. All the argument names start with a hyphen.</p> <p>There are a few options that are common to many of the commands, and those common options are documented here.</p> <dl class="definitions"> <dt><b class="option">-blocking</b> <i class="arg">boolean</i></dt> <dd><p>If provided and specified as false, then any calls to <b class="cmd">S3:REST</b> will be non-blocking, and internally these routines will call [vwait] to get the results. In other words, these routines will return the same value, but they'll have event loops running while waiting for Amazon.</p></dd> <dt><b class="option">-parse-xml</b> <i class="arg">xmlstring</i></dt> <dd><p>If provided, the routine skips actually communicating with |
︙ | ︙ | |||
515 516 517 518 519 520 521 | <dd><p>Almost every high-level command needs to know what bucket the resources are in. This option specifies that. (Only the command to list available buckets does not require this parameter.) This does not need to be URL-encoded, even if it contains special or non-ASCII characters. May or may not contain leading or trailing spaces - commands normalize the bucket. If this is not supplied, the value is taken from <b class="cmd">S3::Configure -default-bucket</b> | | | | | | | | | | | | | 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 | <dd><p>Almost every high-level command needs to know what bucket the resources are in. This option specifies that. (Only the command to list available buckets does not require this parameter.) This does not need to be URL-encoded, even if it contains special or non-ASCII characters. May or may not contain leading or trailing spaces - commands normalize the bucket. If this is not supplied, the value is taken from <b class="cmd">S3::Configure -default-bucket</b> if that string isn't empty. Note that spaces and slashes are always trimmed from both ends and the rest must leave a valid bucket.</p></dd> <dt><b class="option">-resource</b> <i class="arg">resourcename</i></dt> <dd><p>This specifies the resource of interest within the bucket. It may or may not start with a slash - both cases are handled. This does not need to be URL-encoded, even if it contains special or non-ASCII characters.</p></dd> <dt><b class="option">-compare</b> <i class="arg">always|never|exists|missing|newer|date|checksum|different</i></dt> <dd><p>When commands copy resources to files or files to resources, the caller may specify that the copy should be skipped if the contents are the same. This argument specifies the conditions under which the files should be copied. If it is not passed, the result of <b class="cmd">S3::Configure -default-compare</b> is used, which in turn defaults to "always." The meanings of the various values are these:</p> <dl class="definitions"> <dt><i class="arg">always</i></dt> <dd><p>Always copy the data. This is the default.</p></dd> <dt><i class="arg">never</i></dt> <dd><p>Never copy the data. This is essentially a no-op, except in <b class="cmd">S3::Push</b> and <b class="cmd">S3::Pull</b> where the -delete flag might make a difference.</p></dd> <dt><i class="arg">exists</i></dt> <dd><p>Copy the data only if the destination already exists.</p></dd> <dt><i class="arg">missing</i></dt> <dd><p>Copy the data only if the destination does not already exist.</p></dd> <dt><i class="arg">newer</i></dt> <dd><p>Copy the data if the destination is missing, or if the date on the source is newer than the date on the destination by at least <b class="cmd">S3::Configure -slop-seconds</b> seconds. If the source is Amazon, the date is taken from the Last-Modified header. If the source is local, it is taken as the mtime of the file. If the source data is specified in a string rather than a file, it is taken as right now, via [clock seconds].</p></dd> <dt><i class="arg">date</i></dt> <dd><p>Like <i class="arg">newer</i>, except copy if the date is newer <em>or</em> older.</p></dd> <dt><i class="arg">checksum</i></dt> <dd><p>Calculate the MD5 checksum on the local file or string, ask Amazon for the eTag of the resource, and copy the data if they're different. Copy the data also if the destination is missing. Note that this can be slow with large local files unless the C version of the MD5 support is available.</p></dd> <dt><i class="arg">different</i></dt> <dd><p>Copy the data if the destination does not exist. If the destination exists and an actual file name was specified (rather than a content string), and the date on the file differs from the date on the resource, copy the data. If the data is provided as a content string, the "date" is treated as "right now", so it will likely always differ unless slop-seconds is large. If the dates are the same, the MD5 checksums are compared, and the data is copied if the checksums differ.</p></dd> </dl> <p>Note that "newer" and "date" don't care about the contents, and "checksum" doesn't care about the dates, but "different" checks both.</p></dd> <dt><a name="4"><b class="cmd">S3::ListAllMyBuckets</b> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-parse-xml</b> <i class="arg">xmlstring</i>?</span> <span class="opt">?<b class="option">-result-type</b> <i class="arg">REST|xml|pxml|dict|names|owner</i>?</span></a></dt> <dd><p>This routine performs a GET on the Amazon S3 service, which is |
︙ | ︙ | |||
585 586 587 588 589 590 591 | <dt>Owner/ID</dt> <dd><p>The Amazon AWS ID (in hex) of the owner of the bucket.</p></dd> <dt>Owner/DisplayName</dt> <dd><p>The Amazon AWS ID's Display Name.</p></dd> <dt>Bucket/Name</dt> <dd><p>A list of names, one for each bucket.</p></dd> <dt>Bucket/CreationDate</dt> | | | | | | | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 | <dt>Owner/ID</dt> <dd><p>The Amazon AWS ID (in hex) of the owner of the bucket.</p></dd> <dt>Owner/DisplayName</dt> <dd><p>The Amazon AWS ID's Display Name.</p></dd> <dt>Bucket/Name</dt> <dd><p>A list of names, one for each bucket.</p></dd> <dt>Bucket/CreationDate</dt> <dd><p>A list of dates, one for each bucket, in the same order as Bucket/Name, in ISO format (as returned by Amazon).</p></dd> </dl></dd> <dt><b class="option">-result-type</b> <i class="arg">names</i></dt> <dd><p>A list of bucket names is returned with all other information stripped out. This is the default result type for this command.</p></dd> <dt><b class="option">-result-type</b> <i class="arg">owner</i></dt> <dd><p>A list containing two elements is returned. The first element is the owner's ID, and the second is the owner's display name.</p></dd> </dl></dd> <dt><a name="5"><b class="cmd">S3::PutBucket</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-acl</b> <i class="arg">{}|private|public-read|public-read-write|authenticated-read</i>?</span></a></dt> <dd><p>This command creates a bucket if it does not already exist. Bucket names are globally unique, so you may get a "Forbidden" error from Amazon even if you cannot see the bucket in <b class="cmd">S3::ListAllMyBuckets</b>. See <b class="cmd">S3::SuggestBucket</b> for ways to minimize this risk. The x-amz-acl header comes from the <b class="option">-acl</b> option, or from <b class="cmd">S3::Configure -default-acl</b> if not specified.</p></dd> <dt><a name="6"><b class="cmd">S3::DeleteBucket</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span></a></dt> <dd><p>This command deletes a bucket if it is empty and you have such permission. Note that Amazon's list of buckets is a global resource, requiring far-flung synchronization. If you delete a bucket, it may be quite a few minutes (or hours) before you can recreate it, yielding "Conflict" errors until then.</p></dd> <dt><a name="7"><b class="cmd">S3::GetBucket</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-parse-xml</b> <i class="arg">xmlstring</i>?</span> <span class="opt">?<b class="option">-max-count</b> <i class="arg">integer</i>?</span> <span class="opt">?<b class="option">-prefix</b> <i class="arg">prefixstring</i>?</span> <span class="opt">?<b class="option">-delimiter</b> <i class="arg">delimiterstring</i>?</span> <span class="opt">?<b class="option">-result-type</b> <i class="arg">REST|xml|pxml|names|dict</i>?</span></a></dt> <dd><p>This lists the contents of a bucket. That is, it returns a directory listing of resources within a bucket, rather than transfering any user data.</p> <dl class="definitions"> <dt><b class="option">-bucket</b> <i class="arg">bucketname</i></dt> <dd><p>The standard bucket argument.</p></dd> <dt><b class="option">-blocking</b> <i class="arg">boolean</i></dt> <dd><p>The standard blocking argument.</p></dd> <dt><b class="option">-parse-xml</b> <i class="arg">xmlstring</i></dt> <dd><p>The standard parse-xml argument.</p></dd> <dt><b class="option">-max-count</b> <i class="arg">integer</i></dt> <dd><p>If supplied, this is the most number of records to be returned. If not supplied, the code will iterate until all records have been found. Not compatible with -parse-xml. Note that if this is supplied, only one call to <b class="cmd">S3::REST</b> will be made. Otherwise, enough calls will be made to exhaust the listing, buffering results in memory, so take care if you may have huge buckets.</p></dd> <dt><b class="option">-prefix</b> <i class="arg">prefixstring</i></dt> <dd><p>If present, restricts listing to resources with a particular prefix. One leading / is stripped if present.</p></dd> <dt><b class="option">-delimiter</b> <i class="arg">delimiterstring</i></dt> <dd><p>If present, specifies a delimiter for the listing. The presence of this will summarize multiple resources into one entry, as if S3 supported directories. See the Amazon documentation for details.</p></dd> <dt><b class="option">-result-type</b> <i class="arg">REST|xml|pxml|names|dict</i></dt> |
︙ | ︙ | |||
646 647 648 649 650 651 652 | <dt>xml</dt> <dd><p>If <i class="arg">-max-count</i> is specified, the body returned from <b class="cmd">S3::REST</b> is returned. If <i class="arg">-max-count</i> is not specified, a list of all the bodies returned from the one or more calls to <b class="cmd">S3::REST</b> is returned.</p></dd> <dt>pxml</dt> <dd><p>If <i class="arg">-max-count</i> is specified, the body returned | | | 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 | <dt>xml</dt> <dd><p>If <i class="arg">-max-count</i> is specified, the body returned from <b class="cmd">S3::REST</b> is returned. If <i class="arg">-max-count</i> is not specified, a list of all the bodies returned from the one or more calls to <b class="cmd">S3::REST</b> is returned.</p></dd> <dt>pxml</dt> <dd><p>If <i class="arg">-max-count</i> is specified, the body returned from <b class="cmd">S3::REST</b> is passed throught <b class="cmd">xsxp::parse</b> and then returned. If <i class="arg">-max-count</i> is not specified, a list of all the bodies returned from the one or more calls to <b class="cmd">S3::REST</b> are each passed through <b class="cmd">xsxp::parse</b> and then returned.</p></dd> <dt>names</dt> <dd><p>Returns a list of all names found in either the Contents/Key fields or the CommonPrefixes/Prefix fields. If no <i class="arg">-delimiter</i> is specified |
︙ | ︙ | |||
678 679 680 681 682 683 684 | <dt>NextMarker</dt> <dd><p>Always provided if IsTruncated is true, and calculated of Amazon does not provide it. May be empty if IsTruncated is false.</p></dd> <dt>Key</dt> <dd><p>A list of names of resources in the bucket matching the <i class="arg">-prefix</i> and <i class="arg">-delimiter</i> restrictions.</p></dd> <dt>LastModified</dt> <dd><p>A list of times of resources in the bucket, in the same | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 | <dt>NextMarker</dt> <dd><p>Always provided if IsTruncated is true, and calculated of Amazon does not provide it. May be empty if IsTruncated is false.</p></dd> <dt>Key</dt> <dd><p>A list of names of resources in the bucket matching the <i class="arg">-prefix</i> and <i class="arg">-delimiter</i> restrictions.</p></dd> <dt>LastModified</dt> <dd><p>A list of times of resources in the bucket, in the same order as Key, in the format returned by Amazon. (I.e., it is not parsed into a seconds-from-epoch.)</p></dd> <dt>ETag</dt> <dd><p>A list of entity tags (a.k.a. MD5 checksums) in the same order as Key.</p></dd> <dt>Size</dt> <dd><p>A list of sizes in bytes of the resources, in the same order as Key.</p></dd> <dt>Owner/ID</dt> <dd><p>A list of owners of the resources in the bucket, in the same order as Key.</p></dd> <dt>Owner/DisplayName</dt> <dd><p>A list of owners of the resources in the bucket, in the same order as Key. These are the display names.</p></dd> <dt>CommonPrefixes/Prefix</dt> <dd><p>A list of prefixes common to multiple entities. This is present only if <i class="arg">-delimiter</i> was supplied.</p></dd> </dl></dd> </dl></dd> </dl></dd> <dt><a name="8"><b class="cmd">S3::Put</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-resource</b> <i class="arg">resourcename</i> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-file</b> <i class="arg">filename</i>?</span> <span class="opt">?<b class="option">-content</b> <i class="arg">contentstring</i>?</span> <span class="opt">?<b class="option">-acl</b> <i class="arg">private|public-read|public-read-write|authenticated-read|calc|keep</i>?</span> <span class="opt">?<b class="option">-content-type</b> <i class="arg">contenttypestring</i>?</span> <span class="opt">?<b class="option">-x-amz-meta-*</b> <i class="arg">metadatatext</i>?</span> <span class="opt">?<b class="option">-compare</b> <i class="arg">comparemode</i>?</span></a></dt> <dd><p>This command sends data to a resource on Amazon's servers for storage, using the HTTP PUT command. It returns 0 if the <b class="option">-compare</b> mode prevented the transfer, 1 if the transfer worked, or throws an error if the transfer was attempted but failed. Server 5XX errors and S3 socket errors are retried according to <b class="cmd">S3:Configure -retries</b> settings before throwing an error; other errors throw immediately.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket into which the resource will be written. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>The standard blocking flag.</p></dd> <dt><b class="option">-file</b></dt> <dd><p>If this is specified, the <i class="arg">filename</i> must exist, must be readable, and must not be a special or directory file. [file size] must apply to it and must not change for the lifetime of the call. The default content-type is calculated based on the name and/or contents of the file. Specifying this is an error if <b class="option">-content</b> is also specified, but at least one of <b class="option">-file</b> or <b class="option">-content</b> must be specified. (The file is allowed to not exist or not be readable if <b class="option">-compare</b> <i class="arg">never</i> is specified.)</p></dd> <dt><b class="option">-content</b></dt> <dd><p>If this is specified, the <i class="arg">contentstring</i> is sent as the body of the resource. The content-type defaults to "application/octet-string". Only the low bytes are sent, so non-ASCII should use the appropriate encoding (such as [encoding convertto utf-8]) before passing it to this routine, if necessary. Specifying this is an error if <b class="option">-file</b> is also specified, but at least one of <b class="option">-file</b> or <b class="option">-content</b> must be specified.</p></dd> <dt><b class="option">-acl</b></dt> <dd><p>This defaults to <b class="cmd">S3::Configure -default-acl</b> if not specified. It sets the x-amz-acl header on the PUT operation. If the value provided is <i class="arg">calc</i>, the x-amz-acl header is calculated based on the I/O permissions of the file to be uploaded; it is an error to specify <i class="arg">calc</i> and <b class="option">-content</b>. If the value provided is <i class="arg">keep</i>, the acl of the resource is read before the PUT (or the default is used if the resource does not exist), then set back to what it was after the PUT (if it existed). An error will occur if the resource is successfully written but the kept ACL cannot be then applied. This should never happen. <em>Note:</em> <i class="arg">calc</i> is not currently fully implemented.</p></dd> <dt><b class="option">-x-amz-meta-*</b></dt> <dd><p>If any header starts with "-x-amz-meta-", its contents are added to the PUT command to be stored as metadata with the resource. Again, no encoding is performed, and the metadata should not contain characters like newlines, carriage returns, and so on. It is best to stick with simple ASCII strings, or to fix the library in several places.</p></dd> <dt><b class="option">-content-type</b></dt> <dd><p>This overrides the content-type calculated by <b class="option">-file</b> or sets the content-type for <b class="option">-content</b>.</p></dd> <dt><b class="option">-compare</b></dt> <dd><p>This is the standard compare mode argument. <b class="cmd">S3::Put</b> returns 1 if the data was copied or 0 if the data was skipped due to the comparison mode so indicating it should be skipped.</p></dd> </dl></dd> <dt><a name="9"><b class="cmd">S3::Get</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-resource</b> <i class="arg">resourcename</i> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-compare</b> <i class="arg">comparemode</i>?</span> <span class="opt">?<b class="option">-file</b> <i class="arg">filename</i>?</span> <span class="opt">?<b class="option">-content</b> <i class="arg">contentvarname</i>?</span> <span class="opt">?<b class="option">-timestamp</b> <i class="arg">aws|now</i>?</span> <span class="opt">?<b class="option">-headers</b> <i class="arg">headervarname</i>?</span></a></dt> <dd><p>This command retrieves data from a resource on Amazon's S3 servers, using the HTTP GET command. It returns 0 if the <b class="option">-compare</b> mode prevented the transfer, 1 if the transfer worked, or throws an error if the transfer was attempted but failed. Server 5XX errors and S3 socket errors are are retried according to <b class="cmd">S3:Configure</b> settings before throwing an error; other errors throw immediately. Note that this is always authenticated as the user configured in via <b class="cmd">S3::Configure -accesskeyid</b>. Use the Tcllib http for unauthenticated GETs.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>The standard blocking flag.</p></dd> <dt><b class="option">-file</b></dt> <dd><p>If this is specified, the body of the resource will be read into this file, incrementally without pulling it entirely into memory first. The parent directory must already exist. If the file already exists, it must be writable. If an error is thrown part-way through the process and the file already existed, it may be clobbered. If an error is thrown part-way through the process and the file did not already exist, any partial bits will be deleted. Specifying this is an error if <b class="option">-content</b> is also specified, but at least one of <b class="option">-file</b> or <b class="option">-content</b> must be specified.</p></dd> <dt><b class="option">-timestamp</b></dt> <dd><p>This is only valid in conjunction with <b class="option">-file</b>. It may be specified as <i class="arg">now</i> or <i class="arg">aws</i>. The default is <i class="arg">now</i>. If <i class="arg">now</i>, the file's modification date is left up to the system. If <i class="arg">aws</i>, the file's mtime is set to match the Last-Modified header on the resource, synchronizing the two appropriately for <b class="option">-compare</b> <i class="arg">date</i> or <b class="option">-compare</b> <i class="arg">newer</i>.</p></dd> <dt><b class="option">-content</b></dt> <dd><p>If this is specified, the <i class="arg">contentvarname</i> is a variable in the caller's scope (not necessarily global) that receives the value of the body of the resource. No encoding is done, so if the resource (for example) represents a UTF-8 byte sequence, use [encoding convertfrom utf-8] to get a valid UTF-8 string. If this is specified, the <b class="option">-compare</b> is ignored unless it is <i class="arg">never</i>, in which case no assignment to <i class="arg">contentvarname</i> is performed. Specifying this is an error if <b class="option">-file</b> is also specified, but at least one of <b class="option">-file</b> or <b class="option">-content</b> must be specified.</p></dd> <dt><b class="option">-compare</b></dt> <dd><p>This is the standard compare mode argument. <b class="cmd">S3::Get</b> returns 1 if the data was copied or 0 if the data was skipped due to the comparison mode so indicating it should be skipped.</p></dd> <dt><b class="option">-headers</b></dt> |
︙ | ︙ | |||
824 825 826 827 828 829 830 | accessible. If this returns 0, something went wrong, and the <b class="option">-status</b> result can be consulted for details.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> | | | | | | | | | | 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 | accessible. If this returns 0, something went wrong, and the <b class="option">-status</b> result can be consulted for details.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>The standard blocking flag.</p></dd> <dt><b class="option">-dict</b></dt> <dd><p>If specified, the resulting dictionary from the <b class="cmd">S3::REST</b> call is assigned to the indicated (not necessarily global) variable in the caller's scope.</p></dd> <dt><b class="option">-headers</b></dt> <dd><p>If specified, the dictionary of headers from the result are assigned to the indicated (not necessarily global) variable in the caller's scope.</p></dd> <dt><b class="option">-status</b></dt> <dd><p>If specified, the indicated (not necessarily global) variable in the caller's scope is assigned a 2-element list. The first element is the 3-digit HTTP status code, while the second element is the HTTP message (such as "OK" or "Forbidden").</p></dd> </dl></dd> <dt><a name="11"><b class="cmd">S3::GetAcl</b> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-resource</b> <i class="arg">resourcename</i> <span class="opt">?<b class="option">-result-type</b> <i class="arg">REST|xml|pxml</i>?</span></a></dt> <dd><p>This command gets the ACL of the indicated resource or throws an error if it is unavailable.</p> <dl class="definitions"> <dt><b class="option">-blocking</b> <i class="arg">boolean</i></dt> <dd><p>See above for standard definition.</p></dd> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-parse-xml</b> <i class="arg">xml</i></dt> <dd><p>The XML from a previous GetACL can be passed in to be parsed into dictionary form. In this case, -result-type must be pxml or dict.</p></dd> <dt><b class="option">-result-type</b> <i class="arg">REST</i></dt> <dd><p>The dictionary returned by <b class="cmd">S3::REST</b> is the return value of <b class="cmd">S3::GetAcl</b>. In this case, a non-2XX httpstatus will not throw an error.</p></dd> <dt><b class="option">-result-type</b> <i class="arg">xml</i></dt> <dd><p>The raw XML of the body is returned as the result (with no encoding applied).</p></dd> <dt><b class="option">-result-type</b> <i class="arg">pxml</i></dt> <dd><p>The XML of the body as parsed by <b class="cmd">xsxp::parse</b> is returned.</p></dd> <dt><b class="option">-result-type</b> <i class="arg">dict</i></dt> |
︙ | ︙ | |||
886 887 888 889 890 891 892 | <dl class="definitions"> <dt><b class="option">-blocking</b> <i class="arg">boolean</i></dt> <dd><p>See above for standard definition.</p></dd> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> | | | | | 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 | <dl class="definitions"> <dt><b class="option">-blocking</b> <i class="arg">boolean</i></dt> <dd><p>See above for standard definition.</p></dd> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-owner</b></dt> <dd><p>If this is provided, it is assumed to match the owner of the resource. Otherwise, a GET may need to be issued against the resource to find the owner. If you already have the owner (such as from a call to <b class="cmd">S3::GetAcl</b>, you can pass the value of the "owner" key as the value of this option, and it will be used in the construction of the XML.</p></dd> <dt><b class="option">-acl</b></dt> <dd><p>If this option is specified, it provides the ACL the caller wishes to write to the resource. If this is not supplied or is empty, the value is taken from <b class="cmd">S3::Configure -default-acl</b>. |
︙ | ︙ | |||
926 927 928 929 930 931 932 | It returns 1 if the resource was deleted successfully, 0 otherwise. It returns 0 rather than throwing an S3 remote error.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be deleted. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> | | | | | | | | | | | 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 | It returns 1 if the resource was deleted successfully, 0 otherwise. It returns 0 rather than throwing an S3 remote error.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This specifies the bucket from which the resource will be deleted. Leading and/or trailing slashes are removed for you, as are spaces.</p></dd> <dt><b class="option">-resource</b></dt> <dd><p>This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed.</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>The standard blocking flag.</p></dd> <dt><b class="option">-status</b></dt> <dd><p>If specified, the indicated (not necessarily global) variable in the caller's scope is set to a two-element list. The first element is the 3-digit HTTP status code. The second element is the HTTP message (such as "OK" or "Forbidden"). Note that Amazon's DELETE result is 204 on success, that being the code indicating no content in the returned body.</p></dd> </dl></dd> <dt><a name="14"><b class="cmd">S3::Push</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-directory</b> <i class="arg">directoryname</i> <span class="opt">?<b class="option">-prefix</b> <i class="arg">prefixstring</i>?</span> <span class="opt">?<b class="option">-compare</b> <i class="arg">comparemode</i>?</span> <span class="opt">?<b class="option">-x-amz-meta-*</b> <i class="arg">metastring</i>?</span> <span class="opt">?<b class="option">-acl</b> <i class="arg">aclcode</i>?</span> <span class="opt">?<b class="option">-delete</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-error</b> <i class="arg">throw|break|continue</i>?</span> <span class="opt">?<b class="option">-progress</b> <i class="arg">scriptprefix</i>?</span></a></dt> <dd><p>This synchronises a local directory with a remote bucket by pushing the differences using <b class="cmd">S3::Put</b>. Note that if something has changed in the bucket but not locally, those changes could be lost. Thus, this is not a general two-way synchronization primitive. (See <b class="cmd">S3::Sync</b> for that.) Note too that resource names are case sensitive, so changing the case of a file on a Windows machine may lead to otherwise-unnecessary transfers. Note that only regular files are considered, so devices, pipes, symlinks, and directories are not copied.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This names the bucket into which data will be pushed.</p></dd> <dt><b class="option">-directory</b></dt> <dd><p>This names the local directory from which files will be taken. It must exist, be readable via [glob] and so on. If only some of the files therein are readable, <b class="cmd">S3::Push</b> will PUT those files that are readable and return in its results the list of files that could not be opened.</p></dd> <dt><b class="option">-prefix</b></dt> <dd><p>This names the prefix that will be added to all resources. That is, it is the remote equivalent of <b class="option">-directory</b>. If it is not specified, the root of the bucket will be treated as the remote directory. An example may clarify.</p> <pre class="example"> S3::Push -bucket test -directory /tmp/xyz -prefix hello/world </pre> <p>In this example, /tmp/xyz/pdq.html will be stored as http://s3.amazonaws.com/test/hello/world/pdq.html in Amazon's servers. Also, /tmp/xyz/abc/def/Hello will be stored as http://s3.amazonaws.com/test/hello/world/abc/def/Hello in Amazon's servers. Without the <b class="option">-prefix</b> option, /tmp/xyz/pdq.html would be stored as http://s3.amazonaws.com/test/pdq.html.</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>This is the standard blocking option.</p></dd> <dt><b class="option">-compare</b></dt> <dd><p>If present, this is passed to each invocation of <b class="cmd">S3::Put</b>. Naturally, <b class="cmd">S3::Configure -default-compare</b> is used if this is not specified.</p></dd> <dt><b class="option">-x-amz-meta-*</b></dt> <dd><p>If present, this is passed to each invocation of <b class="cmd">S3::Put</b>. All copied files will have the same metadata.</p></dd> <dt><b class="option">-acl</b></dt> <dd><p>If present, this is passed to each invocation of <b class="cmd">S3::Put</b>.</p></dd> <dt><b class="option">-delete</b></dt> <dd><p>This defaults to false. If true, resources in the destination that are not in the source directory are deleted with <b class="cmd">S3::Delete</b>. Since only regular files are considered, the existance of a symlink, pipe, device, or directory in the local source will <em>not</em> prevent the deletion of a remote resource with a corresponding name.</p></dd> <dt><b class="option">-error</b></dt> <dd><p>This controls the behavior of <b class="cmd">S3::Push</b> in the event that <b class="cmd">S3::Put</b> throws an error. Note that errors encountered on the local file system or in reading the list of resources in the remote bucket always throw errors. This option allows control over "partial" errors, when some files were copied and some were not. <b class="cmd">S3::Delete</b> is always finished up, with errors simply recorded in the return result.</p> <dl class="definitions"> <dt>throw</dt> <dd><p>The error is rethrown with the same errorCode.</p></dd> <dt>break</dt> <dd><p>Processing stops without throwing an error, the error is recorded |
︙ | ︙ | |||
1030 1031 1032 1033 1034 1035 1036 | first additional argument and a list of suffixes existing in the remote bucket as the second additional argument. Then, for each file in the local list, the prefix will be invoked with <i class="arg">start</i> as the first additional argument and the common suffix as the second additional argument. When <b class="cmd">S3::Put</b> returns for that file, the prefix will be invoked with <i class="arg">copy</i> as the first additional argument, the common suffix as the second additional argument, and a third argument that will | | | | | | | | | | | | | | | | | | | | | | | | 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 | first additional argument and a list of suffixes existing in the remote bucket as the second additional argument. Then, for each file in the local list, the prefix will be invoked with <i class="arg">start</i> as the first additional argument and the common suffix as the second additional argument. When <b class="cmd">S3::Put</b> returns for that file, the prefix will be invoked with <i class="arg">copy</i> as the first additional argument, the common suffix as the second additional argument, and a third argument that will be "copied" (if <b class="cmd">S3::Put</b> sent the resource), "skipped" (if <b class="cmd">S3::Put</b> decided not to based on <b class="option">-compare</b>), or the errorCode that <b class="cmd">S3::Put</b> threw due to unexpected errors (in which case the third argument is a list that starts with "S3"). When all files have been transfered, the prefix may be invoked zero or more times with <i class="arg">delete</i> as the first additional argument and the suffix of the resource being deleted as the second additional argument, with a third argument being either an empty string (if the delete worked) or the errorCode from <b class="cmd">S3::Delete</b> if it failed. Finally, the prefix will be invoked with <i class="arg">finished</i> as the first additional argument and the return value as the second additional argument.</p></dd> </dl> <p>The return result from this command is a dictionary. They keys are the suffixes (i.e., the common portion of the path after the <b class="option">-directory</b> and <b class="option">-prefix</b>), while the values are either "copied", "skipped" (if <b class="option">-compare</b> indicated not to copy the file), or the errorCode thrown by <b class="cmd">S3::Put</b>, as appropriate. If <b class="option">-delete</b> was true, there may also be entries for suffixes with the value "deleted" or "notdeleted", indicating whether the attempted <b class="cmd">S3::Delete</b> worked or not, respectively. There is one additional pair in the return result, whose key is the empty string and whose value is a nested dictionary. The keys of this nested dictionary include "filescopied" (the number of files successfully copied), "bytescopied" (the number of data bytes in the files copied, excluding headers, metadata, etc), "compareskipped" (the number of files not copied due to <b class="option">-compare</b> mode), "errorskipped" (the number of files not copied due to thrown errors), "filesdeleted" (the number of resources deleted due to not having corresponding files locally, or 0 if <b class="option">-delete</b> is false), and "filesnotdeleted" (the number of resources whose deletion was attempted but failed).</p> <p>Note that this is currently implemented somewhat inefficiently. It fetches the bucket listing (including timestamps and eTags), then calls <b class="cmd">S3::Put</b>, which uses HEAD to find the timestamps and eTags again. Correcting this with no API change is planned for a future upgrade.</p></dd> <dt><a name="15"><b class="cmd">S3::Pull</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-directory</b> <i class="arg">directoryname</i> <span class="opt">?<b class="option">-prefix</b> <i class="arg">prefixstring</i>?</span> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-compare</b> <i class="arg">comparemode</i>?</span> <span class="opt">?<b class="option">-delete</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-timestamp</b> <i class="arg">aws|now</i>?</span> <span class="opt">?<b class="option">-error</b> <i class="arg">throw|break|continue</i>?</span> <span class="opt">?<b class="option">-progress</b> <i class="arg">scriptprefix</i>?</span></a></dt> <dd><p>This synchronises a remote bucket with a local directory by pulling the differences using <b class="cmd">S3::Get</b> If something has been changed locally but not in the bucket, those difference may be lost. This is not a general two-way synchronization mechanism. (See <b class="cmd">S3::Sync</b> for that.) This creates directories if needed; new directories are created with default permissions. Note that resource names are case sensitive, so changing the case of a file on a Windows machine may lead to otherwise-unnecessary transfers. Also, try not to store data in resources that end with a slash, or which are prefixes of resources that otherwise would start with a slash; i.e., don't use this if you store data in resources whose names have to be directories locally.</p> <p>Note that this is currently implemented somewhat inefficiently. It fetches the bucket listing (including timestamps and eTags), then calls <b class="cmd">S3::Get</b>, which uses HEAD to find the timestamps and eTags again. Correcting this with no API change is planned for a future upgrade.</p> <dl class="definitions"> <dt><b class="option">-bucket</b></dt> <dd><p>This names the bucket from which data will be pulled.</p></dd> <dt><b class="option">-directory</b></dt> <dd><p>This names the local directory into which files will be written It must exist, be readable via [glob], writable for file creation, and so on. If only some of the files therein are writable, <b class="cmd">S3::Pull</b> will GET those files that are writable and return in its results the list of files that could not be opened.</p></dd> <dt><b class="option">-prefix</b></dt> <dd><p>The prefix of resources that will be considered for retrieval. See <b class="cmd">S3::Push</b> for more details, examples, etc. (Of course, <b class="cmd">S3::Pull</b> reads rather than writes, but the prefix is treated similarly.)</p></dd> <dt><b class="option">-blocking</b></dt> <dd><p>This is the standard blocking option.</p></dd> <dt><b class="option">-compare</b></dt> <dd><p>This is passed to each invocation of <b class="cmd">S3::Get</b> if provided. Naturally, <b class="cmd">S3::Configure -default-compare</b> is used if this is not provided.</p></dd> <dt><b class="option">-timestamp</b></dt> <dd><p>This is passed to each invocation of <b class="cmd">S3::Get</b> if provided.</p></dd> <dt><b class="option">-delete</b></dt> <dd><p>If this is specified and true, files that exist in the <b class="option">-directory</b> that are not in the <b class="option">-prefix</b> will be deleted after all resources have been copied. In addition, empty directories (other than the top-level <b class="option">-directory</b>) will be deleted, as Amazon S3 has no concept of an empty directory.</p></dd> <dt><b class="option">-error</b></dt> <dd><p>See <b class="cmd">S3::Push</b> for a description of this option.</p></dd> <dt><b class="option">-progress</b></dt> <dd><p>See <b class="cmd">S3::Push</b> for a description of this option. It differs slightly in that local directories may be included with a trailing slash to indicate they are directories.</p></dd> </dl> <p>The return value from this command is a dictionary. It is identical in form and meaning to the description of the return result of <b class="cmd">S3::Push</b>. It differs only in that directories may be included, with a trailing slash in their name, if they are empty and get deleted.</p></dd> <dt><a name="16"><b class="cmd">S3::Toss</b> <span class="opt">?<b class="option">-bucket</b> <i class="arg">bucketname</i>?</span> <b class="option">-prefix</b> <i class="arg">prefixstring</i> <span class="opt">?<b class="option">-blocking</b> <i class="arg">boolean</i>?</span> <span class="opt">?<b class="option">-error</b> <i class="arg">throw|break|continue</i>?</span> <span class="opt">?<b class="option">-progress</b> <i class="arg">scriptprefix</i>?</span></a></dt> <dd><p>This deletes some or all resources within a bucket. It would be considered a "recursive delete" had Amazon implemented actual |
︙ | ︙ | |||
1141 1142 1143 1144 1145 1146 1147 | To delete everything in the bucket, pass an empty string for the prefix.</p></dd> <dt><b class="option"><b class="option">-error</b></b></dt> <dd><p>If this is "throw", <b class="cmd">S3::Toss</b> rethrows any errors it encounters. If this is "break", <b class="cmd">S3::Toss</b> returns with a normal return after the first error, recording that error in the return result. If this is "continue", which is | | | | | | | | | | | | | 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 | To delete everything in the bucket, pass an empty string for the prefix.</p></dd> <dt><b class="option"><b class="option">-error</b></b></dt> <dd><p>If this is "throw", <b class="cmd">S3::Toss</b> rethrows any errors it encounters. If this is "break", <b class="cmd">S3::Toss</b> returns with a normal return after the first error, recording that error in the return result. If this is "continue", which is the default, <b class="cmd">S3::Toss</b> continues on and lists all errors in the return result.</p></dd> <dt><b class="option"><b class="option">-progress</b></b></dt> <dd><p>If this is specified and not an empty string, the script prefix will be invoked several times in the context of the caller with additional arguments appended. Initially, it will be invoked with the first additional argument being <i class="arg">args</i> and the second being the processed list of arguments to <b class="cmd">S3::Toss</b>. Then it is invoked with <i class="arg">remote</i> as the first additional argument and the list of suffixes in the bucket to be deleted as the second additional argument. Then it is invoked with the first additional argument being <i class="arg">delete</i> and the second additional argument being the suffix deleted and the third additional argument being "deleted" or "notdeleted" depending on whether <b class="cmd">S3::Delete</b> threw an error. Finally, the script prefix is invoked with a first additional argument of "finished" and a second additional argument of the return value.</p></dd> </dl> <p>The return value is a dictionary. The keys are the suffixes of files that <b class="cmd">S3::Toss</b> attempted to delete, and whose values are either the string "deleted" or "notdeleted". There is also one additional pair, whose key is the empty string and whose value is an embedded dictionary. The keys of this embedded dictionary include "filesdeleted" and "filesnotdeleted", each of which has integer values.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">LIMITATIONS</a></h2> <ul class="itemized"> <li><p>The pure-Tcl MD5 checking is slow. If you are processing files in the megabyte range, consider ensuring binary support is available.</p></li> <li><p>The commands <b class="cmd">S3::Pull</b> and <b class="cmd">S3::Push</b> fetch a directory listing which includes timestamps and MD5 hashes, then invoke <b class="cmd">S3::Get</b> and <b class="cmd">S3::Put</b>. If a complex <b class="option">-compare</b> mode is specified, <b class="cmd">S3::Get</b> and <b class="cmd">S3::Put</b> will invoke a HEAD operation for each file to fetch timestamps and MD5 hashes of each resource again. It is expected that a future release of this package will solve this without any API changes.</p></li> <li><p>The commands <b class="cmd">S3::Pull</b> and <b class="cmd">S3::Push</b> fetch a directory listing without using <b class="option">-max-count</b>. The entire directory is pulled into memory at once. For very large buckets, this could be a performance problem. The author, at this time, does not plan to change this behavior. Welcome to Open Source.</p></li> <li><p><b class="cmd">S3::Sync</b> is neither designed nor implemented yet. The intention would be to keep changes synchronised, so changes could be made to both the bucket and the local directory and be merged by <b class="cmd">S3::Sync</b>.</p></li> <li><p>Nor is <b class="option">-compare</b> <i class="arg">calc</i> fully implemented. This is primarily due to Windows not providing a convenient method for distinguishing between local files that are "public-read" or "public-read-write". Assistance figuring out TWAPI for this would be appreciated. The U**X semantics are difficult to map directly as well. See the source for details. Note that there are not tests for calc, since it isn't done yet.</p></li> <li><p>The HTTP processing is implemented within the library, rather than using a "real" HTTP package. Hence, multi-line headers are not (yet) handled correctly. Do not include carriage returns or linefeeds in x-amz-meta-* headers, content-type values, and so on. The author does not at this time expect to improve this.</p></li> <li><p>Internally, <b class="cmd">S3::Push</b> and <b class="cmd">S3::Pull</b> and <b class="cmd">S3::Toss</b> are all very similar and should be refactored.</p></li> <li><p>The idea of using <b class="option">-compare</b> <i class="arg">never</i> <b class="option">-delete</b> <i class="arg">true</i> to delete files that have been deleted from one place but not the other yet not copying changed files is untested.</p></li> </ul> </div> <div id="section7" class="section"><h2><a name="section7">USAGE SUGGESTIONS</a></h2> <p>To fetch a "directory" out of a bucket, make changes, and store it back:</p> <pre class="example"> file mkdir ./tempfiles |
︙ | ︙ | |||
1224 1225 1226 1227 1228 1229 1230 | update files:</p> <pre class="example"> S3::Pull -bucket sample -prefix of/interest -directory ./myfiles \ -compare never -delete true </pre> </div> <div id="section8" class="section"><h2><a name="section8">FUTURE DEVELOPMENTS</a></h2> | | | | | | | 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 | update files:</p> <pre class="example"> S3::Pull -bucket sample -prefix of/interest -directory ./myfiles \ -compare never -delete true </pre> </div> <div id="section8" class="section"><h2><a name="section8">FUTURE DEVELOPMENTS</a></h2> <p>The author intends to work on several additional projects related to this package, in addition to finishing the unfinished features.</p> <p>First, a command-line program allowing browsing of buckets and transfer of files from shell scripts and command prompts is useful.</p> <p>Second, a GUI-based program allowing visual manipulation of bucket and resource trees not unlike Windows Explorer would be useful.</p> <p>Third, a command-line (and perhaps a GUI-based) program called "OddJob" that will use S3 to synchronize computation amongst multiple servers running OddJob. An S3 bucket will be set up with a number of scripts to run, and the OddJob program can be invoked on multiple machines to run scripts on all the machines, each moving on to the next unstarted task as it finishes each. This is still being designed, and it is intended primarily to be run on Amazon's Elastic Compute Cloud.</p> </div> <div id="section9" class="section"><h2><a name="section9">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>amazon-s3</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key498">amazon</a>, <a href="../../../../index.html#key499">cloud</a>, <a href="../../../../index.html#key497">s3</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>2006,2008 Darren New. All Rights Reserved. See LICENSE.TXT for terms.</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/amazon-s3/xsxp.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
136 137 138 139 140 141 142 | <li><a href="#4"><b class="cmd">xsxp::only</b> <i class="arg">pxml</i> <i class="arg">tagname</i></a></li> <li><a href="#5"><b class="cmd">xsxp::prettyprint</b> <i class="arg">pxml</i> <span class="opt">?<i class="arg">chan</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a simple interface to parse XML into a pure-value list. | | | | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | <li><a href="#4"><b class="cmd">xsxp::only</b> <i class="arg">pxml</i> <i class="arg">tagname</i></a></li> <li><a href="#5"><b class="cmd">xsxp::prettyprint</b> <i class="arg">pxml</i> <span class="opt">?<i class="arg">chan</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a simple interface to parse XML into a pure-value list. It also provides accessor routines to pull out specific subtags, not unlike DOM access. This package was written for and is used by Darren New's Amazon S3 access package.</p> <p>This is pretty lame, but I needed something like this for S3, and at the time, TclDOM would not work with the new 8.5 Tcl due to version number problems.</p> <p>In addition, this is a pure-value implementation. There is no garbage to clean up in the event of a thrown error, for example. This simplifies the code for sufficiently small XML documents, which is what Amazon's S3 guarantees.</p> <p>Copyright 2006 Darren New. All Rights Reserved. NO WARRANTIES OF ANY TYPE ARE PROVIDED. COPYING OR USE INDEMNIFIES THE AUTHOR IN ALL WAYS. This software is licensed under essentially the same terms as Tcl. See LICENSE.txt for the terms.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <p>The package implements five rather simple procedures. One parses, one is for debugging, and the rest pull various parts of the parsed document out for processing.</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">xsxp::parse</b> <i class="arg">xml</i></a></dt> <dd><p>This parses an XML document (using the standard xml tcllib module in a SAX sort of way) and builds a data structure which it returns if the parsing succeeded. The return value is referred to herein as a "pxml", or "parsed xml". The list consists of two or more elements:</p> <ul class="itemized"> <li><p>The first element is the name of the tag.</p></li> <li><p>The second element is an array-get formatted list of key/value pairs. The keys are attribute names and the values are attribute values. This is an empty list if there are no attributes on the tag.</p></li> <li><p>The third through end elements are the children of the node, if any. Each child is, recursively, a pxml.</p></li> <li><p>Note that if the zero'th element, i.e. the tag name, is "%PCDATA", then the attributes will be empty and the third element will be the text of the element. In addition, if an element's contents consists only of PCDATA, it will have only one child, and all the PCDATA will be concatenated. In other words, this parser works poorly for XML with elements that contain both child tags and PCDATA. Since Amazon S3 does not do this (and for that matter most uses of XML where XML is a poor choice don't do this), this is probably not a serious limitation.</p></li> </ul></dd> <dt><a name="2"><b class="cmd">xsxp::fetch</b> <i class="arg">pxml</i> <i class="arg">path</i> <span class="opt">?<i class="arg">part</i>?</span></a></dt> <dd><p><i class="arg">pxml</i> is a parsed XML, as returned from xsxp::parse. <i class="arg">path</i> is a list of element tag names. Each element is the name of a child to look up, optionally followed by a hash ("#") and a string of digits. An empty list or an initial empty element selects <i class="arg">pxml</i>. If no hash sign is present, the behavior is as if "#0" had been appended to that element. (In addition to a list, slashes can separate subparts where convenient.)</p> <p>An element of <i class="arg">path</i> scans the children at the indicated level for the n'th instance of a child whose tag matches the part of the element before the hash sign. If an element is simply "#" followed by digits, that indexed child is selected, regardless of the tags |
︙ | ︙ | |||
207 208 209 210 211 212 213 | <dd><p>is like %PCDATA, but returns an empty string if no PCDATA is found.</p></dd> </dl> <p>For example, to fetch the first bold text from the fifth paragraph of the body of your HTML file,</p> <pre class="example">xsxp::fetch $pxml {html body p#4 b} %PCDATA</pre> </dd> <dt><a name="3"><b class="cmd">xsxp::fetchall</b> <i class="arg">pxml_list</i> <i class="arg">path</i> <span class="opt">?<i class="arg">part</i>?</span></a></dt> | | | | | | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | <dd><p>is like %PCDATA, but returns an empty string if no PCDATA is found.</p></dd> </dl> <p>For example, to fetch the first bold text from the fifth paragraph of the body of your HTML file,</p> <pre class="example">xsxp::fetch $pxml {html body p#4 b} %PCDATA</pre> </dd> <dt><a name="3"><b class="cmd">xsxp::fetchall</b> <i class="arg">pxml_list</i> <i class="arg">path</i> <span class="opt">?<i class="arg">part</i>?</span></a></dt> <dd><p>This iterates over each PXML in <i class="arg">pxml_list</i> (which must be a list of pxmls) selecting the indicated path from it, building a new list with the selected data, and returning that new list.</p> <p>For example, <i class="arg">pxml_list</i> might be the %CHILDREN of a particular element, and the <i class="arg">path</i> and <i class="arg">part</i> might select from each child a sub-element in which we're interested.</p></dd> <dt><a name="4"><b class="cmd">xsxp::only</b> <i class="arg">pxml</i> <i class="arg">tagname</i></a></dt> <dd><p>This iterates over the direct children of <i class="arg">pxml</i> and selects only those with <i class="arg">tagname</i> as their tag. Returns a list of matching elements.</p></dd> <dt><a name="5"><b class="cmd">xsxp::prettyprint</b> <i class="arg">pxml</i> <span class="opt">?<i class="arg">chan</i>?</span></a></dt> <dd><p>This outputs to <i class="arg">chan</i> (default stdout) a pretty-printed version of <i class="arg">pxml</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>amazon-s3</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key733">dom</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key734">xml</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>2006 Darren New. All Rights Reserved.</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/asn/asn.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <ul> <li class="subsection"><a href="#subsection1">ENCODER</a></li> <li class="subsection"><a href="#subsection2">DECODER</a></li> <li class="subsection"><a href="#subsection3">HANDLING TAGS</a></li> </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <ul> <li class="subsection"><a href="#subsection1">ENCODER</a></li> <li class="subsection"><a href="#subsection2">DECODER</a></li> <li class="subsection"><a href="#subsection3">HANDLING TAGS</a></li> </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
375 376 377 378 379 380 381 | <dd><p>Assumes that a UTF8 string value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">string_var</i>, converting it into a proper Tcl string. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="38"><b class="cmd">::asn::asnGetUTCTime</b> <i class="arg">data_var</i> <i class="arg">utc_var</i></a></dt> <dd><p>Assumes that a UTC time value is at the front of the data stored in the | | | | | | | | 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 | <dd><p>Assumes that a UTF8 string value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">string_var</i>, converting it into a proper Tcl string. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="38"><b class="cmd">::asn::asnGetUTCTime</b> <i class="arg">data_var</i> <i class="arg">utc_var</i></a></dt> <dd><p>Assumes that a UTC time value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">utc_var</i>. The UTC time value is stored as a string, which has to be decoded with the usual clock scan commands. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="39"><b class="cmd">::asn::asnGetBitString</b> <i class="arg">data_var</i> <i class="arg">bits_var</i></a></dt> <dd><p>Assumes that a bit string value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">bits_var</i> as a string containing only 0 and 1. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="40"><b class="cmd">::asn::asnGetObjectIdentifier</b> <i class="arg">data_var</i> <i class="arg">oid_var</i></a></dt> <dd><p>Assumes that a object identifier (OID) value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">oid_var</i> as a list of integers. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="41"><b class="cmd">::asn::asnGetBoolean</b> <i class="arg">data_var</i> <i class="arg">bool_var</i></a></dt> <dd><p>Assumes that a boolean value is at the front of the data stored in the variable named <i class="arg">data_var</i>, and stores it into the variable named by <i class="arg">bool_var</i>. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands.</p></dd> <dt><a name="42"><b class="cmd">::asn::asnGetNull</b> <i class="arg">data_var</i></a></dt> <dd><p>Assumes that a NULL value is at the front of the data stored in the variable named <i class="arg">data_var</i> and removes the bytes used to encode it from the data.</p></dd> |
︙ | ︙ | |||
469 470 471 472 473 474 475 | <dd><p>The <b class="cmd">::asn::asnPeekTag</b> command can be used to take a peek at the data and decode the tag value, without removing it from the data. The <i class="arg">tag_var</i> gets set to the tag number, while the <i class="arg">tagtype_var</i> gets set to the class of the tag. (Either UNIVERSAL, CONTEXT, APPLICATION or PRIVATE). The <i class="arg">constr_var</i> is set to 1 if the tag is for a constructed value, and to 0 for not constructed. It returns the length of the tag.</p></dd> <dt><a name="48"><b class="cmd">::asn::asnTag</b> <i class="arg">tagnumber</i> <span class="opt">?<i class="arg">class</i>?</span> <span class="opt">?<i class="arg">tagstyle</i>?</span></a></dt> <dd><p>The <b class="cmd">::asn::asnTag</b> can be used to create a tag value. The <i class="arg">tagnumber</i> gives the number of the tag, while the <i class="arg">class</i> gives one of the classes (UNIVERSAL,CONTEXT,APPLICATION or PRIVATE). The class may be abbreviated to just the first letter (U,C,A,P), | | | | | | 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 | <dd><p>The <b class="cmd">::asn::asnPeekTag</b> command can be used to take a peek at the data and decode the tag value, without removing it from the data. The <i class="arg">tag_var</i> gets set to the tag number, while the <i class="arg">tagtype_var</i> gets set to the class of the tag. (Either UNIVERSAL, CONTEXT, APPLICATION or PRIVATE). The <i class="arg">constr_var</i> is set to 1 if the tag is for a constructed value, and to 0 for not constructed. It returns the length of the tag.</p></dd> <dt><a name="48"><b class="cmd">::asn::asnTag</b> <i class="arg">tagnumber</i> <span class="opt">?<i class="arg">class</i>?</span> <span class="opt">?<i class="arg">tagstyle</i>?</span></a></dt> <dd><p>The <b class="cmd">::asn::asnTag</b> can be used to create a tag value. The <i class="arg">tagnumber</i> gives the number of the tag, while the <i class="arg">class</i> gives one of the classes (UNIVERSAL,CONTEXT,APPLICATION or PRIVATE). The class may be abbreviated to just the first letter (U,C,A,P), default is UNIVERSAL. The <i class="arg">tagstyle</i> is either C for Constructed encoding, or P for primitve encoding. It defaults to P. You can also use 1 instead of C and 0 instead of P for direct use of the values returned by <b class="cmd">::asn::asnPeekTag</b>.</p></dd> <dt><a name="49"><b class="cmd">::asn::asnRetag</b> <i class="arg">data_var</i> <i class="arg">newTag</i></a></dt> <dd><p>Replaces the tag in front of the data in <i class="arg">data_var</i> with <i class="arg">newTag</i>. The new Tag can be created using the <b class="cmd">::asn::asnTag</b> command.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <p>Examples for the usage of this package can be found in the implementation of package <b class="package"><a href="../ldap/ldap.html">ldap</a></b>.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>asn</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key402">asn</a>, <a href="../../../../index.html#key400">ber</a>, <a href="../../../../index.html#key401">cer</a>, <a href="../../../../index.html#key403">der</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key140">protocol</a>, <a href="../../../../index.html#key398">x.208</a>, <a href="../../../../index.html#key399">x.209</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Andreas Kupries <[email protected]><br> Copyright © 2004 Jochen Loewer <[email protected]><br> Copyright © 2004-2011 Michael Schlenker <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base32/base32.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Code map</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Code map</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
179 180 181 182 183 184 185 | 4 E 13 N 22 W 31 7 5 F 14 O 23 X 6 G 15 P 24 Y 7 H 16 Q 25 Z 8 I 17 R 26 2 </pre> </div> | | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | 4 E 13 N 22 W 31 7 5 F 14 O 23 X 6 G 15 P 24 Y 7 H 16 Q 25 Z 8 I 17 R 26 2 </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base32</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">base32</a>, <a href="../../../../index.html#key323">rfc3548</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Public domain</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base32/base32core.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | <ol class="enumerated"> <li><p>The length of the input is not a multiple of eight,</p></li> <li><p>The padding appears not at the end of input, but in the middle,</p></li> <li><p>The padding has not of length six, four, three, or one characters,</p></li> </ol></dd> </dl> </div> | | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | <ol class="enumerated"> <li><p>The length of the input is not a multiple of eight,</p></li> <li><p>The padding appears not at the end of input, but in the middle,</p></li> <li><p>The padding has not of length six, four, three, or one characters,</p></li> </ol></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base32</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">base32</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Public domain</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base32/base32hex.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Code map</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Code map</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
181 182 183 184 185 186 187 | 4 4 13 D 22 M 31 V 5 5 14 E 23 N 6 6 15 F 24 O 7 7 16 G 25 P 8 8 17 H 26 Q </pre> </div> | | | | 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | 4 4 13 D 22 M 31 V 5 5 14 E 23 N 6 6 15 F 24 O 7 7 16 G 25 P 8 8 17 H 26 Q </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base32</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key277">base32</a>, <a href="../../../../index.html#key322">hex</a>, <a href="../../../../index.html#key323">rfc3548</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Public domain</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base64/ascii85.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">References</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">References</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
177 178 179 180 181 182 183 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://en.wikipedia.org/wiki/Ascii85">http://en.wikipedia.org/wiki/Ascii85</a></p></li> <li><p>Postscript Language Reference Manual, 3rd Edition, page 131. <a href="http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf">http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf</a></p></li> </ol> </div> | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://en.wikipedia.org/wiki/Ascii85">http://en.wikipedia.org/wiki/Ascii85</a></p></li> <li><p>Postscript Language Reference Manual, 3rd Edition, page 131. <a href="http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf">http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf</a></p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base64</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key700">ascii85</a>, <a href="../../../../index.html#key244">encoding</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Emiliano Gavilán</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base64/base64.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
170 171 172 173 174 175 176 | # NOTE: base64 encodes BINARY strings. % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"] % set encoded [base64::encode $chemical] Q+KCiEjigoHigoBO4oKET+KCgg== % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] </pre> </div> | | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | # NOTE: base64 encodes BINARY strings. % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"] % set encoded [base64::encode $chemical] Q+KCiEjigoHigoBO4oKET+KCgg== % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base64</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key759">base64</a>, <a href="../../../../index.html#key244">encoding</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/base64/uuencode.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | end </pre> <pre class="example"> % uuencode::uudecode $d {hello.txt 644 {Hello World}} </pre> </div> | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | end </pre> <pre class="example"> % uuencode::uudecode $d {hello.txt 644 {Hello World}} </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base64</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key244">encoding</a>, <a href="../../../../index.html#key243">uuencode</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/base64/yencode.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> <li class="section"><a href="#section3">References</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> <li class="section"><a href="#section3">References</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
139 140 141 142 143 144 145 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that escapes characters special to the <i class="term"><a href="../../../../index.html#key635">NNTP</a></i> posting protocols. See <a href="http://www.yenc.org/">http://www.yenc.org/</a> for details concerning the algorithm.</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">::yencode::encode</b> <i class="arg">string</i></a></dt> <dd><p>returns the yEnc encoded data.</p></dd> <dt><a name="2"><b class="cmd">::yencode::decode</b> <i class="arg">string</i></a></dt> <dd><p>Decodes the given yEnc encoded data.</p></dd> <dt><a name="3"><b class="cmd">::yencode::yencode</b> <span class="opt">?<b class="option">-name</b> <i class="arg">string</i>?</span> <span class="opt">?<b class="option">-line</b> <i class="arg">integer</i>?</span> <span class="opt">?<b class="option">-crc32</b> <i class="arg">boolean</i>?</span> (<b class="option">-file</b> <i class="arg">filename</i> | <span class="opt">?<b class="option">--</b>?</span> <i class="arg">string</i>)</a></dt> |
︙ | ︙ | |||
186 187 188 189 190 191 192 | </pre> </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://www.yenc.org/yenc-draft.1.3.txt">http://www.yenc.org/yenc-draft.1.3.txt</a></p></li> </ol> </div> | | | | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | </pre> </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://www.yenc.org/yenc-draft.1.3.txt">http://www.yenc.org/yenc-draft.1.3.txt</a></p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>base64</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key244">encoding</a>, <a href="../../../../index.html#key690">yEnc</a>, <a href="../../../../index.html#key688">ydecode</a>, <a href="../../../../index.html#key689">yencode</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bee/bee.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <ul> <li class="subsection"><a href="#subsection1">ENCODER</a></li> <li class="subsection"><a href="#subsection2">DECODER</a></li> </ul> </li> <li class="section"><a href="#section3">FORMAT DEFINITION</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <ul> <li class="subsection"><a href="#subsection1">ENCODER</a></li> <li class="subsection"><a href="#subsection2">DECODER</a></li> </ul> </li> <li class="section"><a href="#section3">FORMAT DEFINITION</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
357 358 359 360 361 362 363 | </dl> <p>By wrapping an integer number into <b class="const">i</b>...<b class="const">e</b> the format makes sure that they are different from strings, which all begin with a digit.</p> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLES</a></h2> </div> | | | | | 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | </dl> <p>By wrapping an integer number into <b class="const">i</b>...<b class="const">e</b> the format makes sure that they are different from strings, which all begin with a digit.</p> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLES</a></h2> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bee</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key368">BitTorrent</a>, <a href="../../../../index.html#key366">bee</a>, <a href="../../../../index.html#key367">bittorrent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key369">torrent</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <li class="section"><a href="#section2">PUBLIC API</a> <ul> <li class="subsection"><a href="#subsection1">Benchmark execution</a></li> <li class="subsection"><a href="#subsection2">Result manipulation</a></li> <li class="subsection"><a href="#subsection3">Result format</a></li> </ul> </li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <li class="section"><a href="#section2">PUBLIC API</a> <ul> <li class="subsection"><a href="#subsection1">Benchmark execution</a></li> <li class="subsection"><a href="#subsection2">Result manipulation</a></li> <li class="subsection"><a href="#subsection3">Result format</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
311 312 313 314 315 316 317 | <dt>BAD_RES</dt> <dd><p>The benchmark could be executed, however the result from its body did not match the declared expectations.</p></dd> </dl></dd> </dl> </div> </div> | | | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | <dt>BAD_RES</dt> <dd><p>The benchmark could be executed, however the result from its body did not match the declared expectations.</p></dd> </dl></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a>, <a href="bench_lang_spec.html">bench_lang_spec</a>, bench_read, bench_wcsv, bench_wtext</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key119">merging</a>, <a href="../../../../index.html#key120">normalization</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key101">testing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_intro.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>bench_intro - bench introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">HISTORICAL NOTES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>bench_intro - bench introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">HISTORICAL NOTES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | </ol> </div> <div id="section2" class="section"><h2><a name="section2">HISTORICAL NOTES</a></h2> <p>This module and package have been derived from Jeff Hobbs' <b class="syscmd">tclbench</b> application for the benchmarking of the Tcl core and its ancestor "<b class="file">runbench.tcl</b>".</p> </div> | | > | | | > | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | </ol> </div> <div id="section2" class="section"><h2><a name="section2">HISTORICAL NOTES</a></h2> <p>This module and package have been derived from Jeff Hobbs' <b class="syscmd">tclbench</b> application for the benchmarking of the Tcl core and its ancestor "<b class="file">runbench.tcl</b>".</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench.html">bench</a>, bench_lang_faq, <a href="bench_lang_intro.html">bench_lang_intro</a>, <a href="bench_lang_spec.html">bench_lang_spec</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key100">bench language</a>, <a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key101">testing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_lang_intro.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <li class="subsection"><a href="#subsection1">Fundamentals</a></li> <li class="subsection"><a href="#subsection2">Basics</a></li> <li class="subsection"><a href="#subsection3">Pre- and postprocessing</a></li> <li class="subsection"><a href="#subsection4">Advanced pre- and postprocessing</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <li class="subsection"><a href="#subsection1">Fundamentals</a></li> <li class="subsection"><a href="#subsection2">Basics</a></li> <li class="subsection"><a href="#subsection3">Pre- and postprocessing</a></li> <li class="subsection"><a href="#subsection4">Advanced pre- and postprocessing</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
229 230 231 232 233 234 235 | <div id="section2" class="section"><h2><a name="section2">FURTHER READING</a></h2> <p>Now that this document has been digested the reader, assumed to be a <i class="term">writer</i> of benchmarks, he should be fortified enough to be able to understand the formal <i class="term">bench language specfication</i>. It will also serve as the detailed specification and cheat sheet for all available commands and their syntax.</p> </div> | | > | | | > | | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | <div id="section2" class="section"><h2><a name="section2">FURTHER READING</a></h2> <p>Now that this document has been digested the reader, assumed to be a <i class="term">writer</i> of benchmarks, he should be fortified enough to be able to understand the formal <i class="term">bench language specfication</i>. It will also serve as the detailed specification and cheat sheet for all available commands and their syntax.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_spec.html">bench_lang_spec</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key100">bench language</a>, <a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key351">examples</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key101">testing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_lang_spec.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
209 210 211 212 213 214 215 | <dd><p>The argument of this option declares a script which is run <em>before</em> any of the iterations of the body are run. Its responsibility is to create whatever resources are needed by the body to run without failing.</p></dd> </dl></dd> </dl> </div> | | | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | <dd><p>The argument of this option declares a script which is run <em>before</em> any of the iterations of the body are run. Its responsibility is to create whatever resources are needed by the body to run without failing.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench_intro.html">bench_intro</a>, <a href="bench_lang_intro.html">bench_lang_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key100">bench language</a>, <a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key643">specification</a>, <a href="../../../../index.html#key101">testing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_read.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
160 161 162 163 164 165 166 | <dd><p>Provided by package <b class="package"><a href="bench_wcsv.html">bench::out::csv</a></b>.</p></dd> <dt><b class="cmd"><a href="bench_wtext.html">bench::out::text</a></b></dt> <dd><p>Provided by package <b class="package"><a href="bench_wtext.html">bench::out::text</a></b>.</p></dd> </dl> <p>and automatically detects which format is used by the input file.</p></dd> </dl> </div> | | | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | <dd><p>Provided by package <b class="package"><a href="bench_wcsv.html">bench::out::csv</a></b>.</p></dd> <dt><b class="cmd"><a href="bench_wtext.html">bench::out::text</a></b></dt> <dd><p>Provided by package <b class="package"><a href="bench_wtext.html">bench::out::text</a></b>.</p></dd> </dl> <p>and automatically detects which format is used by the input file.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench.html">bench</a>, <a href="bench_wcsv.html">bench::out::csv</a>, <a href="bench_wtext.html">bench::out::text</a>, <a href="bench_intro.html">bench_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key53">csv</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key481">human readable</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key502">reading</a>, <a href="../../../../index.html#key101">testing</a>, <a href="../../../../index.html#key480">text</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_wcsv.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | file, socket, etc. This specific command generates CSV data importable by spread sheets.</p> <p>For other formatting styles see the packages <b class="package"><a href="bench.html">bench</a></b> and <b class="package"><a href="bench_wtext.html">bench::out::text</a></b> which provide commands to format benchmark results in raw form, or for human consumption, respectively.</p></dd> </dl> </div> | | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | file, socket, etc. This specific command generates CSV data importable by spread sheets.</p> <p>For other formatting styles see the packages <b class="package"><a href="bench.html">bench</a></b> and <b class="package"><a href="bench_wtext.html">bench::out::text</a></b> which provide commands to format benchmark results in raw form, or for human consumption, respectively.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench.html">bench</a>, <a href="bench_wtext.html">bench::out::text</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key53">csv</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key101">testing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bench/bench_wtext.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | file, socket, etc. This specific command generates human readable text.</p> <p>For other formatting styles see the packages <b class="package"><a href="bench.html">bench</a></b> and <b class="package"><a href="bench_wcsv.html">bench::out::csv</a></b> which provide commands to format benchmark results in raw form, or as importable CSV data, respectively.</p></dd> </dl> </div> | | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | file, socket, etc. This specific command generates human readable text.</p> <p>For other formatting styles see the packages <b class="package"><a href="bench.html">bench</a></b> and <b class="package"><a href="bench_wcsv.html">bench::out::csv</a></b> which provide commands to format benchmark results in raw form, or as importable CSV data, respectively.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bench</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="bench.html">bench</a>, <a href="bench_wcsv.html">bench::out::csv</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key103">benchmark</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key481">human readable</a>, <a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key101">testing</a>, <a href="../../../../index.html#key480">text</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Benchmark tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/bibtex/bibtex.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>bibtex - Parse bibtex files</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>bibtex - Parse bibtex files</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
234 235 236 237 238 239 240 | by the handle <i class="arg">token</i>.</p> <p>The dictionary keys are the macro names and the values their replacement strings. This command has the correct signature for use as a <b class="option">-stringcommand</b> callback in an invokation of the command <b class="cmd">::bibtex::parse</b>.</p></dd> </dl> </div> | | | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | by the handle <i class="arg">token</i>.</p> <p>The dictionary keys are the macro names and the values their replacement strings. This command has the correct signature for use as a <b class="option">-stringcommand</b> callback in an invokation of the command <b class="cmd">::bibtex::parse</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>bibtex</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key405">bibliography</a>, <a href="../../../../index.html#key406">bibtex</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key195">text processing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 for documentation, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/blowfish/blowfish.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">MODES OF OPERATION</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">AUTHORS</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">MODES OF OPERATION</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">AUTHORS</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
240 241 242 243 244 245 246 | <li><p>Schneier, B. "Applied Cryptography, 2nd edition", 1996, ISBN 0-471-11709-9, pub. John Wiley & Sons.</p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> <p>Frank Pilhofer, Pat Thoyts</p> </div> | | | | | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | <li><p>Schneier, B. "Applied Cryptography, 2nd edition", 1996, ISBN 0-471-11709-9, pub. John Wiley & Sons.</p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> <p>Frank Pilhofer, Pat Thoyts</p> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>blowfish</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>3des, <a href="../des/des.html">des</a>, <a href="../rc4/rc4.html">rc4</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key633">block cipher</a>, <a href="../../../../index.html#key781">blowfish</a>, <a href="../../../../index.html#key780">cryptography</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/cache/async.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
220 221 222 223 224 225 226 | known, and <b class="const">false</b> otherwise.</p></dd> <dt><a name="6"><i class="arg">objectName</i> <b class="method">clear</b> <span class="opt">?<i class="arg">key</i>?</span></a></dt> <dd><p>This method resets the state of either the specified <i class="arg">key</i> or of all keys known to the cache, making it unkown. This forces future <b class="method">get</b>-requests to reload the information from the provider.</p></dd> </dl> </div> | | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | known, and <b class="const">false</b> otherwise.</p></dd> <dt><a name="6"><i class="arg">objectName</i> <b class="method">clear</b> <span class="opt">?<i class="arg">key</i>?</span></a></dt> <dd><p>This method resets the state of either the specified <i class="arg">key</i> or of all keys known to the cache, making it unkown. This forces future <b class="method">get</b>-requests to reload the information from the provider.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>cache</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key624">asynchronous</a>, <a href="../../../../index.html#key361">cache</a>, <a href="../../../../index.html#key519">callback</a>, <a href="../../../../index.html#key625">synchronous</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/clock/iso8601.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>clock_iso8601 - Parsing ISO 8601 dates/times</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>clock_iso8601 - Parsing ISO 8601 dates/times</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> |
︙ | ︙ | |||
151 152 153 154 155 156 157 | <b class="option">-base</b>, <b class="option">-gmt</b>, <b class="option">-locale</b>, and <b class="option">-timezone</b> of the builtin command <b class="cmd">clock scan</b>.</p></dd> </dl> </div> | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <b class="option">-base</b>, <b class="option">-gmt</b>, <b class="option">-locale</b>, and <b class="option">-timezone</b> of the builtin command <b class="cmd">clock scan</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>clock::iso8601</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/clock/rfc2822.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>clock_rfc2822 - Parsing ISO 8601 dates/times</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>clock_rfc2822 - Parsing ISO 8601 dates/times</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.5</b></li> |
︙ | ︙ | |||
136 137 138 139 140 141 142 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::clock::rfc2822 parse_date</b> <i class="arg">date</i></a></dt> <dd><p>This command parses an RFC2822 date string and returns the given date in seconds since epoch. An error is thrown if the command is unable to parse the date.</p></dd> </dl> </div> | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::clock::rfc2822 parse_date</b> <i class="arg">date</i></a></dt> <dd><p>This command parses an RFC2822 date string and returns the given date in seconds since epoch. An error is thrown if the command is unable to parse the date.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>clock::rfc2822</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/cmdline/cmdline.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">::argv handling</a></li> <li class="section"><a href="#section3">API</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">::argv handling</a></li> <li class="section"><a href="#section3">API</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
244 245 246 247 248 249 250 | </pre> <p>This example, taken (and slightly modified) from the package <b class="package"><a href="../fileutil/fileutil.html">fileutil</a></b>, shows how to use cmdline. First, a list of options is created, then the 'args' list is passed to cmdline for processing. Subsequently, different options are checked to see if they have been passed to the script, and what their value is.</p> </div> | | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | </pre> <p>This example, taken (and slightly modified) from the package <b class="package"><a href="../fileutil/fileutil.html">fileutil</a></b>, shows how to use cmdline. First, a list of options is created, then the 'args' list is passed to cmdline for processing. Subsequently, different options are checked to see if they have been passed to the script, and what their value is.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>cmdline</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key251">argument processing</a>, <a href="../../../../index.html#key250">argv</a>, <a href="../../../../index.html#key249">argv0</a>, <a href="../../../../index.html#key252">cmdline processing</a>, <a href="../../../../index.html#key248">command line processing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/comm/comm.html.
︙ | ︙ | |||
439 440 441 442 443 444 445 | <b class="variable">chan</b>, <b class="variable">id</b></p> <p>This hook is invoked before making a connection to the remote named in <i class="arg">id</i>. An error return (via <b class="cmd"><a href="../../../../index.html#key171">error</a></b>) will abort the connection attempt with the error. Example:</p> <pre class="example"> % ::comm::comm hook connecting { if {[string match {*[02468]} $id]} { | | | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | <b class="variable">chan</b>, <b class="variable">id</b></p> <p>This hook is invoked before making a connection to the remote named in <i class="arg">id</i>. An error return (via <b class="cmd"><a href="../../../../index.html#key171">error</a></b>) will abort the connection attempt with the error. Example:</p> <pre class="example"> % ::comm::comm hook connecting { if {[string match {*[02468]} $id]} { error "Can't connect to even ids" } } % ::comm::comm send 10000 puts ok Connect to remote failed: Can't connect to even ids % </pre> </dd> |
︙ | ︙ | |||
652 653 654 655 656 657 658 | </div> <div id="subsection12" class="subsection"><h3><a name="subsection12">Blocking Semantics</a></h3> <p>There is one outstanding difference between <b class="package">comm</b> and <b class="cmd"><a href="../../../../index.html#key336">send</a></b>. When blocking in a synchronous remote command, <b class="cmd"><a href="../../../../index.html#key336">send</a></b> uses an internal C hook (Tk_RestrictEvents) to the event loop to look ahead for send-related events and only process those without processing any other events. In contrast, <b class="package">comm</b> uses the | | | | | | 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 | </div> <div id="subsection12" class="subsection"><h3><a name="subsection12">Blocking Semantics</a></h3> <p>There is one outstanding difference between <b class="package">comm</b> and <b class="cmd"><a href="../../../../index.html#key336">send</a></b>. When blocking in a synchronous remote command, <b class="cmd"><a href="../../../../index.html#key336">send</a></b> uses an internal C hook (Tk_RestrictEvents) to the event loop to look ahead for send-related events and only process those without processing any other events. In contrast, <b class="package">comm</b> uses the <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b> command as a semaphore to indicate the return message has arrived. The difference is that a synchronous <b class="cmd"><a href="../../../../index.html#key336">send</a></b> will block the application and prevent all events (including window related ones) from being processed, while a synchronous <b class="cmd">::comm::comm send</b> will block the application but still allow other events to get processed. In particular, <b class="cmd">after idle</b> handlers will fire immediately when comm blocks.</p> <p>What can be done about this? First, note that this behavior will come from any code using <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b> to block and wait for an event to occur. At the cost of multiple channel support, <b class="package">comm</b> could be changed to do blocking I/O on the socket, giving send-like blocking semantics. However, multiple channel support is a very useful feature of comm that it is deemed too important to lose. The remaining approaches involve a new loadable module written in C (which is somewhat against the philosophy of <b class="cmd">comm</b>) One way would be to create a modified version of the <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b> command that allow the event flags passed to Tcl_DoOneEvent to be specified. For <b class="cmd">comm</b>, just the TCL_FILE_EVENTS would be processed. Another way would be to implement a mechanism like Tk_RestrictEvents, but apply it to the Tcl event loop (since <b class="package">comm</b> doesn't require Tk). One of these approaches will be available in a future <b class="package">comm</b> release as an optional component.</p> </div> <div id="subsection13" class="subsection"><h3><a name="subsection13">Asynchronous Result Generation</a></h3> <p>By default the result returned by a remotely invoked command is the result sent back to the invoker. This means that the result is generated synchronously, and the server handling the call is blocked for the duration of the command.</p> <p>While this is tolerable as long as only short-running commands are invoked on the server long-running commands, like database queries make this a problem. One command can prevent the processing requests of all other clients for an arbitrary period of time.</p> <p>Before version 4.5 of comm the only solution was to rewrite the server command to use the Tcl builtin command <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>, or one of its relatives like <b class="cmd">tkwait</b>, to open a new event loop which processes requests while the long-running operation is executed. This however has its own perils, as this makes it possible to both overflow the Tcl stack with a large number of event loop, and to have a newer requests block the return of older ones, as the eventloop have to be unwound in the order of their creation.</p> <p>The proper solution is to have the invoked command indicate to |
︙ | ︙ | |||
792 793 794 795 796 797 798 | socket is opened. The envisioned main use is the specification of the <b class="cmd">tls::socket</b> command, see package <b class="package"><a href="../../../../index.html#key311">tls</a></b>, to secure the communication.</p></dd> <dt>4.5.7</dt> <dd><p>Changed handling of ports already in use to provide a proper error message.</p></dd> <dt>4.5.6</dt> | | | | | | 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 | socket is opened. The envisioned main use is the specification of the <b class="cmd">tls::socket</b> command, see package <b class="package"><a href="../../../../index.html#key311">tls</a></b>, to secure the communication.</p></dd> <dt>4.5.7</dt> <dd><p>Changed handling of ports already in use to provide a proper error message.</p></dd> <dt>4.5.6</dt> <dd><p>Bugfix in the replacement for <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>, made robust against of variable names containing spaces.</p></dd> <dt>4.5.5</dt> <dd><p>Bugfix in the handling of hooks, typo in variable name.</p></dd> <dt>4.5.4</dt> <dd><p>Bugfix in the handling of the result received by the <b class="method">send</b> method. Replaced an <em>after idle unset result</em> with an immediate <b class="cmd">unset</b>, with the information saved to a local variable.</p> <p>The <b class="cmd">after idle</b> can spill into a forked child process if there is no event loop between its setup and the fork. This may bork the child if the next event loop is the <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b> of <b class="package">comm</b>'s <b class="method">send</b> a few lines above the <b class="cmd">after idle</b>, and the child used the same serial number for its next request. In that case the parent's <b class="cmd">after idle unset</b> will delete the very array element the child is waiting for, unlocking the <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>, causing it to access a now missing array element, instead of the expected result.</p></dd> <dt>4.5.3</dt> <dd><p>Bugfixes in the wrappers for the builtin <b class="cmd"><a href="../../../../index.html#key394">update</a></b> and <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b> commands.</p></dd> <dt>4.5.2</dt> <dd><p>Bugfix in the wrapper for the builtin <b class="cmd"><a href="../../../../index.html#key394">update</a></b> command.</p></dd> <dt>4.5.1</dt> <dd><p>Bugfixes in the handling of -interp for regular scripts. The handling of the buffer was wrong for scripts which are a single statement as list. Fixed missing argument to new command <b class="cmd">commSendReply</b>, |
︙ | ︙ | |||
989 990 991 992 993 994 995 | <b class="package">comm</b> and has built a simple nameserver as part of his Pool library. See <a href="http://www.purl.org/net/akupries/soft/pool/index.htm">http://www.purl.org/net/akupries/soft/pool/index.htm</a>.</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>comm</em> of the | | | | 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 | <b class="package">comm</b> and has built a simple nameserver as part of his Pool library. See <a href="http://www.purl.org/net/akupries/soft/pool/index.htm">http://www.purl.org/net/akupries/soft/pool/index.htm</a>.</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>comm</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>send(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key33">comm</a>, <a href="../../../../index.html#key338">communication</a>, <a href="../../../../index.html#key343">ipc</a>, <a href="../../../../index.html#key344">message</a>, <a href="../../../../index.html#key341">remote communication</a>, <a href="../../../../index.html#key340">remote execution</a>, <a href="../../../../index.html#key337">rpc</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key336">send</a>, <a href="../../../../index.html#key335">socket</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 1995-1998 The Open Group. All Rights Reserved.<br> Copyright © 2003-2004 ActiveState Corporation.<br> Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/comm/comm_wire.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <ul> <li class="subsection"><a href="#subsection1">Basic Layer</a></li> <li class="subsection"><a href="#subsection2">Basic Message Layer</a></li> <li class="subsection"><a href="#subsection3">Negotiation Messages - Initial Handshake</a></li> <li class="subsection"><a href="#subsection4">Script/Command Messages</a></li> </ul> </li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <ul> <li class="subsection"><a href="#subsection1">Basic Layer</a></li> <li class="subsection"><a href="#subsection2">Basic Message Layer</a></li> <li class="subsection"><a href="#subsection3">Negotiation Messages - Initial Handshake</a></li> <li class="subsection"><a href="#subsection4">Script/Command Messages</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | <div id="subsection1" class="subsection"><h3><a name="subsection1">Basic Layer</a></h3> <p>The basic encoding for <em>all</em> data is UTF-8. Because of this binary data, including the NULL character, can be sent over the wire as is, without the need for armoring it.</p> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Basic Message Layer</a></h3> <p>On top of the <span class="sectref"><a href="#subsection1">Basic Layer</a></span> we have a | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | <div id="subsection1" class="subsection"><h3><a name="subsection1">Basic Layer</a></h3> <p>The basic encoding for <em>all</em> data is UTF-8. Because of this binary data, including the NULL character, can be sent over the wire as is, without the need for armoring it.</p> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Basic Message Layer</a></h3> <p>On top of the <span class="sectref"><a href="#subsection1">Basic Layer</a></span> we have a <i class="term">message oriented</i> exchange of data. The totality of all characters written to the channel is a Tcl list, with each element a separate <i class="term"><a href="../../../../index.html#key344">message</a></i>, each itself a list. The messages in the overall list are separated by EOL. Note that EOL characters can occur within the list as well. They can be distinguished from the message-separating EOL by the fact that the data from the beginning up to their location is not a valid Tcl list.</p> <p>EOL is signaled through the linefeed character, i.e <b class="const">LF</b>, or, |
︙ | ︙ | |||
223 224 225 226 227 228 229 | (a') send {array get tcl_platform} (b') send array get tcl_platform (c') send array {get tcl_platform} respectively </pre> <p>Note that (a), generated by (a'), is the usual form, if only single commands are sent by the client. | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | (a') send {array get tcl_platform} (b') send array get tcl_platform (c') send array {get tcl_platform} respectively </pre> <p>Note that (a), generated by (a'), is the usual form, if only single commands are sent by the client. For example constructed using <b class="cmd"><a href="../../../../index.html#key280">list</a></b>, if the command contains variable arguments. Like</p> <pre class="example"> send [list array get $the_variable] </pre> <p>These three instructions all invoke the script on the server side. Their difference is in the treatment of result values, and thus determines if a reply is expected.</p> |
︙ | ︙ | |||
256 257 258 259 260 261 262 | {reply 1 {return -code 0 {}}} {reply 1 {return -code 0 {osVersion 2.4.21-99-default byteOrder littleEndian machine i686 platform unix os Linux user andreask wordSize 4}}} </pre> </dd> </dl> </div> </div> | | | | | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | {reply 1 {return -code 0 {}}} {reply 1 {return -code 0 {osVersion 2.4.21-99-default byteOrder littleEndian machine i686 platform unix os Linux user andreask wordSize 4}}} </pre> </dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>comm</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="comm.html">comm</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key33">comm</a>, <a href="../../../../index.html#key338">communication</a>, <a href="../../../../index.html#key343">ipc</a>, <a href="../../../../index.html#key344">message</a>, <a href="../../../../index.html#key341">remote communication</a>, <a href="../../../../index.html#key340">remote execution</a>, <a href="../../../../index.html#key337">rpc</a>, <a href="../../../../index.html#key335">socket</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Docs. Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/control/control.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LIMITATIONS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LIMITATIONS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
150 151 152 153 154 155 156 | <dd><p>The <b class="cmd">control</b> command is used as a configuration command for customizing the other public commands of the control package. The <i class="arg">command</i> argument names the command to be customized. The set of valid <i class="arg">option</i> and subsequent arguments are determined by the command being customized, and are documented with the command.</p></dd> <dt><a name="2"><b class="cmd">control::assert</b> <i class="arg">expr</i> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> <dd><p>When disabled, the <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> command behaves exactly like the | | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | <dd><p>The <b class="cmd">control</b> command is used as a configuration command for customizing the other public commands of the control package. The <i class="arg">command</i> argument names the command to be customized. The set of valid <i class="arg">option</i> and subsequent arguments are determined by the command being customized, and are documented with the command.</p></dd> <dt><a name="2"><b class="cmd">control::assert</b> <i class="arg">expr</i> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> <dd><p>When disabled, the <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> command behaves exactly like the <b class="cmd"><a href="../../../../index.html#key129">no-op</a></b> command.</p> <p>When enabled, the <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> command evaluates <i class="arg">expr</i> as an expression (in the same way that <b class="cmd">expr</b> evaluates its argument). If evaluation reveals that <i class="arg">expr</i> is not a valid boolean expression (according to [<b class="cmd">string is boolean -strict</b>]), an error is raised. If <i class="arg">expr</i> evaluates to a true boolean value (as recognized by <b class="cmd">if</b>), then <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> returns an empty string. Otherwise, the remaining arguments to <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> are used to construct a message string. If there are no arguments, the message string is "assertion failed: $expr". If there are arguments, they are joined by <b class="cmd"><a href="../../../../index.html#key538">join</a></b> to form the message string. The message string is then appended as an argument to a callback command, and the completed callback command is evaluated in the global namespace.</p> <p>The <b class="cmd"><a href="../../../../index.html#key130">assert</a></b> command can be customized by the <b class="cmd">control</b> command in two ways:</p> <p>[<b class="cmd">control::control assert enabled</b> <span class="opt">?<i class="arg">boolean</i>?</span>] queries or sets whether <b class="cmd">control::assert</b> is enabled. When called without a <i class="arg">boolean</i> argument, a boolean value is returned |
︙ | ︙ | |||
210 211 212 213 214 215 216 | <i class="arg">option</i> and <i class="arg">test</i> are omitted the body is evaluated exactly once. After normal completion, <b class="cmd"><a href="../../../../index.html#key131">do</a></b> returns an empty string. Exceptional return codes (<b class="cmd">break</b>, <b class="cmd">continue</b>, <b class="cmd"><a href="../../../../index.html#key171">error</a></b>, etc.) during the evaluation of <i class="arg">body</i> are handled in the same way the <b class="cmd">while</b> command handles them, except as noted in <span class="sectref"><a href="#section3">LIMITATIONS</a></span>, below.</p></dd> <dt><a name="4"><b class="cmd">control::no-op</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | <i class="arg">option</i> and <i class="arg">test</i> are omitted the body is evaluated exactly once. After normal completion, <b class="cmd"><a href="../../../../index.html#key131">do</a></b> returns an empty string. Exceptional return codes (<b class="cmd">break</b>, <b class="cmd">continue</b>, <b class="cmd"><a href="../../../../index.html#key171">error</a></b>, etc.) during the evaluation of <i class="arg">body</i> are handled in the same way the <b class="cmd">while</b> command handles them, except as noted in <span class="sectref"><a href="#section3">LIMITATIONS</a></span>, below.</p></dd> <dt><a name="4"><b class="cmd">control::no-op</b> <span class="opt">?<i class="arg">arg arg ...</i>?</span></a></dt> <dd><p>The <b class="cmd"><a href="../../../../index.html#key129">no-op</a></b> command takes any number of arguments and does nothing. It returns an empty string.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">LIMITATIONS</a></h2> <p>Several of the commands provided by the <b class="cmd">control</b> package accept arguments that are scripts to be evaluated. Due to fundamental limitations of Tcl's <b class="cmd">catch</b> and <b class="cmd">return</b> commands, it is not |
︙ | ︙ | |||
235 236 237 238 239 240 241 | % proc b {} {control::do {return -code error b} while 1} % catch a 1 % catch b 0 </pre> </div> | | | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | % proc b {} {control::do {return -code error b} while 1} % catch a 1 % catch b 0 </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>control</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>break, continue, expr, if, <a href="../../../../index.html#key538">join</a>, namespace, return, <a href="../../../../index.html#key270">string</a>, while</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key130">assert</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key131">do</a>, <a href="../../../../index.html#key127">flow</a>, <a href="../../../../index.html#key129">no-op</a>, <a href="../../../../index.html#key128">structure</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/coroutine/coro_auto.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>coroutine::auto - Automatic event and IO coroutine awareness</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>coroutine::auto - Automatic event and IO coroutine awareness</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
137 138 139 140 141 142 143 | directly visible functionality. Built on top of the package <b class="package"><a href="tcllib_coroutine.html">coroutine</a></b>, it intercepts various builtin commands of the Tcl core to make any code using them coroutine-oblivious, i.e. able to run inside and outside of a coroutine without changes.</p> <p>The commands so affected by this package are</p> <dl class="definitions"> | | | | | | | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | directly visible functionality. Built on top of the package <b class="package"><a href="tcllib_coroutine.html">coroutine</a></b>, it intercepts various builtin commands of the Tcl core to make any code using them coroutine-oblivious, i.e. able to run inside and outside of a coroutine without changes.</p> <p>The commands so affected by this package are</p> <dl class="definitions"> <dt><b class="cmd"><a href="../../../../index.html#key391">after</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key392">exit</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key393">gets</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key390">global</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key388">read</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key394">update</a></b></dt> <dd></dd> <dt><b class="cmd"><a href="../../../../index.html#key395">vwait</a></b></dt> <dd></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>coroutine</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key391">after</a>, <a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key210">coroutine</a>, <a href="../../../../index.html#key389">events</a>, <a href="../../../../index.html#key392">exit</a>, <a href="../../../../index.html#key393">gets</a>, <a href="../../../../index.html#key390">global</a>, <a href="../../../../index.html#key396">green threads</a>, <a href="../../../../index.html#key388">read</a>, <a href="../../../../index.html#key387">threads</a>, <a href="../../../../index.html#key394">update</a>, <a href="../../../../index.html#key395">vwait</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Coroutine</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010-2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/coroutine/tcllib_coroutine.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | <dd><p>This command causes the coroutine invoking it to run pending events or idle handlers before proceeding.</p></dd> <dt><a name="9"><b class="cmd">coroutine::util vwait</b> <i class="arg">varname</i></a></dt> <dd><p>This command causes the coroutine calling it to wait for a write to the named namespace variable <i class="arg">varname</i>.</p></dd> </dl> </div> | | | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | <dd><p>This command causes the coroutine invoking it to run pending events or idle handlers before proceeding.</p></dd> <dt><a name="9"><b class="cmd">coroutine::util vwait</b> <i class="arg">varname</i></a></dt> <dd><p>This command causes the coroutine calling it to wait for a write to the named namespace variable <i class="arg">varname</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>coroutine</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key391">after</a>, <a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key210">coroutine</a>, <a href="../../../../index.html#key389">events</a>, <a href="../../../../index.html#key392">exit</a>, <a href="../../../../index.html#key393">gets</a>, <a href="../../../../index.html#key390">global</a>, <a href="../../../../index.html#key396">green threads</a>, <a href="../../../../index.html#key388">read</a>, <a href="../../../../index.html#key387">threads</a>, <a href="../../../../index.html#key394">update</a>, <a href="../../../../index.html#key395">vwait</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Coroutine</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010-2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/counter/counter.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>counter - Procedures for counters and histograms</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>counter - Procedures for counters and histograms</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
279 280 281 282 283 284 285 | </dl></dd> <dt><a name="9"><b class="cmd">::counter::reset</b> <i class="arg">tag args</i></a></dt> <dd><p>Resets the counter with the name <i class="arg">tag</i> to an initial state. The <i class="arg">args</i> determine the new characteristics of the counter. They have the same meaning as described for <b class="cmd">::counter::init</b>.</p></dd> </dl> </div> | | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | </dl></dd> <dt><a name="9"><b class="cmd">::counter::reset</b> <i class="arg">tag args</i></a></dt> <dd><p>Resets the counter with the name <i class="arg">tag</i> to an initial state. The <i class="arg">args</i> determine the new characteristics of the counter. They have the same meaning as described for <b class="cmd">::counter::init</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>counter</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key698">counting</a>, <a href="../../../../index.html#key697">histogram</a>, <a href="../../../../index.html#key187">statistics</a>, <a href="../../../../index.html#key696">tallying</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/crc/cksum.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
180 181 182 183 184 185 186 | the interactive nature of a GUI application and can help to avoid excessive memory consumption.</p> <dl class="definitions"> <dt><a name="2"><b class="cmd">::crc::CksumInit</b></a></dt> <dd><p>Begins a new cksum context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required.</p></dd> <dt><a name="3"><b class="cmd">::crc::CksumUpdate</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> | | | | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | the interactive nature of a GUI application and can help to avoid excessive memory consumption.</p> <dl class="definitions"> <dt><a name="2"><b class="cmd">::crc::CksumInit</b></a></dt> <dd><p>Begins a new cksum context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required.</p></dd> <dt><a name="3"><b class="cmd">::crc::CksumUpdate</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the checksum identified by token. Calling <em>CksumUpdate $token "abcd"</em> is equivalent to calling <em>CksumUpdate $token "ab"</em> followed by <em>CksumUpdate $token "cb"</em>. See <span class="sectref"><a href="#section5">EXAMPLES</a></span>.</p></dd> <dt><a name="4"><b class="cmd">::crc::CksumFinal</b> <i class="arg">token</i></a></dt> <dd><p>Returns the checksum value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a 32 bit integer value.</p></dd> </dl> </div> |
︙ | ︙ | |||
214 215 216 217 218 219 220 | % crc::CksumFinal $tok 2609532967 </pre> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | % crc::CksumFinal $tok 2609532967 </pre> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>crc</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key157">cksum</a>, <a href="../../../../index.html#key154">crc</a>, <a href="../../../../index.html#key155">crc32</a>, <a href="../../../../index.html#key156">cyclic redundancy check</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/crc/crc16.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
225 226 227 228 229 230 231 | % crc::crc16 -file crc16.tcl 51675 </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | % crc::crc16 -file crc16.tcl 51675 </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>crc</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key157">cksum</a>, <a href="../../../../index.html#key154">crc</a>, <a href="../../../../index.html#key795">crc16</a>, <a href="../../../../index.html#key155">crc32</a>, <a href="../../../../index.html#key156">cyclic redundancy check</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/crc/crc32.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
177 178 179 180 181 182 183 | is 0xffffffff. This can be useful for calculating the CRC for data structures without first converting the whole structure into a string. The CRC of the previous member can be used as the seed for calculating the CRC of the next member. Note that the crc32 algorithm includes a final XOR step. If incremental processing is desired then this must be undone before using the output of the algorithm as the seed for further | | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | is 0xffffffff. This can be useful for calculating the CRC for data structures without first converting the whole structure into a string. The CRC of the previous member can be used as the seed for calculating the CRC of the next member. Note that the crc32 algorithm includes a final XOR step. If incremental processing is desired then this must be undone before using the output of the algorithm as the seed for further processing. A simpler alternative is to use the <span class="sectref"><a href="#section4">PROGRAMMING INTERFACE</a></span> which is intended for this mode of operation.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">PROGRAMMING INTERFACE</a></h2> <p>The CRC-32 package implements the checksum using a context variable to which additional data can be added at any time. This is expecially useful in an event based environment such as a Tk application or a web server package. Data to be checksummed may be handled incrementally during a <b class="cmd">fileevent</b> handler in discrete chunks. This can improve the interactive nature of a GUI application and can help to avoid excessive memory consumption.</p> <dl class="definitions"> <dt><a name="2"><b class="cmd">::crc::Crc32Init</b> <span class="opt">?<i class="arg">seed</i>?</span></a></dt> <dd><p>Begins a new CRC32 context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required.</p></dd> <dt><a name="3"><b class="cmd">::crc::Crc32Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the checksum identified by token. Calling <em>Crc32Update $token "abcd"</em> is equivalent to calling <em>Crc32Update $token "ab"</em> followed by <em>Crc32Update $token "cb"</em>. See <span class="sectref"><a href="#section5">EXAMPLES</a></span>.</p></dd> <dt><a name="4"><b class="cmd">::crc::Crc32Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the checksum value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a 32 bit integer value.</p></dd> </dl> </div> |
︙ | ︙ | |||
229 230 231 232 233 234 235 | % crc::Crc32Final $tok 3964322768 </pre> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | % crc::Crc32Final $tok 3964322768 </pre> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>crc</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc16.html">crc16(n)</a>, <a href="sum.html">sum(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key157">cksum</a>, <a href="../../../../index.html#key154">crc</a>, <a href="../../../../index.html#key155">crc32</a>, <a href="../../../../index.html#key156">cyclic redundancy check</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/crc/sum.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
189 190 191 192 193 194 195 | % crc::sum -file sum.tcl 13392 </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | % crc::sum -file sum.tcl 13392 </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>crc</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="cksum.html">cksum(n)</a>, <a href="crc32.html">crc32(n)</a>, sum(1)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key157">cksum</a>, <a href="../../../../index.html#key154">crc</a>, <a href="../../../../index.html#key155">crc32</a>, <a href="../../../../index.html#key156">cyclic redundancy check</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key148">security</a>, <a href="../../../../index.html#key567">sum</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/csv/csv.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">FORMAT</a></li> <li class="section"><a href="#section4">EXAMPLE</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">FORMAT</a></li> <li class="section"><a href="#section4">EXAMPLE</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
295 296 297 298 299 300 301 | b) 123,521.2 c) Mary says "Hello, I am Mary" d) (the empty string) </pre> <p>instead. As can be seen only item (d) is different, now the empty string instead of a ".</p> </div> | | | | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | b) 123,521.2 c) Mary says "Hello, I am Mary" d) (the empty string) </pre> <p>instead. As can be seen only item (d) is different, now the empty string instead of a ".</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>csv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key55">matrix</a>, <a href="../../../../index.html#key54">queue</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/debug/debug.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
269 270 271 272 273 274 275 | <p>Note how this is tag-independent.</p> <p>Further note that the trailer substitution happens only once per actual printed message, i.e. all lines of the same message will have the same actual trailing text.</p> <p>The result of the method is the specified text.</p></dd> </dl> </div> | | | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | <p>Note how this is tag-independent.</p> <p>Further note that the trailer substitution happens only once per actual printed message, i.e. all lines of the same message will have the same actual trailing text.</p> <p>The result of the method is the specified text.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>debug</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key72">debug</a>, <a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key68">narrative</a>, <a href="../../../../index.html#key70">trace</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200?, Colin McCormack, Wub Server Utilities<br> Copyright © 2012, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/debug/debug_caller.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
148 149 150 151 152 153 154 | message, when only specific places need such detail.</p> <p>Beyond that it contains code recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability.</p></dd> </dl> </div> | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | message, when only specific places need such detail.</p> <p>Beyond that it contains code recognizing the various internal forms of method calls generated by the <b class="package"><a href="../snit/snit.html">snit</a></b> OO system and rewrites these to their original form, for better readability.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>debug</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key72">debug</a>, <a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key68">narrative</a>, <a href="../../../../index.html#key70">trace</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2012, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/debug/debug_heartbeat.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | <p>A <i class="arg">delta</i>-value <= 0 disables the heartbeat.</p> <p>The message produced by the heartbeat contains a sequence counter and the time in milliseconds since the last beat, thus providing insight into timing variationsn and deviations from the nominal <i class="arg">delta</i>.</p></dd> </dl> </div> | | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | <p>A <i class="arg">delta</i>-value <= 0 disables the heartbeat.</p> <p>The message produced by the heartbeat contains a sequence counter and the time in milliseconds since the last beat, thus providing insight into timing variationsn and deviations from the nominal <i class="arg">delta</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>debug</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key72">debug</a>, <a href="../../../../index.html#key691">heartbeat</a>, <a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key68">narrative</a>, <a href="../../../../index.html#key70">trace</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200?, Colin McCormack, Wub Server Utilities<br> Copyright © 2012, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/debug/debug_timestamp.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
142 143 144 145 146 147 148 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">timestamp</b></a></dt> <dd><p>This method returns millisecond timing information since a baseline or last call, making it useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p></dd> </dl> </div> | | | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | <dt><a name="1"><b class="cmd"><a href="debug.html">debug</a></b> <b class="method">timestamp</b></a></dt> <dd><p>This method returns millisecond timing information since a baseline or last call, making it useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>debug</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key72">debug</a>, <a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key68">narrative</a>, <a href="../../../../index.html#key71">timestamps</a>, <a href="../../../../index.html#key70">trace</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>debugging, tracing, and logging</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200?, Colin McCormack, Wub Server Utilities<br> Copyright © 2012, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/des/des.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">MODES OF OPERATION</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">AUTHORS</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">MODES OF OPERATION</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">AUTHORS</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | Technology (NIST) [1]. This implementation also supports triple DES (3DES) extension to DES. DES is a 64-bit block cipher that uses a 56-bit key. 3DES uses a 168-bit key. DES has now officially been superceeded by AES but is in common use in many protocols.</p> <p>The tcllib implementation of DES and 3DES uses an implementation by Mac Cody and is available as a separate download from [2]. For anyone concerned about the details of exporting this code please see | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | Technology (NIST) [1]. This implementation also supports triple DES (3DES) extension to DES. DES is a 64-bit block cipher that uses a 56-bit key. 3DES uses a 168-bit key. DES has now officially been superceeded by AES but is in common use in many protocols.</p> <p>The tcllib implementation of DES and 3DES uses an implementation by Mac Cody and is available as a separate download from [2]. For anyone concerned about the details of exporting this code please see the TclDES web pages. The tcllib specific code is a wrapper to the TclDES API that presents same API for the DES cipher as for other ciphers in the library.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::DES::des</b> <span class="opt">?<i class="arg">-mode [ecb|cbc|cfb|ofb]</i>?</span> <span class="opt">?<i class="arg">-dir [encrypt|decrypt]</i>?</span> <i class="arg">-key keydata</i> <span class="opt">?<i class="arg">-iv vector</i>?</span> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-weak</i>?</span> <span class="opt">?<i class="arg">-out channel</i>?</span> <span class="opt">?<i class="arg">-chunksize size</i>?</span> [ <i class="arg">-in channel</i> | <i class="arg">data</i> ]</a></dt> <dd><p>Perform the <b class="package"><a href="../../../../index.html#key632">DES</a></b> algorithm on either the data provided by the argument or on the data read from the <i class="arg">-in</i> channel. If an <i class="arg">-out</i> channel is given then the result will be written to this channel.</p> <p>The <i class="arg">-key</i> option must be given. This parameter takes a binary string of 8 bytes in length and is used to generate the key schedule. In DES only 56 bits of key data are used. The highest bit from each byte is discarded.</p> <p>The <i class="arg">-mode</i> and <i class="arg">-dir</i> options are optional and default to cbc mode and encrypt respectively. The initialization vector <i class="arg">-iv</i> takes an 8 byte binary argument. This defaults to all zeros. See <span class="sectref"><a href="#section4">MODES OF OPERATION</a></span> for more about <i class="arg">-mode</i> and the use of the initialization vector.</p> <p>DES is a 64-bit block cipher. This means that the data must be provided in units that are a multiple of 8 bytes.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> |
︙ | ︙ | |||
264 265 266 267 268 269 270 | Federal Information Processing Standards Publication 46-3, 1999, (<a href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf">http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf</a>)</p></li> <li><p>"TclDES: munitions-grade Tcl scripting" <a href="http://tcldes.sourceforge.net/">http://tcldes.sourceforge.net/</a></p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> | | | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | Federal Information Processing Standards Publication 46-3, 1999, (<a href="http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf">http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf</a>)</p></li> <li><p>"TclDES: munitions-grade Tcl scripting" <a href="http://tcldes.sourceforge.net/">http://tcldes.sourceforge.net/</a></p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">AUTHORS</a></h2> <p>Jochen C Loewer, Mac Cody, Pat Thoyts</p> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>des</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../aes/aes.html">aes(n)</a>, <a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../rc4/rc4.html">rc4(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key634">3DES</a>, <a href="../../../../index.html#key632">DES</a>, <a href="../../../../index.html#key633">block cipher</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/dns/tcllib_dns.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | few other systems. This package is not a substitute for the C library resolver - it does however implement name resolution over DNS. The package also extends the package <b class="package"><a href="../uri/uri.html">uri</a></b> to support DNS URIs (4) of the form <a href="dns:what.host.com">dns:what.host.com</a> or <a href="dns://my.nameserver/what.host.com">dns://my.nameserver/what.host.com</a>. The <b class="cmd">dns::resolve</b> command can handle DNS URIs or simple domain names as a query.</p> <p><em>Note:</em> The package defaults to using DNS over TCP | | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | few other systems. This package is not a substitute for the C library resolver - it does however implement name resolution over DNS. The package also extends the package <b class="package"><a href="../uri/uri.html">uri</a></b> to support DNS URIs (4) of the form <a href="dns:what.host.com">dns:what.host.com</a> or <a href="dns://my.nameserver/what.host.com">dns://my.nameserver/what.host.com</a>. The <b class="cmd">dns::resolve</b> command can handle DNS URIs or simple domain names as a query.</p> <p><em>Note:</em> The package defaults to using DNS over TCP connections. If you wish to use UDP you will need to have the <b class="package">tcludp</b> package installed and have a version that correctly handles binary data (> 1.0.4). This is available at <a href="http://tcludp.sourceforge.net/">http://tcludp.sourceforge.net/</a>. If the <b class="package">udp</b> package is present then UDP will be used by default.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::dns::resolve</b> <i class="arg">query</i> <span class="opt">?<i class="arg">options</i>?</span></a></dt> <dd><p>Resolve a domain name using the <i class="term"><a href="../../../../index.html#key579">DNS</a></i> protocol. <i class="arg">query</i> is the domain name to be lookup up. This should be either a fully |
︙ | ︙ | |||
187 188 189 190 191 192 193 | <dd><p>Specify an alternative port.</p></dd> <dt><b class="cmd">-search</b> <i class="arg">domainlist</i></dt> <dd></dd> <dt><b class="cmd">-timeout</b> <i class="arg">milliseconds</i></dt> <dd><p>Override the default timeout.</p></dd> <dt><b class="cmd">-type</b> <i class="arg">TYPE</i></dt> <dd><p>Specify the type of DNS record you are interested in. Valid values | | | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | <dd><p>Specify an alternative port.</p></dd> <dt><b class="cmd">-search</b> <i class="arg">domainlist</i></dt> <dd></dd> <dt><b class="cmd">-timeout</b> <i class="arg">milliseconds</i></dt> <dd><p>Override the default timeout.</p></dd> <dt><b class="cmd">-type</b> <i class="arg">TYPE</i></dt> <dd><p>Specify the type of DNS record you are interested in. Valid values are A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, MINFO, MX, TXT, SPF, SRV, AAAA, AXFR, MAILB, MAILA and *. See RFC1035 for details about the return values. See <a href="http://spf.pobox.com/">http://spf.pobox.com/</a> about SPF. See (3) about AAAA records and RFC2782 for details of SRV records.</p></dd> <dt><b class="cmd">-class</b> <i class="arg">CLASS</i></dt> <dd><p>Specify the class of domain name. This is usually IN but may be one of IN for internet domain names, CS, CH, HS or * for any class.</p></dd> <dt><b class="cmd">-recurse</b> <i class="arg">boolean</i></dt> <dd><p>Set to <i class="arg">false</i> if you do not want the name server to recursively act upon your request. Normally set to <i class="arg">true</i>.</p></dd> <dt><b class="cmd">-command</b> <i class="arg">procname</i></dt> <dd><p>Set a procedure to be called upon request completion. The procedure will be passed the token as its only argument.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">::dns::configure</b> <span class="opt">?<i class="arg">options</i>?</span></a></dt> <dd><p>The <b class="cmd">::dns::configure</b> command is used to setup the dns package. The server to query, the protocol and domain search path are all set via this command. If no arguments are provided then a list of all the current settings is returned. If only one argument then it |
︙ | ︙ | |||
308 309 310 311 312 313 314 | RFC 1995, August 1996, (<a href="http://www.ietf.org/rfc/rfc1995.txt">http://www.ietf.org/rfc/rfc1995.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | RFC 1995, August 1996, (<a href="http://www.ietf.org/rfc/rfc1995.txt">http://www.ietf.org/rfc/rfc1995.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>dns</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>resolver(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key579">DNS</a>, <a href="../../../../index.html#key582">domain name service</a>, <a href="../../../../index.html#key581">resolver</a>, <a href="../../../../index.html#key583">rfc 1034</a>, <a href="../../../../index.html#key578">rfc 1035</a>, <a href="../../../../index.html#key580">rfc 1886</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Pat Thoyts</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/dns/tcllib_ip.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
183 184 185 186 187 188 189 | <dd><p>Compare two address specifications for equivalence. The arguments are normalized and the address prefix determined (if a mask is supplied). The normalized addresses are then compared bit-by-bit and the procedure returns true if they match.</p></dd> <dt><a name="4"><b class="cmd">::ip::normalize</b> <i class="arg">address</i></a></dt> <dd><p>Convert an IPv4 or IPv6 address into a fully expanded version. There are various shorthand ways to write internet addresses, missing out | | | 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | <dd><p>Compare two address specifications for equivalence. The arguments are normalized and the address prefix determined (if a mask is supplied). The normalized addresses are then compared bit-by-bit and the procedure returns true if they match.</p></dd> <dt><a name="4"><b class="cmd">::ip::normalize</b> <i class="arg">address</i></a></dt> <dd><p>Convert an IPv4 or IPv6 address into a fully expanded version. There are various shorthand ways to write internet addresses, missing out redundant parts or digts.. This procedure is the opposite of <b class="cmd">contract</b>.</p></dd> <dt><a name="5"><b class="cmd">::ip::contract</b> <i class="arg">address</i></a></dt> <dd><p>Convert a <b class="cmd">normalize</b>d internet address into a more compact form suitable for displaying to users.</p></dd> <dt><a name="6"><b class="cmd">::ip::prefix</b> <i class="arg">address</i></a></dt> <dd><p>Returns the address prefix generated by masking the address part with the mask if provided. If there is no mask then it is equivalent to |
︙ | ︙ | |||
434 435 436 437 438 439 440 | RFC 3513, April 2003 (<a href="http://www.ietf.org/rfc/rfc3513.txt">http://www.ietf.org/rfc/rfc3513.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | RFC 3513, April 2003 (<a href="http://www.ietf.org/rfc/rfc3513.txt">http://www.ietf.org/rfc/rfc3513.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>dns</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>inet(3), ip(7), ipv6(7)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/docstrip/docstrip.html.
︙ | ︙ | |||
448 449 450 451 452 453 454 | trimmed away before the line is processed. Defaults to true.</p></dd> </dl> <p>It should be remarked that the <i class="arg">terminals</i> are often called "options" in the context of the <b class="syscmd">docstrip</b> program, since these specify which optional code fragments should be included.</p></dd> <dt><a name="2"><b class="cmd">docstrip::sourcefrom</b> <i class="arg">filename</i> <i class="arg">terminals</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>The <b class="cmd">sourcefrom</b> command is a docstripping emulation of | | | | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 | trimmed away before the line is processed. Defaults to true.</p></dd> </dl> <p>It should be remarked that the <i class="arg">terminals</i> are often called "options" in the context of the <b class="syscmd">docstrip</b> program, since these specify which optional code fragments should be included.</p></dd> <dt><a name="2"><b class="cmd">docstrip::sourcefrom</b> <i class="arg">filename</i> <i class="arg">terminals</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i> ...?</span></a></dt> <dd><p>The <b class="cmd">sourcefrom</b> command is a docstripping emulation of <b class="cmd"><a href="../../../../index.html#key411">source</a></b>. It opens the file <i class="arg">filename</i>, reads it, closes it, docstrips the contents as specified by the <i class="arg">terminals</i>, and evaluates the result in the local context of the caller, during which time the <b class="cmd"><a href="../../../../index.html#key91">info</a></b> <b class="method">script</b> value will be the <i class="arg">filename</i>. The options are passed on to <b class="cmd">fconfigure</b> to configure the file before its contents are read. The <b class="option">-metaprefix</b> is set to '#', all other <b class="cmd">extract</b> options have their default values.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Document structure</a></h2> |
︙ | ︙ | |||
512 513 514 515 516 517 518 | files containing Tcl code. More information on this matter can be found in the references above.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip_util.html">docstrip_util</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 | files containing Tcl code. More information on this matter can be found in the references above.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip_util.html">docstrip_util</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key414">.dtx</a>, <a href="../../../../index.html#key413">LaTeX</a>, <a href="../../../../index.html#key410">docstrip</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key412">literate programming</a>, <a href="../../../../index.html#key411">source</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003–2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/docstrip/docstrip_util.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">docstrip::util</b> package is meant for collecting various utility procedures that are mainly useful at installation or development time. It is separate from the base package to avoid | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">docstrip::util</b> package is meant for collecting various utility procedures that are mainly useful at installation or development time. It is separate from the base package to avoid overhead when the latter is used to <b class="cmd"><a href="../../../../index.html#key411">source</a></b> code.</p> </div> <div id="section2" class="section"><h2><a name="section2">Package indexing commands</a></h2> <p>Like raw "<b class="file">.tcl</b>" files, code lines in docstrip source files can be searched for package declarations and corresponding indices constructed. A complication is however that one cannot tell from the code blocks themselves which will fit together to make a working package; normally that information would be found in an accompanying |
︙ | ︙ | |||
303 304 305 306 307 308 309 | to false, in which case there is no particular return value.</p></dd> <dt><b class="option">-reportcmd</b> <i class="arg">commandPrefix</i></dt> <dd><p>Every item in the report is handed as an extra argument to the command prefix. Since <b class="cmd">index_from_catalogue</b> would typically be used at a rather high level in installation scripts and the like, the <i class="arg">commandPrefix</i> defaults to "<b class="cmd">puts</b> <b class="const">stdout</b>". | | | 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | to false, in which case there is no particular return value.</p></dd> <dt><b class="option">-reportcmd</b> <i class="arg">commandPrefix</i></dt> <dd><p>Every item in the report is handed as an extra argument to the command prefix. Since <b class="cmd">index_from_catalogue</b> would typically be used at a rather high level in installation scripts and the like, the <i class="arg">commandPrefix</i> defaults to "<b class="cmd">puts</b> <b class="const">stdout</b>". Use <b class="cmd"><a href="../../../../index.html#key280">list</a></b> to effectively disable this feature. The return values from the prefix are ignored.</p></dd> </dl> <p>The <b class="cmd">package ifneeded</b> scripts that are generated contain one <b class="cmd">package require docstrip</b> command and one <b class="cmd">docstrip::sourcefrom</b> command. If the catalogue entry was of the <b class="cmd">pkgProvide</b> kind then the <b class="cmd">package ifneeded</b> script also contains the <b class="cmd">package provide</b> command.</p> |
︙ | ︙ | |||
372 373 374 375 376 377 378 | with a <i class="arg">metaprefix</i> of '##'.</p></dd> <dt><b class="option">-report</b> <i class="arg">boolean</i></dt> <dd><p>If the <i class="arg">boolean</i> is true (which is the default) then the return value will be a textual, probably multiline, report on what was done. If it is false then there is no particular return value.</p></dd> <dt><b class="option">-reportcmd</b> <i class="arg">commandPrefix</i></dt> <dd><p>Every item in the report is handed as an extra argument to this | | | 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | with a <i class="arg">metaprefix</i> of '##'.</p></dd> <dt><b class="option">-report</b> <i class="arg">boolean</i></dt> <dd><p>If the <i class="arg">boolean</i> is true (which is the default) then the return value will be a textual, probably multiline, report on what was done. If it is false then there is no particular return value.</p></dd> <dt><b class="option">-reportcmd</b> <i class="arg">commandPrefix</i></dt> <dd><p>Every item in the report is handed as an extra argument to this command prefix. Defaults to <b class="cmd"><a href="../../../../index.html#key280">list</a></b>, which effectively disables this feature. The return values from the prefix are ignored. Use for example "<b class="cmd">puts</b> <b class="const">stdout</b>" to get report items written immediately to the terminal.</p></dd> </dl> <p>An existing file of the same name as one to be created will be overwritten.</p></dd> <dt><a name="6"><b class="cmd">docstrip::util::classical_preamble</b> <i class="arg">metaprefix</i> <i class="arg">message</i> <i class="arg">target</i> <span class="opt">?<i class="arg">source</i> <i class="arg">terminals</i> ...?</span></a></dt> |
︙ | ︙ | |||
429 430 431 432 433 434 435 | name of a package <b class="cmd">provide</b>d by <i class="arg">text</i> when that is evaluated as a Tcl script, and the following odd index element is the corresponding version. It is used to do package indexing of extracted pieces of code, in the manner of <b class="cmd">pkg_mkIndex</b>.</p> <p>One difference to <b class="cmd">pkg_mkIndex</b> is that the <i class="arg">text</i> gets evaluated in a safe interpreter. <b class="cmd">package require</b> commands are silently ignored, as are unknown commands (which includes | | | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | name of a package <b class="cmd">provide</b>d by <i class="arg">text</i> when that is evaluated as a Tcl script, and the following odd index element is the corresponding version. It is used to do package indexing of extracted pieces of code, in the manner of <b class="cmd">pkg_mkIndex</b>.</p> <p>One difference to <b class="cmd">pkg_mkIndex</b> is that the <i class="arg">text</i> gets evaluated in a safe interpreter. <b class="cmd">package require</b> commands are silently ignored, as are unknown commands (which includes <b class="cmd"><a href="../../../../index.html#key411">source</a></b> and <b class="cmd">load</b>). Other errors cause processing of the <i class="arg">text</i> to stop, in which case only those package declarations that had been encountered before the error will be included in the return value.</p> <p>The <i class="arg">setup-script</i> argument can be used to customise the evaluation environment, if the code in <i class="arg">text</i> has some very special needs. The <i class="arg">setup-script</i> is evaluated in the local context of the <b class="cmd">packages_provided</b> procedure just before the |
︙ | ︙ | |||
484 485 486 487 488 489 490 491 492 493 494 495 496 497 | <b class="cmd">emph</b>asised.</p></dd> </dl> <p>At the time of writing, no project has employed <b class="package"><a href="../doctools/doctools.html">doctools</a></b> markup in master source files, so experience of what works well is not available. A source file could however look as follows</p> <pre class="example"> % [manpage_begin gcd n 1.0] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which | > > > > > > > > > > > > > > > | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 | <b class="cmd">emph</b>asised.</p></dd> </dl> <p>At the time of writing, no project has employed <b class="package"><a href="../doctools/doctools.html">doctools</a></b> markup in master source files, so experience of what works well is not available. A source file could however look as follows</p> <pre class="example"> % [manpage_begin gcd n 1.0] [see_also docstrip] [see_also doctools] [see_also doctools_fmt] [keywords .ddt] [keywords catalogue] [keywords diff] [keywords docstrip] [keywords doctools] [keywords documentation] [keywords {literate programming}] [keywords module] [keywords {package indexing}] [keywords patch] [keywords source] [keywords {Tcl module}] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which |
︙ | ︙ | |||
665 666 667 668 669 670 671 | in both.</p></dd> </dl> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 | in both.</p></dd> </dl> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docstrip.html">docstrip</a>, <a href="../doctools/doctools.html">doctools</a>, doctools_fmt</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key649">.ddt</a>, <a href="../../../../index.html#key646">Tcl module</a>, <a href="../../../../index.html#key648">catalogue</a>, <a href="../../../../index.html#key542">diff</a>, <a href="../../../../index.html#key410">docstrip</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key412">literate programming</a>, <a href="../../../../index.html#key650">module</a>, <a href="../../../../index.html#key647">package indexing</a>, <a href="../../../../index.html#key645">patch</a>, <a href="../../../../index.html#key411">source</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003–2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/changelog.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
189 190 191 192 193 194 195 | <dd><p>Each argument of the command is assumed to be a pre-parsed Changelog as generated by the command <b class="cmd">::doctools::changelog::scan</b>. This command merges all of them into a single structure, and collapses multiple entries for the same date and author into a single entry. The new structure is returned as the result of the command.</p></dd> </dl> </div> | | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | <dd><p>Each argument of the command is assumed to be a pre-parsed Changelog as generated by the command <b class="cmd">::doctools::changelog::scan</b>. This command merges all of them into a single structure, and collapses multiple entries for the same date and author into a single entry. The new structure is returned as the result of the command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key429">changelog</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key430">emacs</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2013 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/cvs.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | arguments of the command <b class="cmd">::doctools::cvs::scanLog</b>. This command however expects them to be filled with information about one or more logs. It takes this information and converts it into a text in the format of a ChangeLog as accepted and generated by <b class="syscmd"><a href="../../../../index.html#key430">emacs</a></b>. The constructed text is returned as the result of the command.</p></dd> </dl> </div> | | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | arguments of the command <b class="cmd">::doctools::cvs::scanLog</b>. This command however expects them to be filled with information about one or more logs. It takes this information and converts it into a text in the format of a ChangeLog as accepted and generated by <b class="syscmd"><a href="../../../../index.html#key430">emacs</a></b>. The constructed text is returned as the result of the command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://wiki.tcl.tk/log2changelog</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key429">changelog</a>, <a href="../../../../index.html#key754">cvs</a>, <a href="../../../../index.html#key755">cvs log</a>, <a href="../../../../index.html#key430">emacs</a>, <a href="../../../../index.html#key69">log</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx.html.
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
175 176 177 178 179 180 181 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::new</b> <i class="arg">objectName</i> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command creates a new docidx object with an associated Tcl | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::new</b> <i class="arg">objectName</i> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command creates a new docidx object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">OBJECT COMMAND</a></span> and <span class="sectref"><a href="#subsection3">OBJECT METHODS</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p> <p>The options and their values coming after the name of the object are used to set the initial configuration of the object.</p></dd> <dt><a name="2"><b class="cmd">::doctools::idx::help</b></a></dt> |
︙ | ︙ | |||
389 390 391 392 393 394 395 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> | | | | | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="docidx_plugin_apiref.html">docidx_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key186">latex</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_intro.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>docidx_intro - docidx introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>docidx_intro - docidx introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
172 173 174 175 176 177 178 | called <i class="term"><a href="../../../../index.html#key246">doctoc</a></i> and <i class="term"><a href="../../../../index.html#key51">doctools</a></i>, and they are for the markup of <i class="term">tables of contents</i>, and general documentation, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="doctoc_intro.html">doctoc introduction</a></i> and the <i class="term"><a href="doctools_intro.html">doctools introduction</a></i>, respectively.</p> </div> | | > | | | > | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | called <i class="term"><a href="../../../../index.html#key246">doctoc</a></i> and <i class="term"><a href="../../../../index.html#key51">doctools</a></i>, and they are for the markup of <i class="term">tables of contents</i>, and general documentation, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="doctoc_intro.html">doctoc introduction</a></i> and the <i class="term"><a href="doctools_intro.html">doctools introduction</a></i>, respectively.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="docidx_plugin_apiref.html">docidx_plugin_apiref</a>, <a href="doctoc_intro.html">doctoc_intro</a>, <a href="../doctools2idx/container.html">doctools::idx</a>, <a href="doctools_intro.html">doctools_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_lang_cmdref.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> | | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="syntax"> <li><a href="#1"><b class="cmd"><a href="../../../../index.html#key163">comment</a></b> <i class="arg">plaintext</i></a></li> <li><a href="#2"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#3"><b class="cmd">index_begin</b> <i class="arg">text</i> <i class="arg">title</i></a></li> <li><a href="#4"><b class="cmd">index_end</b></a></li> <li><a href="#5"><b class="cmd">key</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">lb</b></a></li> <li><a href="#7"><b class="cmd"><a href="../../../../index.html#key17">manpage</a></b> <i class="arg">file</i> <i class="arg">text</i></a></li> <li><a href="#8"><b class="cmd">rb</b></a></li> <li><a href="#9"><b class="cmd"><a href="../../../../index.html#key508">url</a></b> <i class="arg">url</i> <i class="arg">label</i></a></li> <li><a href="#10"><b class="cmd">vset</b> <i class="arg">varname</i> <i class="arg">value</i></a></li> <li><a href="#11"><b class="cmd">vset</b> <i class="arg">varname</i></a></li> </ul> </div> </div> |
︙ | ︙ | |||
175 176 177 178 179 180 181 | <dd><p>Index structure. This command adds the keyword <i class="arg">text</i> to the index.</p></dd> <dt><a name="6"><b class="cmd">lb</b></a></dt> <dd><p>Text. The command is replaced with a left bracket. Use in free-form text. Required to avoid interpretation of a left bracket as the start of a markup command. Its usage is restricted to the arguments of other markup commands.</p></dd> | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | <dd><p>Index structure. This command adds the keyword <i class="arg">text</i> to the index.</p></dd> <dt><a name="6"><b class="cmd">lb</b></a></dt> <dd><p>Text. The command is replaced with a left bracket. Use in free-form text. Required to avoid interpretation of a left bracket as the start of a markup command. Its usage is restricted to the arguments of other markup commands.</p></dd> <dt><a name="7"><b class="cmd"><a href="../../../../index.html#key17">manpage</a></b> <i class="arg">file</i> <i class="arg">text</i></a></dt> <dd><p>Index structure. This command adds an element to the index which refers to a document. The document is specified through the symbolic name <i class="arg">file</i>. The <i class="arg">text</i> argument is used to label the reference.</p> <p>Symbolic names are used to preserve the convertibility of this format to any output format. The actual name of the file will be inserted by the chosen formatting engine when converting the input. This will be |
︙ | ︙ | |||
203 204 205 206 207 208 209 | to the specified <i class="arg">value</i>. It does not generate output. I.e. the command is replaced by the empty string.</p></dd> <dt><a name="11"><b class="cmd">vset</b> <i class="arg">varname</i></a></dt> <dd><p>Templating. In this form the command is replaced by the value of the named document variable</p></dd> </dl> </div> | | | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | to the specified <i class="arg">value</i>. It does not generate output. I.e. the command is replaced by the empty string.</p></dd> <dt><a name="11"><b class="cmd">vset</b> <i class="arg">varname</i></a></dt> <dd><p>Templating. In this form the command is replaced by the value of the named document variable</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key349">docidx commands</a>, <a href="../../../../index.html#key353">docidx language</a>, <a href="../../../../index.html#key352">docidx markup</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_lang_faq.html.
︙ | ︙ | |||
122 123 124 125 126 127 128 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find docidx examples?</a></li> </ul> </li> | | | | | | | | | | | | | | | > | | | | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find docidx examples?</a></li> </ul> </li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> </div> <div id="section2" class="section"><h2><a name="section2">OVERVIEW</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">What is this document?</a></h3> <p>This document is currently mainly a placeholder, to be filled with commonly asked questions about the docidx markup language and companions, and their answers.</p> <p>Please report any questions (and, if possible, answers) we should consider for this document as explained in the section <span class="sectref"><a href="#section4">Bugs, Ideas, Feedback</a></span> below.</p> </div> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <div id="subsection2" class="subsection"><h3><a name="subsection2">Where do I find docidx examples?</a></h3> <p>We have no direct examples of documents written using docidx markup. However the doctools processor <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses docidx markup and is not deleted when generation completes. Such files can therefore serve as examples.</p> <p><b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> is distributed as part of Tcllib, so to get it you need one of</p> <ol class="enumerated"> <li><p>A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at <a href="/wiki?name=Development+Snapshots">Development Snapshots</a></p></li> <li><p>A Tcllib release archive. They are available at the <a href="/home">home</a> page.</p></li> </ol> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key349">docidx commands</a>, <a href="../../../../index.html#key353">docidx language</a>, <a href="../../../../index.html#key352">docidx markup</a>, <a href="../../../../index.html#key350">docidx syntax</a>, <a href="../../../../index.html#key351">examples</a>, <a href="../../../../index.html#key348">faq</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_lang_intro.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <li class="subsection"><a href="#subsection1">Fundamentals</a></li> <li class="subsection"><a href="#subsection2">Basic structure</a></li> <li class="subsection"><a href="#subsection3">Advanced structure</a></li> <li class="subsection"><a href="#subsection4">Escapes</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <li class="subsection"><a href="#subsection1">Fundamentals</a></li> <li class="subsection"><a href="#subsection2">Basic structure</a></li> <li class="subsection"><a href="#subsection3">Advanced structure</a></li> <li class="subsection"><a href="#subsection4">Escapes</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
195 196 197 198 199 200 201 | [<b class="cmd">manpage yencode</b>] [key ydecode] [<b class="cmd">manpage yencode</b>] [key yencode] [<b class="cmd">manpage yencode</b>] [index_end] </pre> | | | | 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | [<b class="cmd">manpage yencode</b>] [key ydecode] [<b class="cmd">manpage yencode</b>] [key yencode] [<b class="cmd">manpage yencode</b>] [index_end] </pre> <p>In the above example the command <b class="cmd"><a href="../../../../index.html#key17">manpage</a></b> is used to insert references to documents, using symbolic file names, with each command belonging to the last <b class="cmd">key</b> command coming before it.</p> <p>The other command to insert references is <b class="cmd"><a href="../../../../index.html#key508">url</a></b>. In contrast to <b class="cmd"><a href="../../../../index.html#key17">manpage</a></b> it uses explicit (possibly format-specific) urls to describe the location of the referenced document. As such this command is intended for the creation of references to external documents which could not be handled in any other way.</p> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">Advanced structure</a></h3> <p>In all previous examples we fudged a bit regarding the markup actually allowed to be used before the <b class="cmd">index_begin</b> command opening the |
︙ | ︙ | |||
270 271 272 273 274 275 276 | <b class="syscmd">dtp</b>.</p> <p>On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own.</p> </div> | | > | | | > | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | <b class="syscmd">dtp</b>.</p> <p>On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key349">docidx commands</a>, <a href="../../../../index.html#key353">docidx language</a>, <a href="../../../../index.html#key352">docidx markup</a>, <a href="../../../../index.html#key350">docidx syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_lang_syntax.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | <li><p>The construct [ X ] stands for zero or one occurrence of X.</p></li> </ol> <p>The syntax:</p> <pre class="example"> index = defs INDEX_BEGIN [ contents ] | | | > | | | > | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | <li><p>The construct [ X ] stands for zero or one occurrence of X.</p></li> </ol> <p>The syntax:</p> <pre class="example"> index = defs INDEX_BEGIN [ contents ] INDEX_END { <WHITE> } defs = { INCLUDE | VSET | <WHITE> } contents = keyword { keyword } keyword = defs KEY ref { ref } ref = MANPAGE | URL | defs </pre> <p>At last a rule we were unable to capture in the EBNF syntax, as it is about the arguments of the markup commands, something which is not modeled here.</p> <ol class="enumerated"> <li><p>The arguments of all markup commands have to be plain text, and/or text markup commands, i.e. one of</p> <ol class="enumerated"> <li><p><b class="cmd">lb</b>,</p></li> <li><p><b class="cmd">rb</b>, or</p></li> <li><p><b class="cmd">vset</b> (1-argument form).</p></li> </ol> </li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key349">docidx commands</a>, <a href="../../../../index.html#key353">docidx language</a>, <a href="../../../../index.html#key352">docidx markup</a>, <a href="../../../../index.html#key350">docidx syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/docidx_plugin_apiref.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
419 420 421 422 423 424 425 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> | | > | | | > | | 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="docidx_lang_cmdref.html">docidx_lang_cmdref</a>, <a href="docidx_lang_faq.html">docidx_lang_faq</a>, <a href="docidx_lang_intro.html">docidx_lang_intro</a>, <a href="docidx_lang_syntax.html">docidx_lang_syntax</a>, <a href="../doctools2idx/container.html">doctools::idx</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key641">formatting engine</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key761">index formatter</a>, <a href="../../../../index.html#key760">keywords</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc.html.
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
175 176 177 178 179 180 181 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::new</b> <i class="arg">objectName</i> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command creates a new doctoc object with an associated Tcl | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::new</b> <i class="arg">objectName</i> <span class="opt">?<b class="option">-option</b> <i class="arg">value</i> ...?</span></a></dt> <dd><p>This command creates a new doctoc object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">OBJECT COMMAND</a></span> and <span class="sectref"><a href="#subsection3">OBJECT METHODS</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p> <p>The options and their values coming after the name of the object are used to set the initial configuration of the object.</p></dd> <dt><a name="2"><b class="cmd">::doctools::toc::help</b></a></dt> |
︙ | ︙ | |||
389 390 391 392 393 394 395 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> | | | | | 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc_plugin_apiref.html">doctoc_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key186">latex</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_intro.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>doctoc_intro - doctoc introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>doctoc_intro - doctoc introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
171 172 173 174 175 176 177 | <p>doctoc does not stand alone, it has two companion formats. These are called <i class="term"><a href="../../../../index.html#key50">docidx</a></i> and <i class="term"><a href="../../../../index.html#key51">doctools</a></i>, and they are for the markup of <i class="term">keyword indices</i>, and general documentation, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="docidx_intro.html">docidx introduction</a></i> and the <i class="term"><a href="doctools_intro.html">doctools introduction</a></i>, respectively.</p> </div> | | > | | | > | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | <p>doctoc does not stand alone, it has two companion formats. These are called <i class="term"><a href="../../../../index.html#key50">docidx</a></i> and <i class="term"><a href="../../../../index.html#key51">doctools</a></i>, and they are for the markup of <i class="term">keyword indices</i>, and general documentation, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="docidx_intro.html">docidx introduction</a></i> and the <i class="term"><a href="doctools_intro.html">doctools introduction</a></i>, respectively.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="doctoc_plugin_apiref.html">doctoc_plugin_apiref</a>, <a href="../doctools2toc/container.html">doctools::toc</a>, <a href="doctools_intro.html">doctools_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_lang_cmdref.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
208 209 210 211 212 213 214 | to the specified <i class="arg">value</i>. It does not generate output. I.e. the command is replaced by the empty string.</p></dd> <dt><a name="11"><b class="cmd">vset</b> <i class="arg">varname</i></a></dt> <dd><p>Templating. In this form the command is replaced by the value of the named document variable</p></dd> </dl> </div> | | | | | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | to the specified <i class="arg">value</i>. It does not generate output. I.e. the command is replaced by the empty string.</p></dd> <dt><a name="11"><b class="cmd">vset</b> <i class="arg">varname</i></a></dt> <dd><p>Templating. In this form the command is replaced by the value of the named document variable</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key490">doctoc commands</a>, <a href="../../../../index.html#key489">doctoc language</a>, <a href="../../../../index.html#key488">doctoc markup</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_lang_faq.html.
︙ | ︙ | |||
122 123 124 125 126 127 128 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find doctoc examples?</a></li> </ul> </li> | | | | | | | | | | | | | | > | | | | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find doctoc examples?</a></li> </ul> </li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> </div> <div id="section2" class="section"><h2><a name="section2">OVERVIEW</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">What is this document?</a></h3> <p>This document is currently mainly a placeholder, to be filled with commonly asked questions about the doctoc markup language and companions, and their answers.</p> <p>Please report any questions (and, if possible, answers) we should consider for this document as explained in the section <span class="sectref"><a href="#section4">Bugs, Ideas, Feedback</a></span> below.</p> </div> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <div id="subsection2" class="subsection"><h3><a name="subsection2">Where do I find doctoc examples?</a></h3> <p>We have no direct examples of documents written using doctoc markup. However the doctools processor <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses doctoc markup and is not deleted when generation completes. Such files can therefore serve as examples.</p> <p><b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> is distributed as part of Tcllib, so to get it you need one of</p> <ol class="enumerated"> <li><p>A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at <a href="/wiki?name=Development+Snapshots">Development Snapshots</a></p></li> <li><p>A Tcllib release archive. They are available at the <a href="/home">home</a> page.</p></li> </ol> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key490">doctoc commands</a>, <a href="../../../../index.html#key489">doctoc language</a>, <a href="../../../../index.html#key488">doctoc markup</a>, <a href="../../../../index.html#key524">doctoc syntax</a>, <a href="../../../../index.html#key351">examples</a>, <a href="../../../../index.html#key348">faq</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_lang_intro.html.
︙ | ︙ | |||
122 123 124 125 126 127 128 | <li class="subsection"><a href="#subsection3">Items</a></li> <li class="subsection"><a href="#subsection4">Divisions</a></li> <li class="subsection"><a href="#subsection5">Advanced structure</a></li> <li class="subsection"><a href="#subsection6">Escapes</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | <li class="subsection"><a href="#subsection3">Items</a></li> <li class="subsection"><a href="#subsection4">Divisions</a></li> <li class="subsection"><a href="#subsection5">Advanced structure</a></li> <li class="subsection"><a href="#subsection6">Escapes</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
335 336 337 338 339 340 341 | <b class="syscmd">dtp</b>.</p> <p>On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own.</p> </div> | | > | | | > | | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | <b class="syscmd">dtp</b>.</p> <p>On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key490">doctoc commands</a>, <a href="../../../../index.html#key489">doctoc language</a>, <a href="../../../../index.html#key488">doctoc markup</a>, <a href="../../../../index.html#key524">doctoc syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_lang_syntax.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | <li><p>The construct [ X ] stands for zero or one occurrence of X.</p></li> </ol> <p>The syntax:</p> <pre class="example"> toc = defs TOC_BEGIN contents | | | > | | | > | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | <li><p>The construct [ X ] stands for zero or one occurrence of X.</p></li> </ol> <p>The syntax:</p> <pre class="example"> toc = defs TOC_BEGIN contents TOC_END { <WHITE> } defs = { INCLUDE | VSET | <WHITE> } contents = { defs entry } [ defs ] entry = ITEM | division division = DIVISION_START contents DIVISION_END </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key490">doctoc commands</a>, <a href="../../../../index.html#key489">doctoc language</a>, <a href="../../../../index.html#key488">doctoc markup</a>, <a href="../../../../index.html#key524">doctoc syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctoc_plugin_apiref.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
419 420 421 422 423 424 425 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> | | > | | | > | 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctoc_lang_cmdref.html">doctoc_lang_cmdref</a>, <a href="doctoc_lang_faq.html">doctoc_lang_faq</a>, <a href="doctoc_lang_intro.html">doctoc_lang_intro</a>, <a href="doctoc_lang_syntax.html">doctoc_lang_syntax</a>, <a href="../doctools2toc/container.html">doctools::toc</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key641">formatting engine</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key143">semantic markup</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a>, <a href="../../../../index.html#key701">toc formatter</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools.html.
︙ | ︙ | |||
123 124 125 126 127 128 129 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> <li class="subsection"><a href="#subsection5">FORMAT MAPPING</a></li> </ul> </li> <li class="section"><a href="#section3">PREDEFINED ENGINES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
175 176 177 178 179 180 181 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::new</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">option value</i>...?</span></a></dt> <dd><p>This command creates a new doctools object with an associated Tcl | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | this package and its plugins, i.e. the formatting engines, in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::new</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">option value</i>...?</span></a></dt> <dd><p>This command creates a new doctools object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">OBJECT COMMAND</a></span> and <span class="sectref"><a href="#subsection3">OBJECT METHODS</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p> <p>The options and their values coming after the name of the object are used to set the initial configuration of the object.</p></dd> <dt><a name="2"><b class="cmd">::doctools::help</b></a></dt> |
︙ | ︙ | |||
300 301 302 303 304 305 306 | base path for resolution of relative include paths. If this option is not set (empty string) the value of <b class="option">-file</b> is used instead.</p> <p>Note that <b class="option">-file</b> and <b class="option">-ibase</b>, while similar looking, are actually very different. The value of <b class="option">-file</b> is used by some engines for the generation of proper relative references between output documents (HTML). As such this is a <i class="term">destination</i> path. The <b class="option">-ibase</b> on the other hand is used to resolve | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | base path for resolution of relative include paths. If this option is not set (empty string) the value of <b class="option">-file</b> is used instead.</p> <p>Note that <b class="option">-file</b> and <b class="option">-ibase</b>, while similar looking, are actually very different. The value of <b class="option">-file</b> is used by some engines for the generation of proper relative references between output documents (HTML). As such this is a <i class="term">destination</i> path. The <b class="option">-ibase</b> on the other hand is used to resolve relative include paths, and as such deals with <i class="term"><a href="../../../../index.html#key411">source</a></i> paths.</p> <p>The default value of this option is the empty string.</p></dd> <dt><b class="option">-module</b> <i class="arg">text</i></dt> <dd><p>The argument of this option is stored in the object and made available to the configured formatting engine through the command <b class="cmd">dt_module</b>. This command is described in more detail in the companion document <i class="term">doctools_api</i> which specifies the API between the object and formatting engines.</p> |
︙ | ︙ | |||
448 449 450 451 452 453 454 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> | | | 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd">see_also</b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">sa,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key760">keywords</a></b> <i class="arg">word</i>...</dt> <dd><p>The command will look for the patterns <b class="const">kw,</b><i class="arg">word</i>, and <i class="arg">word</i>, in this order, for each <i class="arg">word</i> given to the command. If this fails if it will convert <i class="arg">word</i> to all lowercase and try again.</p></dd> </dl></dd> </dl></dd> <dt>latex</dt> |
︙ | ︙ | |||
477 478 479 480 481 482 483 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> | | | | | 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 | <dd><p>This engine generates TMML markup as specified by Joe English. The Tcl Manpage Markup Language is a derivate of XML.</p></dd> <dt>wiki</dt> <dd><p>This engine generates Wiki markup as understood by Jean Claude Wippler's <b class="syscmd">wikit</b> application.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a>, <a href="doctools_plugin_apiref.html">doctools_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2013 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_intro.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>doctools_intro - doctools introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>doctools_intro - doctools introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RELATED FORMATS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
170 171 172 173 174 175 176 | called <i class="term"><a href="../../../../index.html#key50">docidx</a></i> and <i class="term"><a href="../../../../index.html#key246">doctoc</a></i>, and they are for the markup of <i class="term">keyword indices</i>, and <i class="term">tables of contents</i>, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="docidx_intro.html">docidx introduction</a></i> and the <i class="term"><a href="doctoc_intro.html">doctoc introduction</a></i>, respectively.</p> </div> | | > | | | > | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | called <i class="term"><a href="../../../../index.html#key50">docidx</a></i> and <i class="term"><a href="../../../../index.html#key246">doctoc</a></i>, and they are for the markup of <i class="term">keyword indices</i>, and <i class="term">tables of contents</i>, respectively. They are described in their own sets of documents, starting at the <i class="term"><a href="docidx_intro.html">docidx introduction</a></i> and the <i class="term"><a href="doctoc_intro.html">doctoc introduction</a></i>, respectively.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="docidx_intro.html">docidx_intro</a>, <a href="doctoc_intro.html">doctoc_intro</a>, <a href="doctools.html">doctools</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a>, <a href="doctools_plugin_apiref.html">doctools_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_cmdref.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> | | | | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Commands</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="syntax"> <li><a href="#1"><b class="cmd">arg</b> <i class="arg">text</i></a></li> <li><a href="#2"><b class="cmd">arg_def</b> <i class="arg">type</i> <i class="arg">name</i> <span class="opt">?<i class="arg">mode</i>?</span></a></li> <li><a href="#3"><b class="cmd">bullet</b></a></li> <li><a href="#4"><b class="cmd">call</b> <i class="arg">args</i></a></li> <li><a href="#5"><b class="cmd">category</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd"><a href="../../../../index.html#key234">class</a></b> <i class="arg">text</i></a></li> <li><a href="#7"><b class="cmd">cmd</b> <i class="arg">text</i></a></li> <li><a href="#8"><b class="cmd">cmd_def</b> <i class="arg">command</i></a></li> <li><a href="#9"><b class="cmd"><a href="../../../../index.html#key163">comment</a></b> <i class="arg">plaintext</i></a></li> <li><a href="#10"><b class="cmd">const</b> <i class="arg">text</i></a></li> <li><a href="#11"><b class="cmd">copyright</b> <i class="arg">text</i></a></li> <li><a href="#12"><b class="cmd">def</b> <i class="arg">text</i></a></li> <li><a href="#13"><b class="cmd">description</b></a></li> <li><a href="#14"><b class="cmd">enum</b></a></li> <li><a href="#15"><b class="cmd">emph</b> <i class="arg">text</i></a></li> <li><a href="#16"><b class="cmd">example</b> <i class="arg">text</i></a></li> <li><a href="#17"><b class="cmd">example_begin</b></a></li> <li><a href="#18"><b class="cmd">example_end</b></a></li> <li><a href="#19"><b class="cmd"><a href="../../../../index.html#key35">file</a></b> <i class="arg">text</i></a></li> <li><a href="#20"><b class="cmd">fun</b> <i class="arg">text</i></a></li> <li><a href="#21"><b class="cmd"><a href="../../../../index.html#key134">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></li> <li><a href="#22"><b class="cmd">include</b> <i class="arg">filename</i></a></li> <li><a href="#23"><b class="cmd">item</b></a></li> <li><a href="#24"><b class="cmd"><a href="../../../../index.html#key760">keywords</a></b> <i class="arg">args</i></a></li> <li><a href="#25"><b class="cmd">lb</b></a></li> <li><a href="#26"><b class="cmd">list_begin</b> <i class="arg">what</i></a></li> <li><a href="#27"><b class="cmd">list_end</b></a></li> <li><a href="#28"><b class="cmd">lst_item</b> <i class="arg">text</i></a></li> <li><a href="#29"><b class="cmd">manpage_begin</b> <i class="arg">command</i> <i class="arg">section</i> <i class="arg">version</i></a></li> <li><a href="#30"><b class="cmd">manpage_end</b></a></li> <li><a href="#31"><b class="cmd"><a href="../../../../index.html#key355">method</a></b> <i class="arg">text</i></a></li> |
︙ | ︙ | |||
175 176 177 178 179 180 181 | <li><a href="#45"><b class="cmd">see_also</b> <i class="arg">args</i></a></li> <li><a href="#46"><b class="cmd">strong</b> <i class="arg">text</i></a></li> <li><a href="#47"><b class="cmd">subsection</b> <i class="arg">name</i></a></li> <li><a href="#48"><b class="cmd">syscmd</b> <i class="arg">text</i></a></li> <li><a href="#49"><b class="cmd"><a href="../term/term.html">term</a></b> <i class="arg">text</i></a></li> <li><a href="#50"><b class="cmd">titledesc</b> <i class="arg">desc</i></a></li> <li><a href="#51"><b class="cmd">tkoption_def</b> <i class="arg">name</i> <i class="arg">dbname</i> <i class="arg">dbclass</i></a></li> | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | <li><a href="#45"><b class="cmd">see_also</b> <i class="arg">args</i></a></li> <li><a href="#46"><b class="cmd">strong</b> <i class="arg">text</i></a></li> <li><a href="#47"><b class="cmd">subsection</b> <i class="arg">name</i></a></li> <li><a href="#48"><b class="cmd">syscmd</b> <i class="arg">text</i></a></li> <li><a href="#49"><b class="cmd"><a href="../term/term.html">term</a></b> <i class="arg">text</i></a></li> <li><a href="#50"><b class="cmd">titledesc</b> <i class="arg">desc</i></a></li> <li><a href="#51"><b class="cmd">tkoption_def</b> <i class="arg">name</i> <i class="arg">dbname</i> <i class="arg">dbclass</i></a></li> <li><a href="#52"><b class="cmd"><a href="../../../../index.html#key123">type</a></b> <i class="arg">text</i></a></li> <li><a href="#53"><b class="cmd"><a href="../uri/uri.html">uri</a></b> <i class="arg">text</i> <span class="opt">?<i class="arg">text</i>?</span></a></li> <li><a href="#54"><b class="cmd">usage</b> <i class="arg">args</i></a></li> <li><a href="#55"><b class="cmd">var</b> <i class="arg">text</i></a></li> <li><a href="#56"><b class="cmd">vset</b> <i class="arg">varname</i> <i class="arg">value</i></a></li> <li><a href="#57"><b class="cmd">vset</b> <i class="arg">varname</i></a></li> <li><a href="#58"><b class="cmd"><a href="../../../../index.html#key229">widget</a></b> <i class="arg">text</i></a></li> </ul> |
︙ | ︙ | |||
226 227 228 229 230 231 232 | It is expected that the formatted term is not only printed in place, but also in the table of contents of the document, or synopsis, depending on the output format.</p></dd> <dt><a name="5"><b class="cmd">category</b> <i class="arg">text</i></a></dt> <dd><p>Document information. Anywhere. This command registers its plain text arguments as the category this document belongs to. If this command is used multiple times the last value specified is used.</p></dd> | | | | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | It is expected that the formatted term is not only printed in place, but also in the table of contents of the document, or synopsis, depending on the output format.</p></dd> <dt><a name="5"><b class="cmd">category</b> <i class="arg">text</i></a></dt> <dd><p>Document information. Anywhere. This command registers its plain text arguments as the category this document belongs to. If this command is used multiple times the last value specified is used.</p></dd> <dt><a name="6"><b class="cmd"><a href="../../../../index.html#key234">class</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term"><a href="../../../../index.html#key234">class</a></i>. The text may have other markup already applied to it. Main use is the highlighting of class names in free-form text.</p></dd> <dt><a name="7"><b class="cmd">cmd</b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument text is marked up as the name of a <i class="term">Tcl command</i>. The text may have other markup already applied to it. Main uses are the highlighting of commands in free-form text, and for the command parameters of the markup commands <b class="cmd">call</b> and <b class="cmd">usage</b>.</p></dd> |
︙ | ︙ | |||
290 291 292 293 294 295 296 | <i class="term">directory</i>, i.e. in general a <i class="term">path</i>. The text may have other markup already applied to it. Main use is the highlighting of paths in free-form text.</p></dd> <dt><a name="20"><b class="cmd">fun</b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term">function</i>. The text may have other markup already applied to it. Main use is the highlighting of function names in free-form text.</p></dd> | | | | | 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 | <i class="term">directory</i>, i.e. in general a <i class="term">path</i>. The text may have other markup already applied to it. Main use is the highlighting of paths in free-form text.</p></dd> <dt><a name="20"><b class="cmd">fun</b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term">function</i>. The text may have other markup already applied to it. Main use is the highlighting of function names in free-form text.</p></dd> <dt><a name="21"><b class="cmd"><a href="../../../../index.html#key134">image</a></b> <i class="arg">name</i> <span class="opt">?<i class="arg">label</i>?</span></a></dt> <dd><p>Text markup. The argument is the symbolic name of an <i class="term"><a href="../../../../index.html#key134">image</a></i> and replaced with the image itself, if a suitable variant is found by the backend. The second argument, should it be present, will be interpreted the human-readable description of the image, and put into the output in a suitable position, if such is supported by the format. The HTML format, for example, can place it into the <i class="term">alt</i> attribute of image references.</p></dd> <dt><a name="22"><b class="cmd">include</b> <i class="arg">filename</i></a></dt> <dd><p>Templating. The contents of the named file are interpreted as text written in the doctools markup and processed in the place of the include command. The markup in the file has to be self-contained. It is not possible for a markup command to cross the file boundaries.</p></dd> <dt><a name="23"><b class="cmd">item</b></a></dt> <dd><p>Text structure. List element. Itemized list. Automatically closes the previous list element.</p></dd> <dt><a name="24"><b class="cmd"><a href="../../../../index.html#key760">keywords</a></b> <i class="arg">args</i></a></dt> <dd><p>Document information. Anywhere. This command registers all its plain text arguments as keywords applying to this document. Each argument is a single keyword. If this command is used multiple times all the arguments accumulate.</p></dd> <dt><a name="25"><b class="cmd">lb</b></a></dt> <dd><p>Text. The command is replaced with a left bracket. Use in free-form text. Required to avoid interpretation of a left bracket as the start of a markup command.</p></dd> |
︙ | ︙ | |||
383 384 385 386 387 388 389 | <i class="arg">version</i> of the module containing the command. All arguments have to be plain text, without markup.</p></dd> <dt><a name="30"><b class="cmd">manpage_end</b></a></dt> <dd><p>Document structure. Command to end a manpage/document. Anything in the document coming after this command is in error.</p></dd> <dt><a name="31"><b class="cmd"><a href="../../../../index.html#key355">method</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument text is marked up as the name of an | | | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | <i class="arg">version</i> of the module containing the command. All arguments have to be plain text, without markup.</p></dd> <dt><a name="30"><b class="cmd">manpage_end</b></a></dt> <dd><p>Document structure. Command to end a manpage/document. Anything in the document coming after this command is in error.</p></dd> <dt><a name="31"><b class="cmd"><a href="../../../../index.html#key355">method</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument text is marked up as the name of an <i class="term"><a href="../../../../index.html#key237">object</a></i> <i class="term"><a href="../../../../index.html#key355">method</a></i>, i.e. subcommand of a Tcl command. The text may have other markup already applied to it. Main uses are the highlighting of method names in free-form text, and for the command parameters of the markup commands <b class="cmd">call</b> and <b class="cmd">usage</b>.</p></dd> <dt><a name="32"><b class="cmd">moddesc</b> <i class="arg">text</i></a></dt> <dd><p>Document information. Header. Registers the plain text argument as a short description of the module the manpage resides in.</p></dd> <dt><a name="33"><b class="cmd">namespace</b> <i class="arg">text</i></a></dt> |
︙ | ︙ | |||
473 474 475 476 477 478 479 | by <b class="cmd">moddesc</b>.</p></dd> <dt><a name="51"><b class="cmd">tkoption_def</b> <i class="arg">name</i> <i class="arg">dbname</i> <i class="arg">dbclass</i></a></dt> <dd><p>Text structure. List element. Widget option list. Automatically closes the previous list element. Specifies the <i class="arg">name</i> of the option as used in scripts, the name used by the option database (<i class="arg">dbname</i>), and its class (<i class="arg">dbclass</i>), i.e. its type. It is expected that the name is marked up using <b class="cmd">option</b>.</p></dd> | | | | 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 | by <b class="cmd">moddesc</b>.</p></dd> <dt><a name="51"><b class="cmd">tkoption_def</b> <i class="arg">name</i> <i class="arg">dbname</i> <i class="arg">dbclass</i></a></dt> <dd><p>Text structure. List element. Widget option list. Automatically closes the previous list element. Specifies the <i class="arg">name</i> of the option as used in scripts, the name used by the option database (<i class="arg">dbname</i>), and its class (<i class="arg">dbclass</i>), i.e. its type. It is expected that the name is marked up using <b class="cmd">option</b>.</p></dd> <dt><a name="52"><b class="cmd"><a href="../../../../index.html#key123">type</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term">data type</i>. The text may have other markup already applied to it. Main use is the highlighting of data types in free-form text.</p></dd> <dt><a name="53"><b class="cmd"><a href="../uri/uri.html">uri</a></b> <i class="arg">text</i> <span class="opt">?<i class="arg">text</i>?</span></a></dt> <dd><p>Text markup. The argument is marked up as an <i class="term"><a href="../../../../index.html#key506">uri</a></i> (i.e. a <i class="term">uniform resource identifier</i>. The text may have other markup already applied to it. Main use is the highlighting of uris in free-form text. The second argument, should it be present, will be interpreted the human-readable description of the uri. In other words, as its label. Without an explicit label the uri will be its own label.</p></dd> <dt><a name="54"><b class="cmd">usage</b> <i class="arg">args</i></a></dt> <dd><p>Text markup. See <b class="cmd">call</b> for the full description, this command is |
︙ | ︙ | |||
510 511 512 513 514 515 516 | named document variable</p></dd> <dt><a name="58"><b class="cmd"><a href="../../../../index.html#key229">widget</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term"><a href="../../../../index.html#key229">widget</a></i>. The text may have other markup already applied to it. Main use is the highlighting of widget names in free-form text.</p></dd> </dl> </div> | | | | | 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | named document variable</p></dd> <dt><a name="58"><b class="cmd"><a href="../../../../index.html#key229">widget</a></b> <i class="arg">text</i></a></dt> <dd><p>Text markup. The argument is marked up as the name of a <i class="term"><a href="../../../../index.html#key229">widget</a></i>. The text may have other markup already applied to it. Main use is the highlighting of widget names in free-form text.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key144">doctools commands</a>, <a href="../../../../index.html#key147">doctools language</a>, <a href="../../../../index.html#key146">doctools markup</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_faq.html.
︙ | ︙ | |||
122 123 124 125 126 127 128 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find doctools examples?</a></li> </ul> </li> | | | | | | | < < | | | > > > | | | | | | > | | | | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a> <ul> <li class="subsection"><a href="#subsection2">Where do I find doctools examples?</a></li> </ul> </li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> </div> <div id="section2" class="section"><h2><a name="section2">OVERVIEW</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">What is this document?</a></h3> <p>This document is currently mainly a placeholder, to be filled with commonly asked questions about the doctools markup language and companions, and their answers.</p> <p>Please report any questions (and, if possible, answers) we should consider for this document as explained in the section <span class="sectref"><a href="#section4">Bugs, Ideas, Feedback</a></span> below.</p> </div> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <div id="subsection2" class="subsection"><h3><a name="subsection2">Where do I find doctools examples?</a></h3> <p>We have no direct examples of documents written using doctools markup. However the doctools processor <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses doctools markup and is not deleted when generation completes. Such files can therefore serve as examples.</p> <p><b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b> is distributed as part of Tcllib, so to get it you need one of</p> <ol class="enumerated"> <li><p>A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at <a href="/wiki?name=Development+Snapshots">Development Snapshots</a></p></li> <li><p>A Tcllib release archive. They are available at the <a href="/home">home</a> page.</p></li> </ol> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key144">doctools commands</a>, <a href="../../../../index.html#key147">doctools language</a>, <a href="../../../../index.html#key146">doctools markup</a>, <a href="../../../../index.html#key145">doctools syntax</a>, <a href="../../../../index.html#key351">examples</a>, <a href="../../../../index.html#key348">faq</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_intro.html.
︙ | ︙ | |||
125 126 127 128 129 130 131 | <li class="subsection"><a href="#subsection6">Escapes</a></li> <li class="subsection"><a href="#subsection7">Cross-references</a></li> <li class="subsection"><a href="#subsection8">Examples</a></li> <li class="subsection"><a href="#subsection9">Lists</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | <li class="subsection"><a href="#subsection6">Escapes</a></li> <li class="subsection"><a href="#subsection7">Cross-references</a></li> <li class="subsection"><a href="#subsection8">Examples</a></li> <li class="subsection"><a href="#subsection9">Lists</a></li> </ul> </li> <li class="section"><a href="#section2">FURTHER READING</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
165 166 167 168 169 170 171 172 | ... [opt "[arg key] [arg value]"] ... </pre> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Basic structure</a></h3> <p>The most simple document which can be written in doctools is</p> <pre class="example"> [manpage_begin NAME SECTION VERSION] [description] | > > > > > > > > > > > > | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | ... [opt "[arg key] [arg value]"] ... </pre> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Basic structure</a></h3> <p>The most simple document which can be written in doctools is</p> <pre class="example"> [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [description] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] </pre> <p>This also shows us that all doctools documents are split into two parts, the <i class="term">header</i> and the <i class="term">body</i>. Everything coming before [<b class="cmd">description</b>] belongs to the header, and everything coming after belongs to the body, with the whole document bracketed by the two <b class="cmd">manpage_*</b> commands. Before and after these opening and closing commands we have only <i class="term">whitespace</i>.</p> |
︙ | ︙ | |||
213 214 215 216 217 218 219 220 221 | [<b class="cmd">require PACKAGE</b>] [description] [manpage_end] </pre> <p>Remember that the whitespace is optional. The document</p> <pre class="example"> [manpage_begin NAME SECTION VERSION] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] | > > > > > > > > > > > > | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | [<b class="cmd">require PACKAGE</b>] [description] [manpage_end] </pre> <p>Remember that the whitespace is optional. The document</p> <pre class="example"> [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] </pre> <p>has the same meaning as the example before.</p> <p>On the other hand, if <i class="term">whitespace</i> is present it consists not only of any sequence of characters containing the space character, horizontal and vertical tabs, carriage return, and newline, but it may contain comment markup as well, in the form of the <b class="cmd"><a href="../../../../index.html#key163">comment</a></b> command.</p> |
︙ | ︙ | |||
355 356 357 358 359 360 361 | their predominant use is the highlighting of parts of a paragraph they can also be used to mark up the arguments of list item commands, and of other markup commands.</p> <p>The commands available to us are</p> <dl class="commands"> <dt><b class="cmd">arg</b></dt> <dd><p>Its argument is a the name of a command argument.</p></dd> | | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | their predominant use is the highlighting of parts of a paragraph they can also be used to mark up the arguments of list item commands, and of other markup commands.</p> <p>The commands available to us are</p> <dl class="commands"> <dt><b class="cmd">arg</b></dt> <dd><p>Its argument is a the name of a command argument.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key234">class</a></b></dt> <dd><p>Its argument is a class name.</p></dd> <dt><b class="cmd">cmd</b></dt> <dd><p>Its argument is a command name (Tcl command).</p></dd> <dt><b class="cmd">const</b></dt> <dd><p>Its argument is a constant.</p></dd> <dt><b class="cmd">emph</b></dt> <dd><p>General, non-semantic emphasis.</p></dd> |
︙ | ︙ | |||
384 385 386 387 388 389 390 | <dt><b class="cmd">sectref</b></dt> <dd><p>Its argument is the title of a section or subsection, i.e. a section reference.</p></dd> <dt><b class="cmd">syscmd</b></dt> <dd><p>Its argument is a command name (external, system command).</p></dd> <dt><b class="cmd"><a href="../term/term.html">term</a></b></dt> <dd><p>Its argument is a concept, or general terminology.</p></dd> | | | 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | <dt><b class="cmd">sectref</b></dt> <dd><p>Its argument is the title of a section or subsection, i.e. a section reference.</p></dd> <dt><b class="cmd">syscmd</b></dt> <dd><p>Its argument is a command name (external, system command).</p></dd> <dt><b class="cmd"><a href="../term/term.html">term</a></b></dt> <dd><p>Its argument is a concept, or general terminology.</p></dd> <dt><b class="cmd"><a href="../../../../index.html#key123">type</a></b></dt> <dd><p>Its argument is a type name.</p></dd> <dt><b class="cmd"><a href="../uri/uri.html">uri</a></b></dt> <dd><p>Its argument is a uniform resource identifier, i.e an external reference. A second argument can be used to specify an explicit label for the reference in question.</p></dd> <dt><b class="cmd">usage</b></dt> |
︙ | ︙ | |||
435 436 437 438 439 440 441 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are | | | | 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 | impossible to directly use [<b class="cmd">lb</b>] and [<b class="cmd">rb</b>] within the text. ... </pre> </div> <div id="subsection7" class="subsection"><h3><a name="subsection7">Cross-references</a></h3> <p>The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are <b class="cmd"><a href="../../../../index.html#key760">keywords</a></b> and <b class="cmd">see_also</b>. Both take an arbitrary number of arguments, all of which have to be plain unmarked text. I.e. it is not allowed to use markup on them. Both commands can be used multiple times in a document. If that is done all arguments of all occurrences of one of them are put together into a single set.</p> <dl class="definitions"> <dt><b class="cmd"><a href="../../../../index.html#key760">keywords</a></b></dt> <dd><p>The arguments of this command are interpreted as keywords describing the document. A processor can use this information to create an index indirectly linking the containing document to all documents with the same keywords.</p></dd> <dt><b class="cmd">see_also</b></dt> <dd><p>The arguments of this command are interpreted as references to other documents. A processor can format them as direct links to these |
︙ | ︙ | |||
595 596 597 598 599 600 601 | their syntax.</p> <p>To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i.e. either Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b>, or Tclapps' ultra-configurable <b class="syscmd">dtp</b>.</p> </div> | | > | | | > | | 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 | their syntax.</p> <p>To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i.e. either Tcllib's easy and simple <b class="syscmd"><a href="../dtplite/dtplite.html">dtplite</a></b>, or Tclapps' ultra-configurable <b class="syscmd">dtp</b>.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key144">doctools commands</a>, <a href="../../../../index.html#key147">doctools language</a>, <a href="../../../../index.html#key146">doctools markup</a>, <a href="../../../../index.html#key145">doctools syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_lang_syntax.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Fundamentals</a></li> <li class="section"><a href="#section3">Lexical definitions</a></li> <li class="section"><a href="#section4">Syntax</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> |
︙ | ︙ | |||
207 208 209 210 211 212 213 | def_list = [ <WHITE> ] { (DEF|CALL) paras } enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } </pre> </div> | | > | | | > | | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | def_list = [ <WHITE> ] { (DEF|CALL) paras } enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key144">doctools commands</a>, <a href="../../../../index.html#key147">doctools language</a>, <a href="../../../../index.html#key146">doctools markup</a>, <a href="../../../../index.html#key145">doctools syntax</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/doctools_plugin_apiref.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="section"><a href="#section3">FRONTEND COMMANDS</a></li> <li class="section"><a href="#section4">PLUGIN COMMANDS</a> <ul> <li class="subsection"><a href="#subsection1">Management commands</a></li> <li class="subsection"><a href="#subsection2">Formatting commands</a></li> </ul> </li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
467 468 469 470 471 472 473 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> | | > | | | > | | 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 | plain text.</p> <p>The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change.</p></dd> </dl> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="doctools.html">doctools</a>, <a href="doctools_intro.html">doctools_intro</a>, <a href="doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="doctools_lang_faq.html">doctools_lang_faq</a>, <a href="doctools_lang_intro.html">doctools_lang_intro</a>, <a href="doctools_lang_syntax.html">doctools_lang_syntax</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key642">document</a>, <a href="../../../../index.html#key640">formatter</a>, <a href="../../../../index.html#key641">formatting engine</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools/mpexpand.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">NOTES</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> | > | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">NOTES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
172 173 174 175 176 177 178 179 180 181 182 183 | recognized through the extension "<b class="file">.man</b>". If <i class="arg">-verbose</i> is specified the command will list its actions before executing them.</p> <p>The <i class="arg">module</i> information is passed to <b class="cmd">mpexpand</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">NOTES</a></h2> <p>Possible future formats are plain text, pdf and postscript.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>expander(n), format(n), formatter(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | > > > > > > > > | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | recognized through the extension "<b class="file">.man</b>". If <i class="arg">-verbose</i> is specified the command will list its actions before executing them.</p> <p>The <i class="arg">module</i> information is passed to <b class="cmd">mpexpand</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">NOTES</a></h2> <p>Possible future formats are plain text, pdf and postscript.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>expander(n), format(n), formatter(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]><br> Copyright © 2003 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2base/html_cssdefaults.html.
︙ | ︙ | |||
137 138 139 140 141 142 143 | </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a single command providing access to the text of the default CSS style to use for HTML markup generated by the various HTML export plugins.</p> <p>This is an internal package of doctools, for use by <i class="term"><a href="../../../../index.html#key165">export</a></i> plugins, i.e. the packages converting doctools related documented into other | | | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a single command providing access to the text of the default CSS style to use for HTML markup generated by the various HTML export plugins.</p> <p>This is an internal package of doctools, for use by <i class="term"><a href="../../../../index.html#key165">export</a></i> plugins, i.e. the packages converting doctools related documented into other formats, most notably <i class="term"><a href="../../../../index.html#key18">HTML</a></i>.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::html::cssdefaults::contents</b></a></dt> <dd><p>This command returns the text of the default CSS style to use for HTML markup generated by the various HTML export plugins.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key383">CSS</a>, <a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key382">style</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2base/nroff_manmacros.html.
︙ | ︙ | |||
150 151 152 153 154 155 156 | generated by the various NROFF export plugins.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | generated by the various NROFF export plugins.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key504">macros</a>, <a href="../../../../index.html#key503">man_macros</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key384">plugin</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2base/tcl_parse.html.
︙ | ︙ | |||
252 253 254 255 256 257 258 | Word nodes cannot be leaves.</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | Word nodes cannot be leaves.</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key255">Tcl syntax</a>, <a href="../../../../index.html#key256">command</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key254">subst</a>, <a href="../../../../index.html#key253">word</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2base/tcllib_msgcat.html.
︙ | ︙ | |||
166 167 168 169 170 171 172 | result of <b class="cmd">msgcat::mcpreferences</b>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | result of <b class="cmd">msgcat::mcpreferences</b>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/container.html.
︙ | ︙ | |||
185 186 187 188 189 190 191 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key760">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
219 220 221 222 223 224 225 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new container object with an associated Tcl | | | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new container object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
343 344 345 346 347 348 349 | the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="23"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the keyword index in the <i class="arg">data</i> to its | | | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="23"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the keyword index in the <i class="arg">data</i> to its contents instead of replacing it. The method will throw an error if merging is not possible, i.e. would produce an invalid index. The existing content is left unchanged in that case.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="24"><i class="arg">objectName</i> <b class="method">serialize</b> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method returns the keyword index contained in the object. If no <i class="arg">format</i> is not specified the returned result is the canonical |
︙ | ︙ | |||
398 399 400 401 402 403 404 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
428 429 430 431 432 433 434 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key352">docidx markup</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key563">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key186">latex</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key562">tcler's wiki</a>, <a href="../../../../index.html#key480">text</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export.html.
︙ | ︙ | |||
156 157 158 159 160 161 162 | <li><a href="#10"><b class="cmd"><a href="../../../../index.html#key165">export</a></b> <i class="arg">serial</i> <i class="arg">configuration</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a class to manage the plugins for the export of keyword indices to other formats, i.e. their conversion to, for | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | <li><a href="#10"><b class="cmd"><a href="../../../../index.html#key165">export</a></b> <i class="arg">serial</i> <i class="arg">configuration</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a class to manage the plugins for the export of keyword indices to other formats, i.e. their conversion to, for example <i class="term"><a href="../../../../index.html#key50">docidx</a></i>, <i class="term"><a href="../../../../index.html#key18">HTML</a></i>, etc.</p> <p>This is one of the three public pillars the management of keyword indices resides on. The other two pillars are</p> <ol class="enumerated"> <li><p><i class="term"><a href="import.html">Importing keyword indices</a></i>, and</p></li> <li><p><i class="term"><a href="container.html">Holding keyword indices</a></i></p></li> </ol> <p>For information about the <span class="sectref"><a href="#section2">Concepts</a></span> of keyword indices, and |
︙ | ︙ | |||
210 211 212 213 214 215 216 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Export plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key760">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
244 245 246 247 248 249 250 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
412 413 414 415 416 417 418 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
442 443 444 445 446 447 448 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key563">generation</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key562">tcler's wiki</a>, <a href="../../../../index.html#key480">text</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_docidx.html.
︙ | ︙ | |||
204 205 206 207 208 209 210 | implies that <b class="variable">newlines</b> is set. This effect is independent of the value for <b class="variable">aligned</b> however.</p> <p>If this flag is not set (the default), the output is formatted as per the values of <b class="variable">newlines</b> and <b class="variable">aligned</b>, and no indenting is done.</p></dd> <dt>boolean <i class="arg">aligned</i></dt> <dd><p>If this flag is set the generator ensures that the arguments for the | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | implies that <b class="variable">newlines</b> is set. This effect is independent of the value for <b class="variable">aligned</b> however.</p> <p>If this flag is not set (the default), the output is formatted as per the values of <b class="variable">newlines</b> and <b class="variable">aligned</b>, and no indenting is done.</p></dd> <dt>boolean <i class="arg">aligned</i></dt> <dd><p>If this flag is set the generator ensures that the arguments for the <b class="cmd"><a href="../../../../index.html#key17">manpage</a></b> and <b class="cmd"><a href="../../../../index.html#key508">url</a></b> commands in a keyword section are aligned vertically for a nice table effect. To make this work this also implies that <b class="variable">newlines</b> is set. This effect is independent of the value for <b class="variable">indented</b> however.</p> <p>If this flag is not set (the default), the output is formatted as per the values of <b class="variable">newlines</b> and <b class="variable">indented</b>, and no alignment is done.</p></dd> </dl> |
︙ | ︙ | |||
254 255 256 257 258 259 260 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
284 285 286 287 288 289 290 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_html.html.
︙ | ︙ | |||
316 317 318 319 320 321 322 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
346 347 348 349 350 351 352 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_json.html.
︙ | ︙ | |||
269 270 271 272 273 274 275 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
299 300 301 302 303 304 305 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_nroff.html.
︙ | ︙ | |||
223 224 225 226 227 228 229 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
253 254 255 256 257 258 259 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_text.html.
︙ | ︙ | |||
210 211 212 213 214 215 216 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
240 241 242 243 244 245 246 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key164">plain text</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/export_wiki.html.
︙ | ︙ | |||
223 224 225 226 227 228 229 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
253 254 255 256 257 258 259 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/import.html.
︙ | ︙ | |||
209 210 211 212 213 214 215 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | <i class="term">plugin writer</i>s reading and understanding the section containing the <span class="sectref"><a href="#section4">Import plugin API v2 reference</a></span> is an absolute necessity, as it specifies the interaction between this package and its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">Concepts</a></h2> <ol class="enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key184">keyword index</a></i> consists of a (possibly empty) set of <i class="term"><a href="../../../../index.html#key760">keywords</a></i>.</p></li> <li><p>Each keyword in the set is identified by its name.</p></li> <li><p>Each keyword has a (possibly empty) set of <i class="term">references</i>.</p></li> <li><p>A reference can be associated with more than one keyword.</p></li> <li><p>A reference not associated with at least one keyword is not possible however.</p></li> <li><p>Each reference is identified by its target, specified as either an url or symbolic filename, depending on the type of reference (<b class="const">url</b>, |
︙ | ︙ | |||
243 244 245 246 247 248 249 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::idx::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
471 472 473 474 475 476 477 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
501 502 503 504 505 506 507 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key508">url</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/import_docidx.html.
︙ | ︙ | |||
223 224 225 226 227 228 229 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
253 254 255 256 257 258 259 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key182">index</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/import_json.html.
︙ | ︙ | |||
246 247 248 249 250 251 252 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
276 277 278 279 280 281 282 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key182">index</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/introduction.html.
︙ | ︙ | |||
237 238 239 240 241 242 243 | <*> Multiple packages following the given form of naming. </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | <*> Multiple packages following the given form of naming. </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../doctools/docidx_intro.html">docidx_intro</a>, <a href="../doctools/doctoc_intro.html">doctoc_intro</a>, <a href="../doctools/doctools.html">doctools</a>, doctools2doc_introduction, <a href="../doctools2toc/introduction.html">doctools2toc_introduction</a>, <a href="../doctools/doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="../doctools/doctools_lang_faq.html">doctools_lang_faq</a>, <a href="../doctools/doctools_lang_intro.html">doctools_lang_intro</a>, <a href="../doctools/doctools_lang_syntax.html">doctools_lang_syntax</a>, <a href="../doctools/doctools_plugin_apiref.html">doctools_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key182">index</a>, <a href="../../../../index.html#key184">keyword index</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key143">semantic markup</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/msgcat_c.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key501">C</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/msgcat_de.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key245">DE</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/msgcat_en.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key47">EN</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/msgcat_fr.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key601">FR</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2idx/parse.html.
︙ | ︙ | |||
300 301 302 303 304 305 306 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
330 331 332 333 334 335 336 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key370">lexer</a>, <a href="../../../../index.html#key9">parser</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2idx/structure.html.
︙ | ︙ | |||
241 242 243 244 245 246 247 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | this order.</p> <p>Any key here has to be associated with at least one keyword, i.e. occur in at least one of the reference lists which are the values in the <b class="const">keywords</b> dictionary, see previous item for its definition.</p></dd> </dl> </li> <li><p>The <i class="term"><a href="../../../../index.html#key123">type</a></i> of a reference can be one of two values,</p> <dl class="definitions"> <dt><b class="const">manpage</b></dt> <dd><p>The identifier of the reference is interpreted as symbolic file name, refering to one of the documents the index was made for.</p></dd> <dt><b class="const">url</b></dt> <dd><p>The identifier of the reference is interpreted as an url, refering to some external location, like a website, etc.</p></dd> |
︙ | ︙ | |||
271 272 273 274 275 276 277 | </ol></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | </ol></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/container.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new container object with an associated Tcl | | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new container object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
384 385 386 387 388 389 390 | the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="27"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the table of contents in the <i class="arg">data</i> to its | | | 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="27"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the table of contents in the <i class="arg">data</i> to its contents instead of replacing it. The method will throw an error if merging is not possible, i.e. would produce an invalid table. The existing content is left unchanged in that case.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="28"><i class="arg">objectName</i> <b class="method">serialize</b> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method returns the table of contents contained in the object. If no <i class="arg">format</i> is not specified the returned result is the canonical |
︙ | ︙ | |||
493 494 495 496 497 498 499 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key488">doctoc markup</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key563">generation</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key186">latex</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key117">table</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key562">tcler's wiki</a>, <a href="../../../../index.html#key480">text</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export.html.
︙ | ︙ | |||
156 157 158 159 160 161 162 | <li><a href="#10"><b class="cmd"><a href="../../../../index.html#key165">export</a></b> <i class="arg">serial</i> <i class="arg">configuration</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a class to manage the plugins for the export of tables of contents to other formats, i.e. their conversion to, for | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | <li><a href="#10"><b class="cmd"><a href="../../../../index.html#key165">export</a></b> <i class="arg">serial</i> <i class="arg">configuration</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a class to manage the plugins for the export of tables of contents to other formats, i.e. their conversion to, for example <i class="term"><a href="../../../../index.html#key246">doctoc</a></i>, <i class="term"><a href="../../../../index.html#key18">HTML</a></i>, etc.</p> <p>This is one of the three public pillars the management of tables of contents resides on. The other two pillars are</p> <ol class="enumerated"> <li><p><i class="term">Importing tables of contents</i>, and</p></li> <li><p><i class="term"><a href="container.html">Holding tables of contents</a></i></p></li> </ol> <p>For information about the <span class="sectref"><a href="#section2">Concepts</a></span> of tables of contents, |
︙ | ︙ | |||
238 239 240 241 242 243 244 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated | | | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
458 459 460 461 462 463 464 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key563">generation</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key117">table</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key562">tcler's wiki</a>, <a href="../../../../index.html#key480">text</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_doctoc.html.
︙ | ︙ | |||
307 308 309 310 311 312 313 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_html.html.
︙ | ︙ | |||
340 341 342 343 344 345 346 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text formatter plugin</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_json.html.
︙ | ︙ | |||
343 344 345 346 347 348 349 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_nroff.html.
︙ | ︙ | |||
277 278 279 280 281 282 283 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key21">nroff</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_text.html.
︙ | ︙ | |||
263 264 265 266 267 268 269 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key164">plain text</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/export_wiki.html.
︙ | ︙ | |||
270 271 272 273 274 275 276 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a>, <a href="../../../../index.html#key183">wiki</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/import.html.
︙ | ︙ | |||
237 238 239 240 241 242 243 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | </ol> </div> <div id="section3" class="section"><h2><a name="section3">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::doctools::toc::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
519 520 521 522 523 524 525 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key185">documentation</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key564">reference</a>, <a href="../../../../index.html#key117">table</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key508">url</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/doctools2toc/import_doctoc.html.
︙ | ︙ | |||
277 278 279 280 281 282 283 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/import_json.html.
︙ | ︙ | |||
320 321 322 323 324 325 326 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 | </ol></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key167">table of contents</a>, <a href="../../../../index.html#key166">toc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/introduction.html.
︙ | ︙ | |||
237 238 239 240 241 242 243 | <*> Multiple packages following the given form of naming. </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | <*> Multiple packages following the given form of naming. </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../doctools/doctoc_intro.html">doctoc_intro</a>, <a href="../doctools/doctools.html">doctools</a>, doctools2doc_introduction, <a href="../doctools2idx/introduction.html">doctools2idx_introduction</a>, <a href="../doctools/doctools_lang_cmdref.html">doctools_lang_cmdref</a>, <a href="../doctools/doctools_lang_faq.html">doctools_lang_faq</a>, <a href="../doctools/doctools_lang_intro.html">doctools_lang_intro</a>, <a href="../doctools/doctools_lang_syntax.html">doctools_lang_syntax</a>, <a href="../doctools/doctools_plugin_apiref.html">doctools_plugin_apiref</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key619">contents</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key143">semantic markup</a>, <a href="../../../../index.html#key167">table of contents</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/msgcat_c.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key501">C</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/msgcat_de.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key245">DE</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/msgcat_en.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key47">EN</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/msgcat_fr.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <p>This package has no exported API.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key601">FR</a>, <a href="../../../../index.html#key48">catalog package</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key42">i18n</a>, <a href="../../../../index.html#key46">internationalization</a>, <a href="../../../../index.html#key49">l10n</a>, <a href="../../../../index.html#key45">localization</a>, <a href="../../../../index.html#key43">message catalog</a>, <a href="../../../../index.html#key44">message package</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/parse.html.
︙ | ︙ | |||
354 355 356 357 358 359 360 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | </ol></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key370">lexer</a>, <a href="../../../../index.html#key9">parser</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/doctools2toc/structure.html.
︙ | ︙ | |||
307 308 309 310 311 312 313 | </ol></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the | | | 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | </ol></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key247">deserialization</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key115">serialization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/dtplite/dtplite.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">FORMATS</a></li> <li class="subsection"><a href="#subsection5">DIRECTORY STRUCTURES</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="subsection"><a href="#subsection1">USE CASES</a></li> <li class="subsection"><a href="#subsection2">COMMAND LINE</a></li> <li class="subsection"><a href="#subsection3">OPTIONS</a></li> <li class="subsection"><a href="#subsection4">FORMATS</a></li> <li class="subsection"><a href="#subsection5">DIRECTORY STRUCTURES</a></li> </ul> </li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
409 410 411 412 413 414 415 | of contents and keyword index for the set of documents before their conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup.</p></dd> </dl> </div> </div> | | | | | | | | 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 | of contents and keyword index for the set of documents before their conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup.</p></dd> </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>doctools</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../doctools/docidx_intro.html">docidx introduction</a>, <a href="../doctools/doctoc_intro.html">doctoc introduction</a>, <a href="../doctools/doctools_intro.html">doctools introduction</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key18">HTML</a>, <a href="../../../../index.html#key19">TMML</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key50">docidx</a>, <a href="../../../../index.html#key246">doctoc</a>, <a href="../../../../index.html#key51">doctools</a>, <a href="../../../../index.html#key17">manpage</a>, <a href="../../../../index.html#key16">markup</a>, <a href="../../../../index.html#key21">nroff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2013 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/exif/exif.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">COPYRIGHTS</a></li> <li class="section"><a href="#section4">ACKNOWLEDGEMENTS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">COPYRIGHTS</a></li> <li class="section"><a href="#section4">ACKNOWLEDGEMENTS</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | <p>(c) 2002 Darren New Hold harmless the author, and any lawful use is allowed.</p> </div> <div id="section4" class="section"><h2><a name="section4">ACKNOWLEDGEMENTS</a></h2> <p>This code is a direct translation of version 1.3 of exif.pl by Chris Breeze. See the source for full headers, references, etc.</p> </div> | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | <p>(c) 2002 Darren New Hold harmless the author, and any lawful use is allowed.</p> </div> <div id="section4" class="section"><h2><a name="section4">ACKNOWLEDGEMENTS</a></h2> <p>This code is a direct translation of version 1.3 of exif.pl by Chris Breeze. See the source for full headers, references, etc.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>exif</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key160">exif</a>, <a href="../../../../index.html#key161">jpeg</a>, <a href="../../../../index.html#key818">maker note</a>, <a href="../../../../index.html#key132">tiff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fileutil/fileutil.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>fileutil - Procedures implementing some file utilities</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>fileutil - Procedures implementing some file utilities</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
202 203 204 205 206 207 208 | <dd><p><b class="cmd">file executable</b></p></dd> <dt><em>f</em>ile</dt> <dd><p><b class="cmd">file isfile</b></p></dd> <dt><em>d</em>ir</dt> <dd><p><b class="cmd">file isdirectory</b></p></dd> </dl></dd> <dt><a name="4"><b class="cmd">::fileutil::cat</b> (<span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i>)...</a></dt> | | | 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <dd><p><b class="cmd">file executable</b></p></dd> <dt><em>f</em>ile</dt> <dd><p><b class="cmd">file isfile</b></p></dd> <dt><em>d</em>ir</dt> <dd><p><b class="cmd">file isdirectory</b></p></dd> </dl></dd> <dt><a name="4"><b class="cmd">::fileutil::cat</b> (<span class="opt">?<i class="arg">options</i>?</span> <i class="arg">file</i>)...</a></dt> <dd><p>A tcl implementation of the UNIX <b class="syscmd"><a href="../../../../index.html#key292">cat</a></b> command. Returns the contents of the specified file(s). The arguments are files to read, with interspersed options configuring the process. If there are problems reading any of the files, an error will occur, and no data will be returned.</p> <p>The options accepted are <b class="option">-encoding</b>, <b class="option">-translation</b>, <b class="option">-eofchar</b>, and <b class="option">--</b>. With the exception of the last all options take a single value as argument, as specified by the tcl |
︙ | ︙ | |||
283 284 285 286 287 288 289 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> | | | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::find</b> <span class="opt">?<i class="arg">basedir</i> <span class="opt">?<i class="arg">filtercmd</i>?</span>?</span></a></dt> <dd><p>An implementation of the unix command <b class="syscmd"><a href="../../../../index.html#key608">find</a></b>. Adapted from the Tcler's Wiki. Takes at most two arguments, the path to the directory to start searching from and a command to use to evaluate interest in each file. The path defaults to "<b class="file">.</b>", i.e. the current directory. The command defaults to the empty string, which means that all files are of interest. The command takes care <em>not</em> to lose itself in infinite loops upon encountering circular link structures. The result of the command is a list containing the paths |
︙ | ︙ | |||
452 453 454 455 456 457 458 | As implied in the previous sentence, the command is not able to compute this relationship between the arguments if one of the paths is absolute and the other relative.</p> <p><em>Note:</em> The processing done by this command is purely lexical. Symbolic links are <em>not</em> taken into account.</p></dd> </dl> </div> | | | | | 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 | As implied in the previous sentence, the command is not able to compute this relationship between the arguments if one of the paths is absolute and the other relative.</p> <p><em>Note:</em> The processing done by this command is purely lexical. Symbolic links are <em>not</em> taken into account.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key292">cat</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key294">grep</a>, <a href="../../../../index.html#key293">temp file</a>, <a href="../../../../index.html#key291">test</a>, <a href="../../../../index.html#key295">touch</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fileutil/multi.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PUBLIC API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
155 156 157 158 159 160 161 | execute. See the section <b class="sectref">FILE API</b> of the documentation for the package <b class="package"><a href="multiop.html">fileutil::multi::op</a></b> for the set of acceptable commands, their syntax, and semantics.</p> <p>The result of the command is the result generated by the last file command it executed.</p></dd> </dl> </div> | | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | execute. See the section <b class="sectref">FILE API</b> of the documentation for the package <b class="package"><a href="multiop.html">fileutil::multi::op</a></b> for the set of acceptable commands, their syntax, and semantics.</p> <p>The result of the command is the result generated by the last file command it executed.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key227">move</a>, <a href="../../../../index.html#key225">multi-file</a>, <a href="../../../../index.html#key226">remove</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fileutil/multiop.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">CLASS API</a></li> <li class="section"><a href="#section3">OBJECT API</a></li> <li class="section"><a href="#section4">FILE API</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">CLASS API</a></li> <li class="section"><a href="#section3">OBJECT API</a></li> <li class="section"><a href="#section4">FILE API</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
317 318 319 320 321 322 323 | like qualifiers, and still take effect as if they had been written before this command.</p> <p>After the operation has been performed the object state the exclude patterns and the alias name, if specified, are reset to their default values (i.e. empty), but nothing else.</p></dd> <dt><a name="30"><b class="cmd">the-set</b> <i class="arg">varname</i></a></dt> <dd><p>Like <b class="cmd">the</b>, however the set of files to use is not specified | | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | like qualifiers, and still take effect as if they had been written before this command.</p> <p>After the operation has been performed the object state the exclude patterns and the alias name, if specified, are reset to their default values (i.e. empty), but nothing else.</p></dd> <dt><a name="30"><b class="cmd">the-set</b> <i class="arg">varname</i></a></dt> <dd><p>Like <b class="cmd">the</b>, however the set of files to use is not specified implicitly per a glob pattern, but contained and loaded from the specified variable. The operation <b class="cmd">expand</b> is not available if this command is used.</p></dd> <dt><a name="31"><b class="cmd">-></b> <i class="arg">varname</i></a></dt> <dd><p>Saves the set of files from the last expansion into the specified variable.</p></dd> <dt><a name="32"><b class="cmd">strict</b></a></dt> <dd><p>Make file expansion and definition of destination directory (<b class="cmd">in</b> |
︙ | ︙ | |||
440 441 442 443 444 445 446 | from /sources \\ into /scratch \\ but not *.html not index \\ the index \\ as pkgIndex.tcl </pre> </div> | | | | 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 | from /sources \\ into /scratch \\ but not *.html not index \\ the index \\ as pkgIndex.tcl </pre> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key227">move</a>, <a href="../../../../index.html#key225">multi-file</a>, <a href="../../../../index.html#key226">remove</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fileutil/traverse.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OPTIONS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
213 214 215 216 217 218 219 | error occured, and the error message. Errors thrown by the filter callbacks are handled through this callback too. Errors thrown by the error callback itself are not caught and ignored, but allowed to pass to the caller, i.e. however invoked the <b class="method">next</b>. Any other results from the callback are ignored.</p></dd> </dl> </div> | | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | error occured, and the error message. Errors thrown by the filter callbacks are handled through this callback too. Errors thrown by the error callback itself are not caught and ignored, but allowed to pass to the caller, i.e. however invoked the <b class="method">next</b>. Any other results from the callback are ignored.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key704">directory traversal</a>, <a href="../../../../index.html#key703">traversal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ftp/ftp.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">BUGS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">BUGS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
423 424 425 426 427 428 429 | <div id="section3" class="section"><h2><a name="section3">BUGS</a></h2> <p>The correct execution of many commands depends upon the proper behavior by the remote server, network and router configuration.</p> <p>An update command placed in the procedure <b class="cmd">::ftp::DisplayMsg</b> may run into persistent errors or infinite loops. The solution to this problem is to use <b class="cmd">update idletasks</b> instead of <b class="cmd"><a href="../../../../index.html#key394">update</a></b>.</p> </div> | | | | | 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 | <div id="section3" class="section"><h2><a name="section3">BUGS</a></h2> <p>The correct execution of many commands depends upon the proper behavior by the remote server, network and router configuration.</p> <p>An update command placed in the procedure <b class="cmd">::ftp::DisplayMsg</b> may run into persistent errors or infinite loops. The solution to this problem is to use <b class="cmd">update idletasks</b> instead of <b class="cmd"><a href="../../../../index.html#key394">update</a></b>.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ftp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftpd/ftpd.html">ftpd</a>, <a href="../mime/mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="../mime/smtp.html">smtp</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key275">ftp</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key276">net</a>, <a href="../../../../index.html#key274">rfc 959</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ftp/ftp_geturl.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | <dd><p>A listing of the contents of the directory in key value notation where the file name is the key and its attributes the associated value.</p></dd> <dt><i class="term">link</i></dt> <dd><p>The attributes of the link, including the path it refers to.</p></dd> </dl></dd> </dl> </div> | | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <dd><p>A listing of the contents of the directory in key value notation where the file name is the key and its attributes the associated value.</p></dd> <dt><i class="term">link</i></dt> <dd><p>The attributes of the link, including the path it refers to.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ftp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftpd/ftpd.html">ftpd</a>, <a href="../mime/mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="../mime/smtp.html">smtp</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key275">ftp</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key276">net</a>, <a href="../../../../index.html#key274">rfc 959</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ftpd/ftpd.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">CALLBACKS</a></li> <li class="section"><a href="#section4">VARIABLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">CALLBACKS</a></li> <li class="section"><a href="#section4">VARIABLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
311 312 313 314 315 316 317 | <dd><p>The current working directory for a session when someone first connects to the FTPD or when the <b class="cmd">REIN</b> ftp command is received.</p></dd> <dt><b class="variable">::ftpd::contact</b></dt> <dd><p>The e-mail address of the person that is the contact for the ftp server. This address is printed out as part of the response to the <b class="cmd">FTP HELP</b> command.</p></dd> <dt><b class="variable">::ftpd::port</b></dt> | | | | | | | 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | <dd><p>The current working directory for a session when someone first connects to the FTPD or when the <b class="cmd">REIN</b> ftp command is received.</p></dd> <dt><b class="variable">::ftpd::contact</b></dt> <dd><p>The e-mail address of the person that is the contact for the ftp server. This address is printed out as part of the response to the <b class="cmd">FTP HELP</b> command.</p></dd> <dt><b class="variable">::ftpd::port</b></dt> <dd><p>The port that the ftp server should listen on. If port is specified as zero, the operating system will allocate an unused port for use as a server socket; afterwards, the variable will contain the port number that was allocated.</p></dd> <dt><b class="variable">::ftpd::welcome</b></dt> <dd><p>The message that is printed out when the user first connects to the ftp server.</p></dd> <dt><b class="variable">::ftpd::CurrentSocket</b></dt> <dd><p>Accessible to all callbacks and all filesystem commands (which are a special form of callback) and contains the handle of the socket channel which was active when the callback was invoked.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ftpd</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key275">ftp</a>, <a href="../../../../index.html#key586">ftpd</a>, <a href="../../../../index.html#key585">ftpserver</a>, <a href="../../../../index.html#key274">rfc 959</a>, <a href="../../../../index.html#key584">services</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fumagic/cfront.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
165 166 167 168 169 170 171 | each of the paths into a recognizer procedure and installs the result in the current interpreter.</p> <p>The name of each new procedure is derived from the name of the file/directory used in its creation, with file/directory "<b class="file">FOO</b>" causing the creation of procedure <b class="const">::fileutil::magic::/FOO::run</b>.</p></dd> </dl> </div> | | | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | each of the paths into a recognizer procedure and installs the result in the current interpreter.</p> <p>The name of each new procedure is derived from the name of the file/directory used in its creation, with file/directory "<b class="file">FOO</b>" causing the creation of procedure <b class="const">::fileutil::magic::/FOO::run</b>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil :: magic</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>file(1), <a href="../fileutil/fileutil.html">fileutil</a>, magic(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key122">file recognition</a>, <a href="../../../../index.html#key124">file type</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fumagic/cgen.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | recognizer for the file types represented by the sub-tree rooted at the <i class="arg">node</i>. The generated script makes extensive use of the commands provided by the recognizer runtime package <b class="package"><a href="rtcore.html">fileutil::magic::rt</a></b> to perform its duties.</p></dd> </dl> </div> | | | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | recognizer for the file types represented by the sub-tree rooted at the <i class="arg">node</i>. The generated script makes extensive use of the commands provided by the recognizer runtime package <b class="package"><a href="rtcore.html">fileutil::magic::rt</a></b> to perform its duties.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil :: magic</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>file(1), <a href="../fileutil/fileutil.html">fileutil</a>, magic(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key122">file recognition</a>, <a href="../../../../index.html#key124">file type</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fumagic/filetypes.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REFERENCES</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REFERENCES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | <ol class="enumerated"> <li><p><a href="ftp://ftp.astron.com/pub/file/">File(1) sources</a> This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer.</p></li> </ol> </div> | | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <ol class="enumerated"> <li><p><a href="ftp://ftp.astron.com/pub/file/">File(1) sources</a> This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer.</p></li> </ol> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil :: magic</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>file(1), <a href="../fileutil/fileutil.html">fileutil</a>, magic(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key122">file recognition</a>, <a href="../../../../index.html#key124">file type</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fumagic/mimetypes.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REFERENCES</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REFERENCES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | <ol class="enumerated"> <li><p><a href="ftp://ftp.astron.com/pub/file/">File(1) sources</a> This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer.</p></li> </ol> </div> | | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <ol class="enumerated"> <li><p><a href="ftp://ftp.astron.com/pub/file/">File(1) sources</a> This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer.</p></li> </ol> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil :: magic</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>file(1), <a href="../fileutil/fileutil.html">fileutil</a>, magic(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key122">file recognition</a>, <a href="../../../../index.html#key124">file type</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/fumagic/rtcore.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">NUMERIC TYPES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">NUMERIC TYPES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
232 233 234 235 236 237 238 | </pre> <p>The special comparison operator <b class="const">x</b> signals that no comparison should be done, or, in other words, that the fetched value will always match <i class="arg">val</i>.</p></dd> <dt><a name="10"><b class="cmd">::fileutil::magic::rt::Nvx</b> <i class="arg">atlevel</i> <i class="arg">type</i> <i class="arg">offset</i> <span class="opt">?<i class="arg">qual</i>?</span></a></dt> <dd><p>This command behaves like <b class="cmd">::fileutil::magic::rt::Nv</b>, except that it additionally remembers the location in the file after the fetch in | | | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | </pre> <p>The special comparison operator <b class="const">x</b> signals that no comparison should be done, or, in other words, that the fetched value will always match <i class="arg">val</i>.</p></dd> <dt><a name="10"><b class="cmd">::fileutil::magic::rt::Nvx</b> <i class="arg">atlevel</i> <i class="arg">type</i> <i class="arg">offset</i> <span class="opt">?<i class="arg">qual</i>?</span></a></dt> <dd><p>This command behaves like <b class="cmd">::fileutil::magic::rt::Nv</b>, except that it additionally remembers the location in the file after the fetch in the calling context, for the level <i class="arg">atlevel</i>, for later use by <b class="cmd">::fileutil::magic::rt::R</b>.</p></dd> <dt><a name="11"><b class="cmd">::fileutil::magic::rt::Nx</b> <i class="arg">atlevel</i> <i class="arg">type</i> <i class="arg">offset</i> <i class="arg">comp</i> <i class="arg">val</i> <span class="opt">?<i class="arg">qual</i>?</span></a></dt> <dd><p>This command behaves like <b class="cmd">::fileutil::magic::rt::N</b>, except that it additionally remembers the location in the file after the fetch in the calling context, for the level <i class="arg">atlevel</i>, for later use by <b class="cmd">::fileutil::magic::rt::R</b>.</p></dd> <dt><a name="12"><b class="cmd">::fileutil::magic::rt::S</b> <i class="arg">offset</i> <i class="arg">comp</i> <i class="arg">val</i> <span class="opt">?<i class="arg">qual</i>?</span></a></dt> <dd><p>This command behaves like <b class="cmd">::fileutil::magic::rt::N</b>, except that it fetches and compares strings, not numeric data. The fetched value is also stored in the internal string buffer instead of the numeric buffer.</p></dd> <dt><a name="13"><b class="cmd">::fileutil::magic::rt::Sx</b> <i class="arg">atlevel</i> <i class="arg">offset</i> <i class="arg">comp</i> <i class="arg">val</i> <span class="opt">?<i class="arg">qual</i>?</span></a></dt> <dd><p>This command behaves like <b class="cmd">::fileutil::magic::rt::S</b>, except that it additionally remembers the location in the file after the fetch in the calling context, for the level <i class="arg">atlevel</i>, for later use by <b class="cmd">::fileutil::magic::rt::R</b>.</p></dd> <dt><a name="14"><b class="cmd">::fileutil::magic::rt::L</b> <i class="arg">newlevel</i></a></dt> <dd><p>This command sets the current level in the calling context to <i class="arg">newlevel</i>. The command returns the empty string as its result.</p></dd> <dt><a name="15"><b class="cmd">::fileutil::magic::rt::I</b> <i class="arg">base</i> <i class="arg">type</i> <i class="arg">delta</i></a></dt> <dd><p>This command handles base locations specified indirectly through the contents of the inspected file. It returns the sum of <i class="arg">delta</i> and |
︙ | ︙ | |||
301 302 303 304 305 306 307 | <dd><p>32-bit integer timestamp, stored in native endianess</p></dd> <dt><b class="const">beldate</b></dt> <dd><p>see above, stored in big endian</p></dd> <dt><b class="const">leldate</b></dt> <dd><p>see above, stored in small/little endian</p></dd> </dl> </div> | | | | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | <dd><p>32-bit integer timestamp, stored in native endianess</p></dd> <dt><b class="const">beldate</b></dt> <dd><p>see above, stored in big endian</p></dd> <dt><b class="const">leldate</b></dt> <dd><p>see above, stored in small/little endian</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>fileutil :: magic</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>file(1), <a href="../fileutil/fileutil.html">fileutil</a>, magic(5)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key122">file recognition</a>, <a href="../../../../index.html#key124">file type</a>, <a href="../../../../index.html#key121">file utilities</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key123">type</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/generator/generator.html.
︙ | ︙ | |||
196 197 198 199 200 201 202 | series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible <b class="method">foreach</b> command that loops through the values of one or more generators. This loop construct mimicks the functionality of the built-in Tcl <b class="cmd"><a href="../../../../index.html#key209">foreach</a></b> command, including handling multiple return values and looping over multiple generators at once. Writing a generator is also a simple task, much like writing a normal procedure: simply use the <b class="method">define</b> | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible <b class="method">foreach</b> command that loops through the values of one or more generators. This loop construct mimicks the functionality of the built-in Tcl <b class="cmd"><a href="../../../../index.html#key209">foreach</a></b> command, including handling multiple return values and looping over multiple generators at once. Writing a generator is also a simple task, much like writing a normal procedure: simply use the <b class="method">define</b> command to define the generator, and then call <b class="method">yield</b> instead of <b class="cmd">return</b>. For example, we can define a generator for looping through the integers in a particular range:</p> <pre class="example"> generator define range {n m} { for {set i $n} {$i <= $m} {incr i} { generator yield $i } } generator foreach x [range 1 10] { |
︙ | ︙ | |||
241 242 243 244 245 246 247 | returns an empty list and then destroys itself to free up resources. It is an error to attempt to call an exhausted generator as the command no longer exists.</p></dd> <dt><a name="2"><b class="cmd">generator</b> <b class="method">yield</b> <i class="arg">arg</i> <span class="opt">?<i class="arg">args..</i>?</span></a></dt> <dd><p>Used in the definition of a generator, this command returns the next set of values to the consumer. Once the <b class="method">yield</b> command has been called the generator will suspend to allow the consumer to process that value. When the next value is requested, the generator will resume as if the yield command had | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | returns an empty list and then destroys itself to free up resources. It is an error to attempt to call an exhausted generator as the command no longer exists.</p></dd> <dt><a name="2"><b class="cmd">generator</b> <b class="method">yield</b> <i class="arg">arg</i> <span class="opt">?<i class="arg">args..</i>?</span></a></dt> <dd><p>Used in the definition of a generator, this command returns the next set of values to the consumer. Once the <b class="method">yield</b> command has been called the generator will suspend to allow the consumer to process that value. When the next value is requested, the generator will resume as if the yield command had just returned, and can continue processing to yield the next result. The <b class="method">yield</b> command must be called with at least one argument, but can be called with multiple arguments, in which case this is equivalent to calling <b class="method">yield</b> once for each argument.</p></dd> <dt><a name="3"><b class="cmd">generator</b> <b class="method">foreach</b> <i class="arg">varList</i> <i class="arg">generator</i> <i class="arg">varList</i> <i class="arg">generator</i> <span class="opt">?...?</span> <i class="arg">body</i></a></dt> <dd><p>Loops through one or more generators, assigning the next values to variables and then executing the loop body. Works much like the built-in <b class="cmd"><a href="../../../../index.html#key209">foreach</a></b> command, but working with generators rather than lists. Multiple generators can |
︙ | ︙ | |||
504 505 506 507 508 509 510 | </dl> </div> <div id="section4" class="section"><h2><a name="section4">BUGS, IDEAS, FEEDBACK</a></h2> <p>Please report any errors in this document, or in the package it describes, to <a href="mailto:[email protected]">Neil Madden</a>.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 504 505 506 507 508 509 510 511 512 513 | </dl> </div> <div id="section4" class="section"><h2><a name="section4">BUGS, IDEAS, FEEDBACK</a></h2> <p>Please report any errors in this document, or in the package it describes, to <a href="mailto:[email protected]">Neil Madden</a>.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key215">control structure</a>, <a href="../../../../index.html#key210">coroutine</a>, <a href="../../../../index.html#key214">filter</a>, <a href="../../../../index.html#key212">foldl</a>, <a href="../../../../index.html#key217">foldr</a>, <a href="../../../../index.html#key209">foreach</a>, <a href="../../../../index.html#key216">generator</a>, <a href="../../../../index.html#key213">iterator</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key208">reduce</a>, <a href="../../../../index.html#key211">scanl</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/gpx/gpx.html.
︙ | ︙ | |||
118 119 120 121 122 123 124 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">DATA STRUCTURES</a></li> <li class="section"><a href="#section4">EXAMPLE</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">AUTHOR</a></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">DATA STRUCTURES</a></li> <li class="section"><a href="#section4">EXAMPLE</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">AUTHOR</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
172 173 174 175 176 177 178 | <dt><a name="3"><b class="cmd">::gpx::GetGPXMetadata</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns a dictionary of the metadata associated with the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below, but keys <em>version</em> and <em>creator</em> will always be present.</p></dd> <dt><a name="4"><b class="cmd">::gpx::GetWaypointCount</b> <i class="arg">token</i></a></dt> | | | | | | | | | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | <dt><a name="3"><b class="cmd">::gpx::GetGPXMetadata</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns a dictionary of the metadata associated with the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below, but keys <em>version</em> and <em>creator</em> will always be present.</p></dd> <dt><a name="4"><b class="cmd">::gpx::GetWaypointCount</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns the number of waypoints defined in the GPX data identified by <i class="arg">token</i>.</p></dd> <dt><a name="5"><b class="cmd">::gpx::GetAllWaypoints</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns the a list of waypoints defined in the GPX data identified by <i class="arg">token</i>. The format of each waypoint item is described below.</p></dd> <dt><a name="6"><b class="cmd">::gpx::GetTrackCount</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns the number of tracks defined in the GPX data identified by <i class="arg">token</i>.</p></dd> <dt><a name="7"><b class="cmd">::gpx::GetTrackMetadata</b> <i class="arg">token</i> <i class="arg">whichTrack</i></a></dt> <dd><p>This procedure returns a dictionary of the metadata associated track number <i class="arg">whichTrack</i> (1 based) in the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below.</p></dd> <dt><a name="8"><b class="cmd">::gpx::GetTrackPoints</b> <i class="arg">token</i> <i class="arg">whichTrack</i></a></dt> <dd><p>The procedure returns a list of track points comprising track number <i class="arg">whichTrack</i> (1 based) in the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below.</p></dd> <dt><a name="9"><b class="cmd">::gpx::GetRouteCount</b> <i class="arg">token</i></a></dt> <dd><p>This procedure returns the number of routes defined in the GPX data identified by <i class="arg">token</i>.</p></dd> <dt><a name="10"><b class="cmd">::gpx::GetRouteMetadata</b> <i class="arg">token</i> <i class="arg">whichRoute</i></a></dt> <dd><p>This procedure returns a dictionary of the metadata associated route number <i class="arg">whichRoute</i> (1 based) in the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below.</p></dd> <dt><a name="11"><b class="cmd">::gpx::GetRoutePoints</b> <i class="arg">token</i> <i class="arg">whichRoute</i></a></dt> <dd><p>The procedure returns a list of route points comprising route number <i class="arg">whichRoute</i> (1 based) in the GPX data identified by <i class="arg">token</i>. The format of the metadata dictionary is described below.</p></dd> </dl> |
︙ | ︙ | |||
221 222 223 224 225 226 227 | a sub-dictionary with keys <em>href</em> and optionally <em>text</em> and <em>type</em>.</p></dd> <dt>point item</dt> <dd><p>Each item in a track or route list of points consists of a list of three elements: <em>latitude</em>, <em>longitude</em> and <em>metadata dictionary</em>. <em>Latitude</em> and <em>longitude</em> are decimal numbers. The <em>metadata dictionary</em> format is | | | | | | 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | a sub-dictionary with keys <em>href</em> and optionally <em>text</em> and <em>type</em>.</p></dd> <dt>point item</dt> <dd><p>Each item in a track or route list of points consists of a list of three elements: <em>latitude</em>, <em>longitude</em> and <em>metadata dictionary</em>. <em>Latitude</em> and <em>longitude</em> are decimal numbers. The <em>metadata dictionary</em> format is described above. For points in a track, typically there will always be ele (elevation) and time metadata keys.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLE</a></h2> <pre class="example"> % set token [::gpx::Create myGpxFile.gpx] % set version [dict get [::gpx::GetGPXMetadata $token] version] % set trackCnt [::gpx::GetTrackCount $token] % set firstPoint [lindex [::gpx::GetTrackPoints $token 1] 0] % lassign $firstPoint lat lon ptMetadata % puts "first point in the first track is at $lat, $lon" % if {[dict exists $ptMetadata ele]} { puts "at elevation [dict get $ptMetadata ele] meters" } % ::gpx::Cleanup $token </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>GPX: the GPS Exchange Format (<a href="http://www.topografix.com/gpx.asp">http://www.topografix.com/gpx.asp</a>)</p></li> <li><p>GPX 1.1 Schema Documentation (<a href="http://www.topografix.com/GPX/1/1/">http://www.topografix.com/GPX/1/1/</a>)</p></li> <li><p>GPX 1.0 Developer's Manual (<a href="http://www.topografix.com/gpx_manual.asp">http://www.topografix.com/gpx_manual.asp</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">AUTHOR</a></h2> <p>Keith Vetter</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>gpx</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key386">gps</a>, <a href="../../../../index.html#key652">gpx</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, Keith Vetter <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_aycock/aycock.html.
︙ | ︙ | |||
142 143 144 145 146 147 148 | <li><a href="#6"><i class="arg">parserName</i> <b class="method">save</b></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">grammar::aycock</b> package implements a parser generator for the class of parsers described | | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <li><a href="#6"><i class="arg">parserName</i> <b class="method">save</b></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">grammar::aycock</b> package implements a parser generator for the class of parsers described in John Aycock and R. Nigel Horspool. Practical Earley Parsing. <em>The Computer Journal,</em> <em>45</em>(6):620-630, 2002. <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.4254">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.4254</a></p> </div> <div id="section2" class="section"><h2><a name="section2">PROCEDURES</a></h2> <p>The <b class="package">grammar::aycock</b> package exports the single procedure:</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">::aycock::parser</b> <i class="arg">grammar</i> <span class="opt">?<b class="option">-verbose</b>?</span></a></dt> <dd><p>Generates a parser for the given <i class="arg">grammar</i>, and returns its |
︙ | ︙ | |||
167 168 169 170 171 172 173 | <dd><p>Invokes a parser returned from <b class="cmd">::aycock::parser</b>. <i class="arg">symList</i> is a list of grammar symbols representing the terminals in an input string, and <i class="arg">valList</i> is a list of their semantic values. The result is the semantic value of the entire string when parsed.</p></dd> <dt><a name="3"><i class="arg">parserName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroys a parser constructed by <b class="cmd">::aycock::parser</b>.</p></dd> <dt><a name="4"><i class="arg">parserName</i> <b class="method">terminals</b></a></dt> | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | <dd><p>Invokes a parser returned from <b class="cmd">::aycock::parser</b>. <i class="arg">symList</i> is a list of grammar symbols representing the terminals in an input string, and <i class="arg">valList</i> is a list of their semantic values. The result is the semantic value of the entire string when parsed.</p></dd> <dt><a name="3"><i class="arg">parserName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroys a parser constructed by <b class="cmd">::aycock::parser</b>.</p></dd> <dt><a name="4"><i class="arg">parserName</i> <b class="method">terminals</b></a></dt> <dd><p>Returns a list of terminal symbols that may be presented in the <i class="arg">symList</i> argument to the <b class="method">parse</b> object command.</p></dd> <dt><a name="5"><i class="arg">parserName</i> <b class="method">nonterminals</b></a></dt> <dd><p>Returns a list of nonterminal symbols that were defined in the parser's grammar.</p></dd> <dt><a name="6"><i class="arg">parserName</i> <b class="method">save</b></a></dt> <dd><p>Returns a Tcl script that will reconstruct the parser without needing all the mechanism of the parser generator at run time. |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_fa/dacceptor.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">ACCEPTOR METHODS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">ACCEPTOR METHODS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
187 188 189 190 191 192 193 | to simply fail. No errors will be thrown. The method will process only just that prefix of the input which is enough to fully determine (non-)acceptance.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLES</a></h2> </div> | | | | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | to simply fail. No errors will be thrown. The method will process only just that prefix of the input which is enough to fully determine (non-)acceptance.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLES</a></h2> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_fa</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key308">acceptance</a>, <a href="../../../../index.html#key305">acceptor</a>, <a href="../../../../index.html#key302">automaton</a>, <a href="../../../../index.html#key307">finite automaton</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key304">regular grammar</a>, <a href="../../../../index.html#key303">regular languages</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_fa/dexec.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">EXECUTOR METHODS</a></li> <li class="section"><a href="#section4">EXECUTOR CALLBACK</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">EXECUTOR METHODS</a></li> <li class="section"><a href="#section4">EXECUTOR CALLBACK</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
207 208 209 210 211 212 213 | do nothing, until the error condition has been cleared via an invokation of method <b class="method">reset</b>.</p></dd> <dt><a name="5"><i class="arg">daName</i> <b class="method">reset</b></a></dt> <dd><p>Unconditionally sets the executor into the start state of the underlying FA. This also clears any error condition <b class="method">put</b> may have encountered.</p></dd> <dt><a name="6"><i class="arg">daName</i> <b class="method">state</b></a></dt> | | | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | do nothing, until the error condition has been cleared via an invokation of method <b class="method">reset</b>.</p></dd> <dt><a name="5"><i class="arg">daName</i> <b class="method">reset</b></a></dt> <dd><p>Unconditionally sets the executor into the start state of the underlying FA. This also clears any error condition <b class="method">put</b> may have encountered.</p></dd> <dt><a name="6"><i class="arg">daName</i> <b class="method">state</b></a></dt> <dd><p>Returns the current state of the underlying FA. This allow for introspection without the need to pass data from the callback command.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">EXECUTOR CALLBACK</a></h2> <p>The callback command <i class="arg">cmdprefix</i> given to an executor via the option <b class="option">-command</b> will be executed by the object at the global level, using the syntax described below. Note that <i class="arg">cmdprefix</i> is |
︙ | ︙ | |||
243 244 245 246 247 248 249 | <dd><p>The executor was reset.</p></dd> <dt><a name="10"><i class="arg">cmdprefix</i> <b class="method">state</b> <i class="arg">stateid</i></a></dt> <dd><p>The FA changed state due to a transition. <i class="arg">stateid</i> is the new state.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">EXAMPLES</a></h2> </div> | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | <dd><p>The executor was reset.</p></dd> <dt><a name="10"><i class="arg">cmdprefix</i> <b class="method">state</b> <i class="arg">stateid</i></a></dt> <dd><p>The FA changed state due to a transition. <i class="arg">stateid</i> is the new state.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">EXAMPLES</a></h2> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_fa</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key302">automaton</a>, <a href="../../../../index.html#key408">execution</a>, <a href="../../../../index.html#key307">finite automaton</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key304">regular grammar</a>, <a href="../../../../index.html#key303">regular languages</a>, <a href="../../../../index.html#key409">running</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/grammar_fa/fa.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">FA METHODS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">FINITE AUTOMATONS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">FA METHODS</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">FINITE AUTOMATONS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
607 608 609 610 611 612 613 | <p>For the graph representation this means that edges are additional labeled with the output symbol to write when this edge is traversed while matching input. Note that for an application "writing an output symbol" can also be "executing some code".</p> <p>Transducers are not handled by this package. They will get their own package in the future.</p> </div> | | | | 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | <p>For the graph representation this means that edges are additional labeled with the output symbol to write when this edge is traversed while matching input. Note that for an application "writing an output symbol" can also be "executing some code".</p> <p>Transducers are not handled by this package. They will get their own package in the future.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_fa</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key302">automaton</a>, <a href="../../../../index.html#key307">finite automaton</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key304">regular grammar</a>, <a href="../../../../index.html#key303">regular languages</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_fa/faop.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
422 423 424 425 426 427 428 | but uses a different algorithm to simplify the generated regular expressions.</p></dd> <dt><a name="18"><b class="cmd">::grammar::fa::op::toTclRegexp</b> <i class="arg">regexp</i> <i class="arg">symdict</i></a></dt> <dd><p>This command generates and returns a regular expression in Tcl syntax for the regular expression <i class="arg">regexp</i>, if that is possible. <i class="arg">regexp</i> is in the same format as expected by <b class="cmd">::grammar::fa::op::fromRegex</b>.</p> <p>The command will fail and throw an error if <i class="arg">regexp</i> contains complementation and intersection operations.</p> | | | | | | | | | 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | but uses a different algorithm to simplify the generated regular expressions.</p></dd> <dt><a name="18"><b class="cmd">::grammar::fa::op::toTclRegexp</b> <i class="arg">regexp</i> <i class="arg">symdict</i></a></dt> <dd><p>This command generates and returns a regular expression in Tcl syntax for the regular expression <i class="arg">regexp</i>, if that is possible. <i class="arg">regexp</i> is in the same format as expected by <b class="cmd">::grammar::fa::op::fromRegex</b>.</p> <p>The command will fail and throw an error if <i class="arg">regexp</i> contains complementation and intersection operations.</p> <p>The argument <i class="arg">symdict</i> is a dictionary mapping symbol names to pairs of <i class="term">syntactic type</i> and Tcl-regexp. If a symbol occurring in the <i class="arg">regexp</i> is not listed in this dictionary then single-character symbols are considered to designate themselves whereas multiple-character symbols are considered to be a character class name.</p></dd> <dt><a name="19"><b class="cmd">::grammar::fa::op::simplifyRegexp</b> <i class="arg">regexp</i></a></dt> <dd><p>This command simplifies a regular expression by applying the following algorithm first to the main expression and then recursively to all sub-expressions:</p> <ol class="enumerated"> <li><p>Convert the expression into a finite automaton.</p></li> <li><p>Minimize the automaton.</p></li> <li><p>Convert the automaton back to a regular expression.</p></li> <li><p>Choose the shorter of original expression and expression from the previous step.</p></li> </ol></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_fa</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key302">automaton</a>, <a href="../../../../index.html#key307">finite automaton</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key304">regular grammar</a>, <a href="../../../../index.html#key303">regular languages</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/gasm.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">DEFINITIONS</a></li> <li class="section"><a href="#section3">API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">DEFINITIONS</a></li> <li class="section"><a href="#section3">API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
424 425 426 427 428 429 430 | <p>The command returns the empty string as its result.</p></dd> <dt><a name="19"><b class="cmd">::grammar::me::cpu::gasm::/CloseLoop</b></a></dt> <dd><p>This command marks the <i class="term">anchor</i> as the last instruction in a loop body, by creating the attribute <b class="const">LOOP</b>.</p> <p>The command returns the empty string as its result.</p></dd> </dl> </div> | | | | | 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | <p>The command returns the empty string as its result.</p></dd> <dt><a name="19"><b class="cmd">::grammar::me::cpu::gasm::/CloseLoop</b></a></dt> <dd><p>This command marks the <i class="term">anchor</i> as the last instruction in a loop body, by creating the attribute <b class="const">LOOP</b>.</p> <p>The command returns the empty string as its result.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key296">assembler</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key283">graph</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key278">tree</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_ast.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">AST VALUES</a></li> <li class="section"><a href="#section3">AST OBJECTS</a></li> <li class="section"><a href="#section4">EXTENDED AST OBJECTS</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">AST VALUES</a></li> <li class="section"><a href="#section3">AST OBJECTS</a></li> <li class="section"><a href="#section4">EXTENDED AST OBJECTS</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This document specifies various representations for the |
︙ | ︙ | |||
197 198 199 200 201 202 203 | lexeme attribute, line number, and column index, in this order.</p></dd> <dt>range_lc</dt> <dd><p>This new attribute is defined for all nodes, and contains the locations from attribute <i class="term">range</i> translated into line number and column index. Lines are counted from 1, columns are counted from 0.</p></dd> </dl> </div> | | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | lexeme attribute, line number, and column index, in this order.</p></dd> <dt>range_lc</dt> <dd><p>This new attribute is defined for all nodes, and contains the locations from attribute <i class="term">range</i> translated into line number and column index. Lines are counted from 1, columns are counted from 0.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key800">AST</a>, <a href="../../../../index.html#key722">abstract syntax tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_cpu.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">CLASS API</a></li> <li class="subsection"><a href="#subsection2">OBJECT API</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">CLASS API</a></li> <li class="subsection"><a href="#subsection2">OBJECT API</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
336 337 338 339 340 341 342 | <dd><p>This method resets the machine to its initial state, discarding any state it may have.</p></dd> <dt><a name="27"><i class="arg">meName</i> <b class="method">destroy</b></a></dt> <dd><p>This method deletes the object and releases all resurces it claimed.</p></dd> </dl> </div> </div> | | | | | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 | <dd><p>This method resets the machine to its initial state, discarding any state it may have.</p></dd> <dt><a name="27"><i class="arg">meName</i> <b class="method">destroy</b></a></dt> <dd><p>This method deletes the object and releases all resurces it claimed.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_cpucore.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">MATCH PROGRAM REPRESENTATION</a></li> </ul> </li> <li class="section"><a href="#section3">CPU STATE</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">MATCH PROGRAM REPRESENTATION</a></li> </ul> </li> <li class="section"><a href="#section3">CPU STATE</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
312 313 314 315 316 317 318 | </ul> <p>If no limit <i class="arg">n</i> was set only the last two conditions are checked for.</p></dd> </dl> <div id="subsection1" class="subsection"><h3><a name="subsection1">MATCH PROGRAM REPRESENTATION</a></h3> <p>A match program is represented by nested Tcl list. The first element, <i class="term">asm</i>, is a list of integer numbers, the instructions to execute, | | | | | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 | </ul> <p>If no limit <i class="arg">n</i> was set only the last two conditions are checked for.</p></dd> </dl> <div id="subsection1" class="subsection"><h3><a name="subsection1">MATCH PROGRAM REPRESENTATION</a></h3> <p>A match program is represented by nested Tcl list. The first element, <i class="term">asm</i>, is a list of integer numbers, the instructions to execute, and their arguments. The second element, <i class="term"><a href="../../../../index.html#key282">pool</a></i>, is a list of strings, referenced by the instructions, for error messages, token names, etc. The third element, <i class="term">tokmap</i>, provides ordering information for the tokens, mapping their names to their numerical rank. This element can be empty, forcing lexicographic comparison when matching ranges.</p> <p>All ME instructions are encoded as integer numbers, with the mapping given below. A number of the instructions, those which handle error messages, have been given an additional argument to supply that message explicitly instead of having it constructed from token names, etc. This allows the machine state to store only the message ids instead of the full strings.</p> <p>Jump destination arguments are absolute indices into the <i class="term">asm</i> element, refering to the instruction to jump to. Any string arguments are absolute indices into the <i class="term"><a href="../../../../index.html#key282">pool</a></i> element. Tokens, characters, messages, and token (actually character) classes to match are coded as references into the <i class="term"><a href="../../../../index.html#key282">pool</a></i> as well.</p> <ol class="enumerated"> <li><p>"<b class="cmd">ict_advance</b> <i class="arg">message</i>"</p></li> <li><p>"<b class="cmd">ict_match_token</b> <i class="arg">tok</i> <i class="arg">message</i>"</p></li> <li><p>"<b class="cmd">ict_match_tokrange</b> <i class="arg">tokbegin</i> <i class="arg">tokend</i> <i class="arg">message</i>"</p></li> <li><p>"<b class="cmd">ict_match_tokclass</b> <i class="arg">code</i> <i class="arg">message</i>"</p></li> <li><p>"<b class="cmd">inc_restore</b> <i class="arg">branchlabel</i> <i class="arg">nt</i>"</p></li> <li><p>"<b class="cmd">inc_save</b> <i class="arg">nt</i>"</p></li> |
︙ | ︙ | |||
373 374 375 376 377 378 379 | <ol class="enumerated"> <li><p><i class="term">code</i>: Match instructions, see <span class="sectref"><a href="#subsection1">MATCH PROGRAM REPRESENTATION</a></span>.</p></li> <li><p><i class="term">pc</i>: Program counter, <i class="term">int</i>.</p></li> <li><p><i class="term">halt</i>: Halt flag, <i class="term">boolean</i>.</p></li> <li><p><i class="term">eof</i>: Eof flag, <i class="term">boolean</i></p></li> <li><p><i class="term">tc</i>: Terminal cache, and input queue. Structure see below.</p></li> <li><p><i class="term">cl</i>: Current location, <i class="term">int</i>.</p></li> | | | | | | | | | | | | | | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | <ol class="enumerated"> <li><p><i class="term">code</i>: Match instructions, see <span class="sectref"><a href="#subsection1">MATCH PROGRAM REPRESENTATION</a></span>.</p></li> <li><p><i class="term">pc</i>: Program counter, <i class="term">int</i>.</p></li> <li><p><i class="term">halt</i>: Halt flag, <i class="term">boolean</i>.</p></li> <li><p><i class="term">eof</i>: Eof flag, <i class="term">boolean</i></p></li> <li><p><i class="term">tc</i>: Terminal cache, and input queue. Structure see below.</p></li> <li><p><i class="term">cl</i>: Current location, <i class="term">int</i>.</p></li> <li><p><i class="term">ct</i>: Current token, <i class="term"><a href="../../../../index.html#key270">string</a></i>.</p></li> <li><p><i class="term">ok</i>: Match status, <i class="term">boolean</i>.</p></li> <li><p><i class="term">sv</i>: Semantic value, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">er</i>: Error status, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">ls</i>: Location stack, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">as</i>: AST stack, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">ms</i>: AST marker stack, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">es</i>: Error stack, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">rs</i>: Return stack, <i class="term"><a href="../../../../index.html#key280">list</a></i>.</p></li> <li><p><i class="term">nc</i>: Nonterminal cache, <i class="term">dictionary</i>.</p></li> </ol> <p><i class="term">tc</i>, the input queue of tokens waiting for processing and the terminal cache containing the tokens already processing are one unified data structure simply holding all tokens and their information, with the current location separating that which has been processed from that which is waiting. Each element of the queue/cache is a list containing the token, its lexeme information, line number, and column index, in this order.</p> <p>All stacks have their top element aat the end, i.e. pushing an item is equivalent to appending to the list representing the stack, and popping it removes the last element.</p> <p><i class="term">er</i>, the error status is either empty or a list of two elements, a location in the input, and a list of messages, encoded as references into the <i class="term"><a href="../../../../index.html#key282">pool</a></i> element of the <i class="term">code</i>.</p> <p><i class="term">nc</i>, the nonterminal cache is keyed by nonterminal name and location, each value a four-element list containing current location, match status, semantic value, and error status, in this order.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_intro.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>grammar::me_intro - Introduction to virtual machines for parsing token streams</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> | | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>grammar::me_intro - Introduction to virtual machines for parsing token streams</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This document is an introduction to and overview of the basic facilities for the parsing and/or matching of <i class="term">token</i> streams. One possibility often used for the token domain are characters.</p> <p>The packages themselves all provide variants of one <i class="term"><a href="../../../../index.html#key24">virtual machine</a></i>, called a <i class="term">match engine</i> (short <i class="term">ME</i>), which has all the facilities needed for the matching and parsing of a stream, and which are either controlled directly, or are customized with a match program. The virtual machine is basically a pushdown automaton, with additional elements for backtracking and/or handling of semantic data and construction of abstract syntax trees (<i class="term"><a href="../../../../index.html#key800">AST</a></i>).</p> <p>Because of the high degree of similarity in the actual implementations |
︙ | ︙ | |||
158 159 160 161 162 163 164 | flow, and stacks, using bytecodes. Suspend/Resumable. Push/pull operation.</p></dd> <dt><b class="package"><a href="me_cpucore.html">grammar::me::cpu::core</a></b></dt> <dd><p>Core functionality for state manipulation and stepping used in the bytecode based implementation of ME virtual machines.</p></dd> </dl> </div> | | | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | flow, and stacks, using bytecodes. Suspend/Resumable. Push/pull operation.</p></dd> <dt><b class="package"><a href="me_cpucore.html">grammar::me::cpu::core</a></b></dt> <dd><p>Core functionality for state manipulation and stepping used in the bytecode based implementation of ME virtual machines.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key22">CFG</a>, <a href="../../../../index.html#key27">CFL</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key25">TPDL</a>, <a href="../../../../index.html#key23">context-free grammar</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_tcl.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">MACHINE STATE</a></li> <li class="section"><a href="#section4">MACHINE INSTRUCTIONS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">MACHINE STATE</a></li> <li class="section"><a href="#section4">MACHINE INSTRUCTIONS</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
381 382 383 384 385 386 387 | <dd><p>This command returns a marker for the current state of the AST stack <i class="term">AS</i>. The marker stack is not managed by the machine.</p></dd> <dt><a name="35"><b class="cmd">::grammar::me::tcl::ias_pop2mark</b> <i class="arg">marker</i></a></dt> <dd><p>The command takes the marker as argument as it comes from the Tcl stack, not the machine state. It replaces <i class="term">ias_mpop</i>.</p></dd> </dl> </div> | | | | | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | <dd><p>This command returns a marker for the current state of the AST stack <i class="term">AS</i>. The marker stack is not managed by the machine.</p></dd> <dt><a name="35"><b class="cmd">::grammar::me::tcl::ias_pop2mark</b> <i class="arg">marker</i></a></dt> <dd><p>The command takes the marker as argument as it comes from the Tcl stack, not the machine state. It replaces <i class="term">ias_mpop</i>.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_util.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>grammar::me::util - AST utilities</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>grammar::me::util - AST utilities</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
178 179 180 181 182 183 184 | <dd><p>This command converts an <i class="arg">ast</i> in (extended) object representation into a value and returns it. If a <i class="arg">root</i> node is specified the AST is generated from that node downward. Otherwise the root of the tree object is used as the starting point.</p></dd> </dl> </div> | | | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | <dd><p>This command converts an <i class="arg">ast</i> in (extended) object representation into a value and returns it. If a <i class="arg">root</i> node is specified the AST is generated from that node downward. Otherwise the root of the tree object is used as the starting point.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key722">abstract syntax tree</a>, <a href="../../../../index.html#key721">syntax tree</a>, <a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_me/me_vm.html.
︙ | ︙ | |||
125 126 127 128 129 130 131 | <li class="subsection"><a href="#subsection4">CONTROL FLOW</a></li> <li class="subsection"><a href="#subsection5">INPUT LOCATION HANDLING</a></li> <li class="subsection"><a href="#subsection6">ERROR HANDLING</a></li> <li class="subsection"><a href="#subsection7">SEMANTIC VALUES</a></li> <li class="subsection"><a href="#subsection8">AST STACK HANDLING</a></li> </ul> </li> | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | <li class="subsection"><a href="#subsection4">CONTROL FLOW</a></li> <li class="subsection"><a href="#subsection5">INPUT LOCATION HANDLING</a></li> <li class="subsection"><a href="#subsection6">ERROR HANDLING</a></li> <li class="subsection"><a href="#subsection7">SEMANTIC VALUES</a></li> <li class="subsection"><a href="#subsection8">AST STACK HANDLING</a></li> </ul> </li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>Please go and read the document <b class="syscmd"><a href="me_intro.html">grammar::me_intro</a></b> first for |
︙ | ︙ | |||
528 529 530 531 532 533 534 | indicated by the popped marker.</p></dd> <dt><b class="cmd">ias_mpop</b></dt> <dd><p>This instruction pops an entry from the AST Marker stack <i class="term">MS</i> and discards it.</p></dd> </dl> </div> </div> | | | | | 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | indicated by the popped marker.</p></dd> <dt><b class="cmd">ias_mpop</b></dt> <dd><p>This instruction pops an entry from the AST Marker stack <i class="term">MS</i> and discards it.</p></dd> </dl> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_me</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_peg/peg.html.
︙ | ︙ | |||
122 123 124 125 126 127 128 | <li class="subsection"><a href="#subsection2">CONTAINER CLASS API</a></li> <li class="subsection"><a href="#subsection3">CONTAINER OBJECT API</a></li> <li class="subsection"><a href="#subsection4">PARSING EXPRESSIONS</a></li> </ul> </li> <li class="section"><a href="#section2">PARSING EXPRESSION GRAMMARS</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> | | | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | <li class="subsection"><a href="#subsection2">CONTAINER CLASS API</a></li> <li class="subsection"><a href="#subsection3">CONTAINER OBJECT API</a></li> <li class="subsection"><a href="#subsection4">PARSING EXPRESSIONS</a></li> </ul> </li> <li class="section"><a href="#section2">PARSING EXPRESSION GRAMMARS</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
520 521 522 523 524 525 526 | </div> <div id="section2" class="section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 | </div> <div id="section2" class="section"><h2><a name="section2">PARSING EXPRESSION GRAMMARS</a></h2> <p>For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where</p> <ul class="itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key793">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expression are inductively defined via</p> <ul class="itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key793">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key793">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key793">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key793">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key793">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key793">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ | |||
571 572 573 574 575 576 577 | offering a clear, accessible, and thorough discussion of many different parsing techniques with their interrelations and applicabilities, including error recovery techniques.</p></li> <li><p><a href="http://scifac.ru.ac.za/compilers/">Compilers and Compiler Generators</a>, an online book using CoCo/R, a generator for recursive descent parsers.</p></li> </ol> </div> | | | | 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 | offering a clear, accessible, and thorough discussion of many different parsing techniques with their interrelations and applicabilities, including error recovery techniques.</p></li> <li><p><a href="http://scifac.ru.ac.za/compilers/">Compilers and Compiler Generators</a>, an online book using CoCo/R, a generator for recursive descent parsers.</p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_peg</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/grammar_peg/peg_interp.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">THE INTERPRETER API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">THE INTERPRETER API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
191 192 193 194 195 196 197 | syntax tree, however in the case of an error it will be only partial and possibly malformed.</p> <p>The abstract syntax tree is represented by a nested list, as described in section <b class="sectref">AST VALUES</b> of document <i class="term"><a href="../grammar_me/me_ast.html">grammar::me_ast</a></i>.</p></dd> </dl> </div> | | | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | syntax tree, however in the case of an error it will be only partial and possibly malformed.</p> <p>The abstract syntax tree is represented by a nested list, as described in section <b class="sectref">AST VALUES</b> of document <i class="term"><a href="../grammar_me/me_ast.html">grammar::me_ast</a></i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>grammar_peg</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Grammars and finite automata</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/hook/hook.html.
︙ | ︙ | |||
177 178 179 180 181 182 183 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="enumerated"> | | | | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | coupling of this kind. This package defines a new command, <b class="cmd">hook</b>, which implements just such a mechanism.</p> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Bindings</a></h3> <p>The <b class="cmd">hook</b> command manages a collection of hook bindings. A hook binding has four elements:</p> <ol class="enumerated"> <li><p>A <i class="term"><a href="../../../../index.html#key657">subject</a></i>: the name of the entity that will be calling the hook.</p></li> <li><p>The <i class="term"><a href="../../../../index.html#key659">hook</a></i> itself. A hook usually reflects some occurrence in the life of the <i class="term"><a href="../../../../index.html#key657">subject</a></i> that other entities might care to know about. A <i class="term"><a href="../../../../index.html#key659">hook</a></i> has a name, and may also have arguments. Hook names are arbitrary strings. Each <i class="term"><a href="../../../../index.html#key657">subject</a></i> must document the names and arguments of the hooks it can call.</p></li> <li><p>The name of the <i class="term"><a href="../../../../index.html#key630">observer</a></i> that wishes to receive the <i class="term"><a href="../../../../index.html#key659">hook</a></i> from the <i class="term"><a href="../../../../index.html#key657">subject</a></i>.</p></li> <li><p>A command prefix to which the <i class="term"><a href="../../../../index.html#key659">hook</a></i> arguments will be appended when the binding is executed.</p></li> </ol> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">Subjects and observers</a></h3> <p>For convenience, this document collectively refers to subjects and observers as <i class="term">objects</i>, while placing no requirements on how these <i class="term">objects</i> are actually implemented. An object can be a |
︙ | ︙ | |||
320 321 322 323 324 325 326 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named | | | | | | | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | </ol> <p>If the <b class="option">-errorcommand</b> configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See <b class="cmd">hook configure</b>, below, for more information on configuration options.</p></dd> <dt><a name="3"><b class="cmd">hook</b> <b class="method">forget</b> <i class="arg">object</i></a></dt> <dd><p>This command deletes any existing bindings in which the named <i class="arg">object</i> appears as either the <i class="term"><a href="../../../../index.html#key657">subject</a></i> or the <i class="term"><a href="../../../../index.html#key630">observer</a></i>. Bindings deleted by this method will never be called again. In particular,</p> <ol class="enumerated"> <li><p>If an observer is forgotten during a call to <b class="cmd">hook call</b>, any uncalled binding it might have had to the relevant subject and hook will <em>not</em> be called subsequently.</p></li> <li><p>If a subject <b class="variable">$s</b> is forgotten during a call to</p> <pre class="example">hook call $s $h</pre> <p>then <b class="cmd">hook call</b> will return as soon as the current binding returns. No further bindings will be called.</p></li> </ol></dd> <dt><a name="4"><b class="cmd">hook</b> <b class="method">cget</b> <i class="arg">option</i></a></dt> <dd><p>This command returns the value of one of the <b class="cmd">hook</b> command's configuration options.</p></dd> <dt><a name="5"><b class="cmd">hook</b> <b class="method">configure</b> <b class="option">option</b> <i class="arg">value</i> ...</a></dt> <dd><p>This command sets the value of one or more of the <b class="cmd">hook</b> command's configuration options:</p> <dl class="options"> <dt><b class="option">-errorcommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>If the value of this option is the empty string, "", then errors and other exception returns in binding scripts are propagated normally. Otherwise, it must be a command prefix taking three additional arguments:</p> <ol class="enumerated"> <li><p>a 4-element list {subject hook arglist observer},</p></li> <li><p>the result string, and</p></li> <li><p>the return options dictionary.</p></li> </ol> <p>Given this information, the <b class="option">-errorcommand</b> can choose to log the error, call <b class="cmd">interp bgerror</b>, delete the errant binding (thus preventing the error from arising a second time) and so forth.</p></dd> <dt><b class="option">-tracecommand</b> <i class="arg">cmdPrefix</i></dt> <dd><p>The option's value should be a command prefix taking four arguments:</p> <ol class="enumerated"> <li><p>a <i class="term"><a href="../../../../index.html#key657">subject</a></i>,</p></li> <li><p>a <i class="term"><a href="../../../../index.html#key659">hook</a></i>,</p></li> <li><p>a list of the hook's argument values, and</p></li> <li><p>a list of <i class="term">objects</i> the hook was called for.</p></li> </ol> <p>The command will be called for each hook that is called. This allows the application to trace hook execution for debugging purposes.</p></dd> </dl></dd> |
︙ | ︙ | |||
395 396 397 398 399 400 401 | <div id="section5" class="section"><h2><a name="section5">Credits</a></h2> <p>Hook has been designed and implemented by William H. Duquette.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>hook</em> of the | | | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 | <div id="section5" class="section"><h2><a name="section5">Credits</a></h2> <p>Hook has been designed and implemented by William H. Duquette.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>hook</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../uev/uevent.html">uevent(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key519">callback</a>, <a href="../../../../index.html#key521">event</a>, <a href="../../../../index.html#key659">hook</a>, <a href="../../../../index.html#key630">observer</a>, <a href="../../../../index.html#key658">producer</a>, <a href="../../../../index.html#key660">publisher</a>, <a href="../../../../index.html#key657">subject</a>, <a href="../../../../index.html#key656">subscriber</a>, <a href="../../../../index.html#key661">uevent</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, by William H. Duquette</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/html/html.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>html - Procedures to generate HTML structures</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>html - Procedures to generate HTML structures</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
300 301 302 303 304 305 306 | <dt><a name="26"><b class="cmd">::html::hdrRow</b> <i class="arg">args</i></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">th</i> tags. Each value in <i class="arg">args</i> is place into its own table cell. This uses <b class="cmd">::html::cell</b>.</p></dd> <dt><a name="27"><b class="cmd">::html::head</b> <i class="arg">title</i></a></dt> <dd><p>Generate the <i class="term">head</i> section that includes the page <i class="term">title</i>. If previous calls have been made to | | | | | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | <dt><a name="26"><b class="cmd">::html::hdrRow</b> <i class="arg">args</i></a></dt> <dd><p>Generate a table row, including <i class="term">tr</i> and <i class="term">th</i> tags. Each value in <i class="arg">args</i> is place into its own table cell. This uses <b class="cmd">::html::cell</b>.</p></dd> <dt><a name="27"><b class="cmd">::html::head</b> <i class="arg">title</i></a></dt> <dd><p>Generate the <i class="term">head</i> section that includes the page <i class="term">title</i>. If previous calls have been made to <b class="cmd">::html::author</b>, <b class="cmd">::html::keywords</b>, <b class="cmd">::html::description</b>, or <b class="cmd">::html::meta</b> then additional tags are inserted into the <i class="term">head</i> section. This leaves an open <i class="term"><a href="../../../../index.html#key597">html</a></i> tag pushed on the stack with <b class="cmd">::html::openTag</b>.</p></dd> <dt><a name="28"><b class="cmd">::html::headTag</b> <i class="arg">string</i></a></dt> <dd><p>Save a tag for inclusion in the <i class="term">head</i> section generated by |
︙ | ︙ | |||
422 423 424 425 426 427 428 | which is a Tcl dictionary. Each generated row contains a name, value pair. The information is shown in the same order as specified in the dictionary. The argument <i class="arg">param</i> is for the <i class="term"><a href="../../../../index.html#key117">table</a></i> tag and has to contain a pre-formatted string.</p></dd> <dt><a name="53"><b class="cmd">::html::textarea</b> <i class="arg">name</i> <span class="opt">?<i class="arg">param</i>?</span> <span class="opt">?<i class="arg">current</i>?</span></a></dt> <dd><p>Generate a <i class="term">textarea</i> tag wrapped around its current values.</p></dd> <dt><a name="54"><b class="cmd">::html::textInput</b> <i class="arg">name value args</i></a></dt> | | | | | | 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 | which is a Tcl dictionary. Each generated row contains a name, value pair. The information is shown in the same order as specified in the dictionary. The argument <i class="arg">param</i> is for the <i class="term"><a href="../../../../index.html#key117">table</a></i> tag and has to contain a pre-formatted string.</p></dd> <dt><a name="53"><b class="cmd">::html::textarea</b> <i class="arg">name</i> <span class="opt">?<i class="arg">param</i>?</span> <span class="opt">?<i class="arg">current</i>?</span></a></dt> <dd><p>Generate a <i class="term">textarea</i> tag wrapped around its current values.</p></dd> <dt><a name="54"><b class="cmd">::html::textInput</b> <i class="arg">name value args</i></a></dt> <dd><p>Generate an <i class="term">input</i> form tag with type <i class="term"><a href="../../../../index.html#key480">text</a></i>. This uses <b class="cmd">::html::formValue</b>. The args is any additional tag attributes you want to put into the <i class="term">input</i> tag.</p></dd> <dt><a name="55"><b class="cmd">::html::textInputRow</b> <i class="arg">label name value args</i></a></dt> <dd><p>Generate an <i class="term">input</i> form tag with type <i class="term"><a href="../../../../index.html#key480">text</a></i> formatted into a table row with an associated label. The args is any additional tag attributes you want to put into the <i class="term">input</i> tag.</p></dd> <dt><a name="56"><b class="cmd">::html::varEmpty</b> <i class="arg">name</i></a></dt> <dd><p>This returns 1 if the named variable either does not exist or has the empty string for its value.</p></dd> <dt><a name="57"><b class="cmd">::html::while</b> <i class="arg">test body</i></a></dt> <dd><p>This procedure is similar to the built-in Tcl <b class="cmd">while</b> control structure. Rather than evaluating the body, it returns the subst'ed <i class="arg">body</i>. Each iteration of the loop causes another string to be concatenated to the result value.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>html</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../htmlparse/htmlparse.html">htmlparse</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key600">checkbox</a>, <a href="../../../../index.html#key598">checkbutton</a>, <a href="../../../../index.html#key596">form</a>, <a href="../../../../index.html#key597">html</a>, <a href="../../../../index.html#key599">radiobutton</a>, <a href="../../../../index.html#key117">table</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/htmlparse/htmlparse.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>htmlparse - Procedures to parse HTML strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>htmlparse - Procedures to parse HTML strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
297 298 299 300 301 302 303 | <dt><a name="6"><b class="cmd">::htmlparse::removeFormDefs</b> <i class="arg">tree</i></a></dt> <dd><p>Like <b class="cmd">::htmlparse::removeVisualFluff</b> this command is here to cut down on the size of the tree as generated by <b class="cmd">::htmlparse::2tree</b>. It removes all nodes representing forms and form elements. Its only argument is the name of the tree to cut down.</p></dd> </dl> </div> | | | | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 | <dt><a name="6"><b class="cmd">::htmlparse::removeFormDefs</b> <i class="arg">tree</i></a></dt> <dd><p>Like <b class="cmd">::htmlparse::removeVisualFluff</b> this command is here to cut down on the size of the tree as generated by <b class="cmd">::htmlparse::2tree</b>. It removes all nodes representing forms and form elements. Its only argument is the name of the tree to cut down.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>htmlparse</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../struct/struct_tree.html">struct::tree</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key597">html</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key54">queue</a>, <a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/http/autoproxy.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">Basic Authentication</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">BUGS</a></li> <li class="section"><a href="#section8">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">Basic Authentication</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">REFERENCES</a></li> <li class="section"><a href="#section7">BUGS</a></li> <li class="section"><a href="#section8">AUTHORS</a></li> <li class="section"><a href="#section9">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
150 151 152 153 154 155 156 | system standard locations and can be configured to negotiate authentication with the proxy if required.</p> <p>On Unix the standard for identifying the local HTTP proxy server seems to be to use the environment variable http_proxy or ftp_proxy and no_proxy to list those domains to be excluded from proxying. On Windows we can retrieve the Internet Settings values from the registry to obtain pretty much the same information. | | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | system standard locations and can be configured to negotiate authentication with the proxy if required.</p> <p>On Unix the standard for identifying the local HTTP proxy server seems to be to use the environment variable http_proxy or ftp_proxy and no_proxy to list those domains to be excluded from proxying. On Windows we can retrieve the Internet Settings values from the registry to obtain pretty much the same information. With this information we can setup a suitable filter procedure for the Tcl http package and arrange for automatic use of the proxy.</p> <p>There seem to be a number of ways that the http_proxy environment variable may be set up. Either a plain host:port or more commonly a URL and sometimes the URL may contain authentication parameters or these may be requested from the user or provided via http_proxy_user and http_proxy_pass. This package attempts to deal with all these schemes. It will do it's best to get the required parameters from the environment or registry and if it fails can be reconfigured.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::autoproxy::init</b></a></dt> <dd><p>Initialize the autoproxy package from system resources. Under unix this means we look for environment variables. Under windows we look for the same environment variables but also look at the registry settings used by Internet Explorer.</p></dd> <dt><a name="2"><b class="cmd">::autoproxy::cget</b> <i class="arg">-option</i></a></dt> <dd><p>Retrieve individual package configuration options. See <span class="sectref"><a href="#section3">OPTIONS</a></span>.</p></dd> <dt><a name="3"><b class="cmd">::autoproxy::configure</b> <span class="opt">?-option <i class="arg">value</i>?</span></a></dt> <dd><p>Configure the autoproxy package. Calling <b class="cmd">configure</b> with no options will return a list of all option names and values. See <span class="sectref"><a href="#section3">OPTIONS</a></span>.</p></dd> <dt><a name="4"><b class="cmd">::autoproxy::tls_connect</b> <i class="arg">args</i></a></dt> <dd><p>Connect to a secure socket through a proxy. HTTP proxy servers permit the use of the CONNECT HTTP command to open a link through the proxy to the target machine. This function hides the details. For use with the http package see <b class="cmd">tls_socket</b>.</p> <p>The <i class="arg">args</i> list may contain any of the <b class="package"><a href="../../../../index.html#key311">tls</a></b> package options but |
︙ | ︙ | |||
210 211 212 213 214 215 216 | be configured here as well.</p></dd> <dt><b class="option">-port</b> number</dt> <dd></dd> <dt><b class="option">-proxy_port</b> number</dt> <dd><p>Set the proxy port number. This is normally set up by <b class="cmd">init</b>. e.g. <b class="cmd">configure</b> <b class="option">-port</b> <i class="arg">3128</i></p></dd> <dt><b class="option">-no_proxy</b> list</dt> | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | be configured here as well.</p></dd> <dt><b class="option">-port</b> number</dt> <dd></dd> <dt><b class="option">-proxy_port</b> number</dt> <dd><p>Set the proxy port number. This is normally set up by <b class="cmd">init</b>. e.g. <b class="cmd">configure</b> <b class="option">-port</b> <i class="arg">3128</i></p></dd> <dt><b class="option">-no_proxy</b> list</dt> <dd><p>You may manipulate the <b class="option">no_proxy</b> list that was setup by <b class="cmd">init</b>. The value of this option is a tcl list of strings that are matched against the http request host using the tcl <b class="cmd">string match</b> command. Therefore glob patterns are permitted. For instance, <b class="cmd">configure</b> <b class="option">-no_proxy</b> <i class="arg">*.localdomain</i></p></dd> <dt><b class="option">-authProc</b> procedure</dt> <dd><p>This option may be used to set an application defined procedure to be called when <b class="cmd">configure</b> <b class="option">-basic</b> is called with either no or |
︙ | ︙ | |||
279 280 281 282 283 284 285 | <div id="section7" class="section"><h2><a name="section7">BUGS</a></h2> <p>At this time only Basic authentication (1) (2) is supported. It is planned to add support for Digest (2) and NTLM in the future.</p> </div> <div id="section8" class="section"><h2><a name="section8">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | <div id="section7" class="section"><h2><a name="section7">BUGS</a></h2> <p>At this time only Basic authentication (1) (2) is supported. It is planned to add support for Digest (2) and NTLM in the future.</p> </div> <div id="section8" class="section"><h2><a name="section8">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section9" class="section"><h2><a name="section9">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>http :: autoproxy</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>http(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key790">authentication</a>, <a href="../../../../index.html#key505">http</a>, <a href="../../../../index.html#key813">proxy</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ident/ident.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>ident - Ident protocol client</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>ident - Ident protocol client</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
158 159 160 161 162 163 164 | <dd><p>Fatal errors happen when no ident server is listening on the remote side, or when the ident server gives a response that does not conform to the RFC. A detailed error message is returned under the <b class="const">error</b> key.</p></dd> </dl></dd> </dl> </div> | | | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | <dd><p>Fatal errors happen when no ident server is listening on the remote side, or when the ident server gives a response that does not conform to the RFC. A detailed error message is returned under the <b class="const">error</b> key.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ident</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key416">ident</a>, <a href="../../../../index.html#key417">identification</a>, <a href="../../../../index.html#key415">rfc 1413</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Reinhard Max <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/imap4/imap4.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | can be used to establish to a secure connection via TSL/SSL if set to true. In this case default connection port defaults to 993.</p> <p><em>Note:</em> For connecting via SSL the Tcl module <em>tls</em> must be already loaded otherwise an error is raised.</p> <pre class="example"> | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | can be used to establish to a secure connection via TSL/SSL if set to true. In this case default connection port defaults to 993.</p> <p><em>Note:</em> For connecting via SSL the Tcl module <em>tls</em> must be already loaded otherwise an error is raised.</p> <pre class="example"> package require tls ; # must be loaded for TLS/SSL set ::imap4::use_ssl 1 ; # request a secure connection set chan [::imap4::open $server] ; # default port is now 993 </pre> </dd> <dt><a name="2"><b class="cmd">::imap4::login</b> <i class="arg">chan</i> <i class="arg">user</i> <i class="arg">pass</i></a></dt> <dd><p>Login using the IMAP LOGIN command, 0 is returned on successful login.</p> <p><i class="arg">chan</i> - imap channel</p> <p><i class="arg">user</i> - username</p> |
︙ | ︙ | |||
272 273 274 275 276 277 278 | of available information options for the mailbox is returned.</p> <p>If the required information name is suffixed with a ? character, the command returns true if the information is available, or false if it is not.</p> <p><i class="arg">chan</i> - imap channel</p> <p><i class="arg">opt</i> - mailbox option to retrieve</p> <p>Currently supported options: | | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | of available information options for the mailbox is returned.</p> <p>If the required information name is suffixed with a ? character, the command returns true if the information is available, or false if it is not.</p> <p><i class="arg">chan</i> - imap channel</p> <p><i class="arg">opt</i> - mailbox option to retrieve</p> <p>Currently supported options: <em>EXISTS</em> (noof msgs), <em>RECENT</em> (noof 'recent' flagged msgs), <em>FLAGS</em></p> <p>In conjunction with OK: <em>PERMFLAGS</em>, <em>UIDNEXT</em>, <em>UIDVAL</em>, <em>UNSEEN</em></p> <p>Div. states: <em>CURRENT</em>, <em>FOUND</em>, <em>PERM</em>.</p> <pre class="example"> ::imap4::select $chan INBOX |
︙ | ︙ | |||
406 407 408 409 410 411 412 | <p><i class="arg">chan</i> - imap channel</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <pre class="example"> set user myusername set pass xtremescrt | | | < < < | < | | | > | | | 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 | <p><i class="arg">chan</i> - imap channel</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <pre class="example"> set user myusername set pass xtremescrt set server imap.test.tld set FOLDER INBOX # Connect to server set imap [::imap4::open $server] ::imap4::login $imap $user $pass ::imap4::select $imap $FOLDER # Output all the information about that mailbox foreach info [::imap4::mboxinfo $imap] { puts "$info -> [::imap4::mboxinfo $imap $info]" } # fetch 3 records inline set fields {from: to: subject: size} foreach rec [::imap4::fetch $imap :3 -inline {*}$fields] { puts -nonewline "#[incr idx])" for {set j 0} {$j<[llength $fields]} {incr j} { puts "\t[lindex $fields $j] [lindex $rec $j]" } } # Show all the information available about the message ID 1 puts "Available info about message 1: [::imap4::msginfo $imap 1]" # Use the capability stuff puts "Capabilities: [::imap4::isableto $imap]" puts "Is able to imap4rev1? [::imap4::isableto $imap imap4rev1]" # Cleanup ::imap4::cleanup $imap </pre> </div> <div id="section4" class="section"><h2><a name="section4">REFERENCES</a></h2> <p>Mark R. Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003, <a href="http://www.rfc-editor.org/rfc/rfc3501.txt">http://www.rfc-editor.org/rfc/rfc3501.txt</a></p> <p>OpenSSL, <a href="http://www.openssl.org/">http://www.openssl.org/</a></p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>imap4</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation. Only a small part of rfc3501 implemented.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key505">http</a>, <a href="../../../../index.html#key789">imap</a>, <a href="../mime/mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="../../../../index.html#key311">tls</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key315">email</a>, <a href="../../../../index.html#key789">imap</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key310">mail</a>, <a href="../../../../index.html#key276">net</a>, <a href="../../../../index.html#key788">rfc3501</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/inifile/ini.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>inifile - Parsing of Windows INI files</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>inifile - Parsing of Windows INI files</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.2</b></li> |
︙ | ︙ | |||
192 193 194 195 196 197 198 | section or key will return an empty string.</p></dd> <dt><a name="14"><b class="cmd">::ini::commentchar</b> <span class="opt">?char?</span></a></dt> <dd><p>Reads and sets the comment character. Lines that begin with this character are treated as comments. When comments are written out each line is preceded by this character. The default is <b class="const">;</b>.</p></dd> </dl> </div> | | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | section or key will return an empty string.</p></dd> <dt><a name="14"><b class="cmd">::ini::commentchar</b> <span class="opt">?char?</span></a></dt> <dd><p>Reads and sets the comment character. Lines that begin with this character are treated as comments. When comments are written out each line is preceded by this character. The default is <b class="const">;</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>inifile</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/interp/deleg_method.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | the name of the method itself.</p> <p>Normally the generated method marshalls the <i class="arg">arguments</i>, and returns the result from the remote method as its own result. If however the option <b class="option">-async</b> was specified then the generated method will not wait for a result and return immediately.</p></dd> </dl> </div> | | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | the name of the method itself.</p> <p>Normally the generated method marshalls the <i class="arg">arguments</i>, and returns the result from the remote method as its own result. If however the option <b class="option">-async</b> was specified then the generated method will not wait for a result and return immediately.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>interp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key33">comm</a>, <a href="../../../../index.html#key32">delegation</a>, <a href="../../../../index.html#key31">interpreter</a>, <a href="../../../../index.html#key355">method</a>, <a href="../../../../index.html#key356">snit</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/interp/deleg_proc.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | stripped from the call.</p> <p>Normally the generated procedure marshalls the <i class="arg">arguments</i>, and returns the result from the remote procedure as its own result. If however the option <b class="option">-async</b> was specified then the generated procedure will not wait for a result and return immediately.</p></dd> </dl> </div> | | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | stripped from the call.</p> <p>Normally the generated procedure marshalls the <i class="arg">arguments</i>, and returns the result from the remote procedure as its own result. If however the option <b class="option">-async</b> was specified then the generated procedure will not wait for a result and return immediately.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>interp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key33">comm</a>, <a href="../../../../index.html#key32">delegation</a>, <a href="../../../../index.html#key31">interpreter</a>, <a href="../../../../index.html#key34">procedure</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/interp/tcllib_interp.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
167 168 169 170 171 172 173 | Like for <b class="cmd">::interp::snitLink</b> the method references are actually command prefixes. This command allows the creation of more complex command-method mappings than <b class="cmd">::interp::snitLink</b>.</p> <p>The result of the command is the empty string.</p></dd> </dl> </div> | | | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | Like for <b class="cmd">::interp::snitLink</b> the method references are actually command prefixes. This command allows the creation of more complex command-method mappings than <b class="cmd">::interp::snitLink</b>.</p> <p>The result of the command is the empty string.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>interp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key756">alias</a>, <a href="../../../../index.html#key757">empty interpreter</a>, <a href="../../../../index.html#key31">interpreter</a>, <a href="../../../../index.html#key355">method</a>, <a href="../../../../index.html#key356">snit</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/irc/irc.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Per-connection Commands</a></li> <li class="section"><a href="#section3">Callback Commands</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Per-connection Commands</a></li> <li class="section"><a href="#section3">Callback Commands</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
301 302 303 304 305 306 307 | <dd><p>Returns a list of any additional arguments after the target.</p></dd> <dt><a name="35"><b class="cmd">header</b></a></dt> <dd><p>Returns the entire event header (everything up to the :) as a proper list.</p></dd> <dt><a name="36"><b class="cmd">msg</b></a></dt> <dd><p>Returns the message portion of the command (the part after the :).</p></dd> </dl> </div> | | | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | <dd><p>Returns a list of any additional arguments after the target.</p></dd> <dt><a name="35"><b class="cmd">header</b></a></dt> <dd><p>Returns the entire event header (everything up to the :) as a proper list.</p></dd> <dt><a name="36"><b class="cmd">msg</b></a></dt> <dd><p>Returns the message portion of the command (the part after the :).</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>irc</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>rfc 1459</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key676">chat</a>, <a href="../../../../index.html#key725">irc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/irc/picoirc.html.
︙ | ︙ | |||
133 134 135 136 137 138 139 | <li><a href="#2"><b class="cmd">::picoirc::post</b> <i class="arg">context</i> <i class="arg">channel</i> <i class="arg">message</i></a></li> <li><a href="#3"><b class="cmd">::picoirc::splituri</b> <i class="arg">uri</i></a></li> <li><a href="#4"><b class="cmd">::picoirc::send</b> <i class="arg">context</i> <i class="arg">line</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> | | | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 | <li><a href="#2"><b class="cmd">::picoirc::post</b> <i class="arg">context</i> <i class="arg">channel</i> <i class="arg">message</i></a></li> <li><a href="#3"><b class="cmd">::picoirc::splituri</b> <i class="arg">uri</i></a></li> <li><a href="#4"><b class="cmd">::picoirc::send</b> <i class="arg">context</i> <i class="arg">line</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides a general purpose minimal IRC client suitable for embedding in other applications. All communication with the parent application is done via an application provided callback procedure. Each connection has its own state so you can hook up multiple servers in a single application instance.</p> <p>To initiate an IRC connection you must call <b class="cmd">picoirc::connect</b> with a callback procedure, a nick-name to use on IRC and the IRC URL that describes the connection. This will return a variable name that |
︙ | ︙ | |||
177 178 179 180 181 182 183 | </div> <div id="section3" class="section"><h2><a name="section3">CALLBACK</a></h2> <p>The callback must look like:</p> <pre class="example"> proc Callback {context state args} { } </pre> | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | </div> <div id="section3" class="section"><h2><a name="section3">CALLBACK</a></h2> <p>The callback must look like:</p> <pre class="example"> proc Callback {context state args} { } </pre> <p>where context is the irc context variable name (in case you need to pass it back to a picoirc procedure). state is one of a number of states as described below.</p> <dl class="options"> <dt><b class="option">init</b></dt> <dd><p>called just before the socket is created</p></dd> <dt><b class="option">connect</b></dt> <dd><p>called once we have connected, before we join any channels</p></dd> <dt><b class="option">close</b></dt> <dd><p>called when the socket gets closed, before the context is deleted. If an error occurs before we get connected the only argument will be the socket error message.</p></dd> <dt><b class="option">userlist</b> <i class="arg">channel</i> <i class="arg">nicklist</i></dt> <dd><p>called to notify the application of an updated userlist. This is generated when the output of the NAMES irc command is seen. The package collects the entire output which can span a number of output lines from the server and calls this callback when they have all been received.</p></dd> <dt><b class="option">chat</b> <i class="arg">target</i> <i class="arg">nick</i> <i class="arg">message</i> <i class="arg">type</i></dt> <dd><p>called when a message arrives. <i class="arg">target</i> is the identity that the message was targetted for. This can be the logged in nick or a channel name. <i class="arg">nick</i> is the name of the sender of the message. <i class="arg">message</i> is the message text. <i class="arg">type</i> is set to "ACTION" if the message was sent as a CTCP ACTION</p></dd> <dt><b class="option">system</b> <i class="arg">channel</i> <i class="arg">message</i></dt> <dd><p>called when a system message is received</p></dd> <dt><b class="option">topic</b> <i class="arg">channel</i> <i class="arg">topic</i></dt> <dd><p>called when the channel topic string is seen. <i class="arg">topic</i> is the text of the channel topic.</p></dd> |
︙ | ︙ | |||
227 228 229 230 231 232 233 | <p>PicoIRC:[package provide picoirc]:Tcl [info patchlevel]</p></dd> <dt><b class="option">debug</b> <i class="arg">type</i> <i class="arg">raw</i></dt> <dd><p>called when data is either being read or written to the network socket. <i class="arg">type</i> is set to <b class="const">read</b> when reading data and <b class="const">write</b> if the data is to be written. <i class="arg">raw</i> is the unprocessed IRC protocol data.</p> <p>In both cases the application can return a break error code to | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 | <p>PicoIRC:[package provide picoirc]:Tcl [info patchlevel]</p></dd> <dt><b class="option">debug</b> <i class="arg">type</i> <i class="arg">raw</i></dt> <dd><p>called when data is either being read or written to the network socket. <i class="arg">type</i> is set to <b class="const">read</b> when reading data and <b class="const">write</b> if the data is to be written. <i class="arg">raw</i> is the unprocessed IRC protocol data.</p> <p>In both cases the application can return a break error code to interrupt further processing of the raw data. If this is a <b class="const">read</b> operation then the package will not handle this line. If the operation is <b class="const">write</b> then the package will not send the data. This callback is intended for debugging protocol issues but could be used to redirect all input and output if desired.</p></dd> </dl> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/javascript/javascript.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>javascript - Procedures to generate HTML and Java Script structures.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>javascript - Procedures to generate HTML and Java Script structures.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
192 193 194 195 196 197 198 | <dd><p>Create an HTML checkbox and tie its value to that of its parent checkbox. If the child is checked, the parent is automatically checked. The <i class="arg">parentName</i> argument is the name of the child's parent html checkbox object. The <i class="arg">childName</i> argument is the name of child html checkbox object to create.</p></dd> </dl> </div> | | | | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | <dd><p>Create an HTML checkbox and tie its value to that of its parent checkbox. If the child is checked, the parent is automatically checked. The <i class="arg">parentName</i> argument is the name of the child's parent html checkbox object. The <i class="arg">childName</i> argument is the name of child html checkbox object to create.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>javascript</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a>, <a href="../ncgi/ncgi.html">ncgi</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key600">checkbox</a>, <a href="../../../../index.html#key597">html</a>, <a href="../../../../index.html#key191">javascript</a>, <a href="../../../../index.html#key719">selectionbox</a>, <a href="../../../../index.html#key718">submitbutton</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/jpeg/jpeg.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LIMITATIONS</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LIMITATIONS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | DateTime {2001:06:09 15:17:32} } </pre> <p>Throws an error if <i class="arg">file</i> is not a JPEG image.</p></dd> <dt><a name="6"><b class="cmd">::jpeg::getExifFromChannel</b> <i class="arg">channel</i> <span class="opt">?<i class="arg">section</i>?</span></a></dt> <dd><p>This command is as per <b class="cmd">::jpeg::getExif</b> except that it uses a previously opened channel. <i class="arg">channel</i> should be a seekable channel | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | DateTime {2001:06:09 15:17:32} } </pre> <p>Throws an error if <i class="arg">file</i> is not a JPEG image.</p></dd> <dt><a name="6"><b class="cmd">::jpeg::getExifFromChannel</b> <i class="arg">channel</i> <span class="opt">?<i class="arg">section</i>?</span></a></dt> <dd><p>This command is as per <b class="cmd">::jpeg::getExif</b> except that it uses a previously opened channel. <i class="arg">channel</i> should be a seekable channel and <i class="arg">section</i> is as described in the documentation of <b class="cmd">::jpeg::getExif</b> Note: the jpeg parser expects that the start of the channel is the start of the image data. If working with an image embedded in a container file format it may be necessary to read the jpeg data into a temporary container: either a temporary file or a memory channel.</p></dd> <dt><a name="7"><b class="cmd">::jpeg::formatExif</b> <i class="arg">keys</i></a></dt> <dd><p>Takes a list of key-value pairs as returned by <b class="cmd">getExif</b> and formats |
︙ | ︙ | |||
267 268 269 270 271 272 273 | </div> <div id="section3" class="section"><h2><a name="section3">LIMITATIONS</a></h2> <p>can only work with files cant write exif data gps exif data not parsed makernote data not yet implemented</p> </div> | | | | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | </div> <div id="section3" class="section"><h2><a name="section3">LIMITATIONS</a></h2> <p>can only work with files cant write exif data gps exif data not parsed makernote data not yet implemented</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>jpeg</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key163">comment</a>, <a href="../../../../index.html#key160">exif</a>, <a href="../../../../index.html#key134">image</a>, <a href="../../../../index.html#key162">jfif</a>, <a href="../../../../index.html#key161">jpeg</a>, <a href="../../../../index.html#key159">thumbnail</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2005, Code: Aaron Faupell <[email protected]><br> Copyright © 2007, Code: Andreas Kupries <[email protected]><br> Copyright © 2004-2009, Doc: Andreas Kupries <[email protected]><br> Copyright © 2011, Code: Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/json/json.html.
︙ | ︙ | |||
198 199 200 201 202 203 204 | Image {IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www.example.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor}} </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>json</em> of the | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | Image {IDs {116 943 234 38793} Thumbnail {Width 100 Height 125 Url http://www.example.com/image/481989943} Width 800 Height 600 Title {View from 15th Floor}} </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>json</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key189">data exchange</a>, <a href="../../../../index.html#key188">exchange format</a>, <a href="../../../../index.html#key191">javascript</a>, <a href="../../../../index.html#key190">json</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/json/json_write.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | object as its result, with the keys formatted as JSON strings.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>json</em> of the | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | object as its result, with the keys formatted as JSON strings.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>json</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key189">data exchange</a>, <a href="../../../../index.html#key188">exchange format</a>, <a href="../../../../index.html#key191">javascript</a>, <a href="../../../../index.html#key190">json</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/lambda/lambda.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
185 186 187 188 189 190 191 | the <i class="arg">namespace</i>, with the arguments set to the values supplied at both construction and invokation time.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Andreas Kupries</p> </div> | | | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | the <i class="arg">namespace</i>, with the arguments set to the values supplied at both construction and invokation time.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Andreas Kupries</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>lambda</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>apply(n), proc(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key574">anonymous procedure</a>, <a href="../../../../index.html#key519">callback</a>, <a href="../../../../index.html#key573">command prefix</a>, <a href="../../../../index.html#key575">currying</a>, <a href="../../../../index.html#key572">lambda</a>, <a href="../../../../index.html#key571">partial application</a>, <a href="../../../../index.html#key570">proc</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries, BSD licensed</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ldap/ldap.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | <dt><a name="5"><b class="cmd">::ldap::bind</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">name</i>?</span> <span class="opt">?<i class="arg">password</i>?</span></a></dt> <dd><p>This command authenticates the ldap connection refered to by the token in <i class="arg">handle</i>, with a user name and associated password. It blocks until a response from the ldap server arrives. Its result is the empty string. Both <i class="arg">name</i> and <i class="arg">passwd</i> default to the empty string if they are not specified. | | | | | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | <dt><a name="5"><b class="cmd">::ldap::bind</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">name</i>?</span> <span class="opt">?<i class="arg">password</i>?</span></a></dt> <dd><p>This command authenticates the ldap connection refered to by the token in <i class="arg">handle</i>, with a user name and associated password. It blocks until a response from the ldap server arrives. Its result is the empty string. Both <i class="arg">name</i> and <i class="arg">passwd</i> default to the empty string if they are not specified. By leaving out <i class="arg">name</i> and <i class="arg">passwd</i> you can make an anonymous bind to the ldap server. You can issue <b class="cmd">::ldap::bind</b> again to bind with different credentials.</p></dd> <dt><a name="6"><b class="cmd">::ldap::bindSASL</b> <i class="arg">handle</i> <span class="opt">?<i class="arg">name</i>?</span> <span class="opt">?<i class="arg">password</i>?</span></a></dt> <dd><p>This command uses SASL authentication mechanisms to do a multistage bind. Its otherwise identical to the standard <b class="cmd">::ldap::bind</b>. This feature is currently experimental and subject to change. See the documentation for the <b class="package"><a href="../sasl/sasl.html">SASL</a></b> and the "<b class="file">SASL.txt</b>" in the tcllib CVS repository for details how to setup and use SASL with openldap.</p></dd> <dt><a name="7"><b class="cmd">::ldap::unbind</b> <i class="arg">handle</i></a></dt> <dd><p>This command asks the ldap server to release the last bind done for the connection refered to by the token in <i class="arg">handle</i>. The <i class="arg">handle</i> is invalid after the unbind, as the server closes the connection. So this is effectivly just a more polite disconnect operation.</p></dd> <dt><a name="8"><b class="cmd">::ldap::search</b> <i class="arg">handle</i> <i class="arg">baseObject</i> <i class="arg">filterString</i> <i class="arg">attributes</i> <i class="arg">options</i></a></dt> <dd><p>This command performs a LDAP search below the <i class="arg">baseObject</i> tree using a complex LDAP search expression <i class="arg">filterString</i> and returns the specified <i class="arg">attributes</i> of all matching objects (DNs). If the list of <i class="arg">attributes</i> was empty all attributes are returned. The command blocks until it has received all results. |
︙ | ︙ | |||
232 233 234 235 236 237 238 | attribute names. In other words, it is in the form</p> <pre class="example"> {dn1 {attr1 {val11 val12 ...} attr2 {val21...} ...}} {dn2 {a1 {v11 ...} ...}} ... </pre> </dd> <dt><a name="9"><b class="cmd">::ldap::searchInit</b> <i class="arg">handle</i> <i class="arg">baseObject</i> <i class="arg">filterString</i> <i class="arg">attributes</i> <i class="arg">options</i></a></dt> <dd><p>This command initiates a LDAP search below the <i class="arg">baseObject</i> tree | | | | | | | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | attribute names. In other words, it is in the form</p> <pre class="example"> {dn1 {attr1 {val11 val12 ...} attr2 {val21...} ...}} {dn2 {a1 {v11 ...} ...}} ... </pre> </dd> <dt><a name="9"><b class="cmd">::ldap::searchInit</b> <i class="arg">handle</i> <i class="arg">baseObject</i> <i class="arg">filterString</i> <i class="arg">attributes</i> <i class="arg">options</i></a></dt> <dd><p>This command initiates a LDAP search below the <i class="arg">baseObject</i> tree using a complex LDAP search expression <i class="arg">filterString</i>. The search gets the specified <i class="arg">attributes</i> of all matching objects (DNs). The command itself just starts the search, to retrieve the actual results, use <b class="cmd">::ldap::searchNext</b>. A search can be terminated at any time by <b class="cmd">::ldap::searchEnd</b>. This informs the server that no further results should be sent by sending and ABANDON message and cleans up the internal state of the search. Only one <b class="cmd">::ldap::search</b> can be active at a given time, this includes the introspection commands <b class="cmd">::ldap::info saslmechanisms</b>, <b class="cmd">ldap::info control</b> and <b class="cmd">ldap::info extensions</b>, which invoke a search internally. Error responses from the server due to wrong arguments or similar things are returned with the first <b class="cmd">::ldap::searchNext</b> call and should be checked and dealed with there. If the list of requested <i class="arg">attributes</i> is empty all attributes will be returned. The parameter <i class="arg">options</i> specifies the options to be used in the search, and has the following format:</p> <pre class="example"> {-option1 value1 -option2 value2 ... } </pre> <p>Following options are available:</p> <dl class="options"> <dt><b class="option">-scope</b> base one sub</dt> <dd><p>Control the scope of the search to be one of <b class="const">base</b>, <b class="const">one</b>, or <b class="const">sub</b>, to specify a base object, one-level or subtree search. The default is <b class="const">sub</b>.</p></dd> <dt><b class="option">-derefaliases</b> never search find always</dt> <dd><p>Control how aliases dereferencing is done. Should be one of <b class="const">never</b>, <b class="const">always</b>, <b class="const">search</b>, or <b class="const">find</b> to specify that aliases are never dereferenced, always dereferenced, dereferenced when searching, or dereferenced only when locating the base object for the search. The default is to never dereference aliases.</p></dd> <dt><b class="option">-sizelimit</b> num</dt> <dd><p>Determines the maximum number of entries to return in a search. If specified as 0 no limit is enforced. The server may enforce a configuration dependent sizelimit, which may be lower than the one given by this option. The default is 0, no limit.</p></dd> <dt><b class="option">-timelimit</b> seconds</dt> <dd><p>Asks the server to use a timelimit of <i class="arg">seconds</i> for the search. Zero means no limit. The default is 0, no limit.</p></dd> <dt><b class="option">-attrsonly</b> boolean</dt> <dd><p>If set to 1 only the attribute names but not the values will be present in the search result. The default is to retrieve attribute names and values.</p></dd> <dt><b class="option">-referencevar</b> varname</dt> <dd><p>If set the search result reference LDAPURIs, if any, are returned in the given variable. The caller can than decide to follow those references and query other LDAP servers for |
︙ | ︙ | |||
382 383 384 385 386 387 388 | the tree. If this argument is given, the argument <i class="arg">deleteOld</i> must be specified also. The command blocks until the operation has completed. Its result is the empty string.</p></dd> <dt><a name="18"><b class="cmd">::ldap::info</b> <b class="cmd"><a href="../../../../index.html#key425">ip</a></b> <i class="arg">handle</i></a></dt> <dd><p>This command returns the IP address of the remote LDAP server the handle is connected to.</p></dd> <dt><a name="19"><b class="cmd">::ldap::info</b> <b class="cmd">bound</b> <i class="arg">handle</i></a></dt> | | | | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 | the tree. If this argument is given, the argument <i class="arg">deleteOld</i> must be specified also. The command blocks until the operation has completed. Its result is the empty string.</p></dd> <dt><a name="18"><b class="cmd">::ldap::info</b> <b class="cmd"><a href="../../../../index.html#key425">ip</a></b> <i class="arg">handle</i></a></dt> <dd><p>This command returns the IP address of the remote LDAP server the handle is connected to.</p></dd> <dt><a name="19"><b class="cmd">::ldap::info</b> <b class="cmd">bound</b> <i class="arg">handle</i></a></dt> <dd><p>This command returns 1 if a handle has successfully completed a <b class="cmd">::ldap::bind</b>. If no bind was done or it failed, a 0 is returned.</p></dd> <dt><a name="20"><b class="cmd">::ldap::info</b> <b class="cmd">bounduser</b> <i class="arg">handle</i></a></dt> <dd><p>This command returns the username used in the bind operation if a handle has successfully completed a <b class="cmd">::ldap::bind</b>. If no bound was done or it failed, an empty string is returned.</p></dd> <dt><a name="21"><b class="cmd">::ldap::info</b> <b class="cmd">connections</b></a></dt> <dd><p>This command returns all currently existing ldap connection handles.</p></dd> <dt><a name="22"><b class="cmd">::ldap::info</b> <b class="cmd"><a href="../../../../index.html#key311">tls</a></b> <i class="arg">handle</i></a></dt> <dd><p>This command returns 1 if the ldap connection <i class="arg">handle</i> used TLS/SSL for connection via <b class="cmd">ldap::secure_connect</b> or completed <b class="cmd">ldap::starttls</b>, 0 otherwise.</p></dd> <dt><a name="23"><b class="cmd">::ldap::info</b> <b class="cmd">saslmechanisms</b> <i class="arg">handle</i></a></dt> |
︙ | ︙ | |||
446 447 448 449 450 451 452 | # Delete ldap::modify $handle $dn {} [list drink water pager ""] # Move ldap::modifyDN $handle $dn "cn=Tester" # Kill the test object, and shut the connection down. set dn "cn=Tester,ou=People,o=University of Michigan,c=US" ldap::delete $handle $dn | < | | | | | < < | | 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 | # Delete ldap::modify $handle $dn {} [list drink water pager ""] # Move ldap::modifyDN $handle $dn "cn=Tester" # Kill the test object, and shut the connection down. set dn "cn=Tester,ou=People,o=University of Michigan,c=US" ldap::delete $handle $dn ldap::unbind $handle ldap::disconnect $handle </pre> <p>And a another example, a simple query, and processing the results.</p> <pre class="example"> package require ldap set handle [ldap::connect ldap.acme.com 389] ldap::bind $handle set results [ldap::search $handle "o=acme,dc=com" "(uid=jdoe)" {}] foreach result $results { foreach {object attributes} $result break # The processing here is similar to what 'parray' does. # I.e. finding the longest attribute name and then # generating properly aligned output listing all attributes # and their values. set width 0 set sortedAttribs {} foreach {type values} $attributes { if {[string length $type] > $width} { set width [string length $type] } lappend sortedAttribs [list $type $values] } puts "object='$object'" foreach sortedAttrib $sortedAttribs { foreach {type values} $sortedAttrib break foreach value $values { regsub -all "\[\x01-\x1f\]" $value ? value puts [format " %-${width}s %s" $type $value] } } puts "" } ldap::unbind $handle ldap::disconnect $handle </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ldap</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key142">directory access</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key137">ldap</a>, <a href="../../../../index.html#key135">ldap client</a>, <a href="../../../../index.html#key140">protocol</a>, <a href="../../../../index.html#key136">rfc 2251</a>, <a href="../../../../index.html#key139">rfc 4511</a>, <a href="../../../../index.html#key141">x.500</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Andreas Kupries <[email protected]><br> Copyright © 2004 Jochen Loewer <[email protected]><br> Copyright © 2006 Michael Schlenker <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ldap/ldapx.html.
︙ | ︙ | |||
141 142 143 144 145 146 147 | <li class="subsection"><a href="#subsection11">Ldif Instance Data</a></li> <li class="subsection"><a href="#subsection12">Ldif Options</a></li> <li class="subsection"><a href="#subsection13">Ldif Methods</a></li> <li class="subsection"><a href="#subsection14">Ldif Example</a></li> </ul> </li> <li class="section"><a href="#section6">References</a></li> | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | <li class="subsection"><a href="#subsection11">Ldif Instance Data</a></li> <li class="subsection"><a href="#subsection12">Ldif Options</a></li> <li class="subsection"><a href="#subsection13">Ldif Methods</a></li> <li class="subsection"><a href="#subsection14">Ldif Example</a></li> </ul> </li> <li class="section"><a href="#section6">References</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
730 731 732 733 734 735 736 | liout destroy liin destroy </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">References</a></h2> </div> | | | | | 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 | liout destroy liin destroy </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">References</a></h2> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ldap</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key142">directory access</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key137">ldap</a>, <a href="../../../../index.html#key135">ldap client</a>, <a href="../../../../index.html#key479">ldif</a>, <a href="../../../../index.html#key140">protocol</a>, <a href="../../../../index.html#key136">rfc 2251</a>, <a href="../../../../index.html#key478">rfc 2849</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Pierre David <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/log/log.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">LEVELS</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">LEVELS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
328 329 330 331 332 333 334 | <li><p>debug</p></li> </ul> <p><em>Note</em> that by default all messages with levels <b class="const">warning</b> down to <b class="const">debug</b> are suppressed. This is done intentionally, because (we believe that) in most situations debugging output is not wanted. Most people wish to have such output only when actually debugging an application.</p> </div> | | | | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | <li><p>debug</p></li> </ul> <p><em>Note</em> that by default all messages with levels <b class="const">warning</b> down to <b class="const">debug</b> are suppressed. This is done intentionally, because (we believe that) in most situations debugging output is not wanted. Most people wish to have such output only when actually debugging an application.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>log</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key99">log level</a>, <a href="../../../../index.html#key344">message</a>, <a href="../../../../index.html#key785">message level</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/log/logger.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">IMPLEMENTATION</a></li> <li class="section"><a href="#section3">Logprocs and Callstack</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">IMPLEMENTATION</a></li> <li class="section"><a href="#section3">Logprocs and Callstack</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | When a logger service is initialized, it "inherits" properties from its parents. For instance, if there were a service <i class="term">foo</i>, and we did a <b class="cmd">logger::init</b> <i class="arg">foo::bar</i> (to create a <i class="term">bar</i> service underneath <i class="term">foo</i>), <i class="term">bar</i> would copy the current configuration of the <i class="term">foo</i> service, although it would of course, also be possible to then separately configure <i class="term">bar</i>. If a logger service is initialized and the parent does not yet exist, the | | | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | When a logger service is initialized, it "inherits" properties from its parents. For instance, if there were a service <i class="term">foo</i>, and we did a <b class="cmd">logger::init</b> <i class="arg">foo::bar</i> (to create a <i class="term">bar</i> service underneath <i class="term">foo</i>), <i class="term">bar</i> would copy the current configuration of the <i class="term">foo</i> service, although it would of course, also be possible to then separately configure <i class="term">bar</i>. If a logger service is initialized and the parent does not yet exist, the parent is also created. The new logger service is initialized with the default loglevel set with <b class="cmd">logger::setlevel</b>.</p></dd> <dt><a name="2"><b class="cmd">logger::import</b> <span class="opt">?<b class="option">-all</b>?</span> <span class="opt">?<b class="option">-force</b>?</span> <span class="opt">?<b class="option">-prefix</b> <i class="arg">prefix</i>?</span> <span class="opt">?<b class="option">-namespace</b> <i class="arg">namespace</i>?</span> <i class="arg">service</i></a></dt> <dd><p>Import the logger service commands into the current namespace. Without the <b class="option">-all</b> option only the commands corresponding to the log levels are imported. If <b class="option">-all</b> is given, all the <b class="cmd">${log}::cmd</b> style commands are imported. If the import would overwrite a command an error is returned and no command is imported. Use the <b class="option">-force</b> option to force the import and overwrite existing commands without complaining. If the <b class="option">-prefix</b> option is given, the commands are imported with the given <i class="arg">prefix</i> prepended to their names. If the <b class="option">-namespace</b> option is given, the commands are imported into the given namespace. If the namespace does not exist, it is created. If a namespace without a leading :: is given, it is interpreted as a child namespace to the current namespace.</p></dd> <dt><a name="3"><b class="cmd">logger::initNamespace</b> <i class="arg">ns</i> <span class="opt">?<i class="arg">level</i>?</span></a></dt> <dd><p>Convenience command for setting up a namespace for logging. Creates a logger service named after the namespace <i class="arg">ns</i> (a :: prefix is stripped), imports all the log commands into the namespace, and sets |
︙ | ︙ | |||
257 258 259 260 261 262 263 | it.</p></dd> <dt><a name="19"><b class="cmd">${log}::enable</b> <i class="arg">level</i></a></dt> <dd><p>Enable logging, in the service referenced by <b class="variable">${log}</b>, and its children, at and above the level specified. Note that this does <em>not</em> disable logging below this level, so you should probably use <b class="cmd">setlevel</b> instead.</p></dd> <dt><a name="20"><b class="cmd">${log}::disable</b> <i class="arg">level</i></a></dt> <dd><p>Disable logging, in the service referenced by <b class="variable">${log}</b>, and its | | | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | it.</p></dd> <dt><a name="19"><b class="cmd">${log}::enable</b> <i class="arg">level</i></a></dt> <dd><p>Enable logging, in the service referenced by <b class="variable">${log}</b>, and its children, at and above the level specified. Note that this does <em>not</em> disable logging below this level, so you should probably use <b class="cmd">setlevel</b> instead.</p></dd> <dt><a name="20"><b class="cmd">${log}::disable</b> <i class="arg">level</i></a></dt> <dd><p>Disable logging, in the service referenced by <b class="variable">${log}</b>, and its children, at and below the level specified. Note that this does <em>not</em> enable logging above this level, so you should probably use <b class="cmd">setlevel</b> instead. Disabling the loglevel <b class="const">emergency</b> switches logging off for the service and its children.</p></dd> <dt><a name="21"><b class="cmd">${log}::lvlchangeproc</b> <i class="arg">command</i></a></dt> <dd></dd> <dt><a name="22"><b class="cmd">${log}::lvlchangeproc</b></a></dt> <dd><p>Set the script to call when the log instance in question changes its log level. If called without a command it returns the currently registered command. The command gets two arguments |
︙ | ︙ | |||
280 281 282 283 284 285 286 | </dd> <dt><a name="23"><b class="cmd">${log}::logproc</b> <i class="arg">level</i></a></dt> <dd></dd> <dt><a name="24"><b class="cmd">${log}::logproc</b> <i class="arg">level</i> <i class="arg">command</i></a></dt> <dd></dd> <dt><a name="25"><b class="cmd">${log}::logproc</b> <i class="arg">level</i> <i class="arg">argname</i> <i class="arg">body</i></a></dt> <dd><p>This command comes in three forms - the third, older one is deprecated | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | </dd> <dt><a name="23"><b class="cmd">${log}::logproc</b> <i class="arg">level</i></a></dt> <dd></dd> <dt><a name="24"><b class="cmd">${log}::logproc</b> <i class="arg">level</i> <i class="arg">command</i></a></dt> <dd></dd> <dt><a name="25"><b class="cmd">${log}::logproc</b> <i class="arg">level</i> <i class="arg">argname</i> <i class="arg">body</i></a></dt> <dd><p>This command comes in three forms - the third, older one is deprecated and may be removed from future versions of the logger package. The current set version takes one argument, a command to be executed when the level is called. The callback command takes on argument, the text to be logged. If called only with a valid level <b class="cmd">logproc</b> returns the name of the command currently registered as callback command. <b class="cmd">logproc</b> specifies which command will perform the actual logging for a given level. The logger package ships with default commands for all log levels, but with <b class="cmd">logproc</b> it is possible to replace them |
︙ | ︙ | |||
304 305 306 307 308 309 310 | <p>Trace logs are slightly different: instead of a plain text argument, the argument provided to the logproc is a dictionary consisting of the <b class="const">enter</b> or <b class="const">leave</b> keyword along with another dictionary of details about the trace. These include:</p> <ul class="itemized"> <li><p><b class="const">proc</b> - Name of the procedure being traced.</p></li> <li><p><b class="const">level</b> - The stack level for the procedure invocation | | | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | <p>Trace logs are slightly different: instead of a plain text argument, the argument provided to the logproc is a dictionary consisting of the <b class="const">enter</b> or <b class="const">leave</b> keyword along with another dictionary of details about the trace. These include:</p> <ul class="itemized"> <li><p><b class="const">proc</b> - Name of the procedure being traced.</p></li> <li><p><b class="const">level</b> - The stack level for the procedure invocation (from <b class="cmd"><a href="../../../../index.html#key91">info</a></b> <b class="cmd">level</b>).</p></li> <li><p><b class="const">script</b> - The name of the file in which the procedure is defined, or an empty string if defined in interactive mode.</p></li> <li><p><b class="const">caller</b> - The name of the procedure calling the procedure being traced, or an empty string if the procedure was called from the global scope (stack level 0).</p></li> <li><p><b class="const">procargs</b> - A dictionary consisting of the names of arguments to the procedure paired with values given for those arguments (<b class="const">enter</b> |
︙ | ︙ | |||
354 355 356 357 358 359 360 | set log [::logger::init example] ${log}::logproc trace tracecmd proc foo { args } { puts "In foo" bar 1 return "foo_result" } | < | | | | | | | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | set log [::logger::init example] ${log}::logproc trace tracecmd proc foo { args } { puts "In foo" bar 1 return "foo_result" } proc bar { x } { puts "In bar" return "bar_result" } ${log}::trace add foo bar ${log}::trace on foo # Output: enter {proc ::foo level 1 script {} caller {} procargs {args {}}} In foo enter {proc ::bar level 2 script {} caller ::foo procargs {x 1}} In bar leave {proc ::bar level 2 script {} caller ::foo status ok result bar_result} leave {proc ::foo level 1 script {} caller {} status ok result foo_result} </pre> </dd> <dt><a name="33"><b class="cmd">${log}::trace</b> <b class="cmd">on</b></a></dt> <dd><p>Turns on trace logging for procedures registered through the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">add</b> command. This is similar to the <b class="cmd">enable</b> command for other logging levels, but allows trace logging to take place at any level. The trace logging mechanism takes advantage of the execution trace feature of Tcl 8.4 and later. The <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">on</b> command will return an error if called from earlier versions of Tcl.</p></dd> <dt><a name="34"><b class="cmd">${log}::trace</b> <b class="cmd">off</b></a></dt> <dd><p>Turns off trace logging for procedures registered for trace logging through the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">add</b> command. This is similar to the <b class="cmd">disable</b> command for other logging levels, but allows trace logging to take place at any level. Procedures are not unregistered, so logging for them can be turned back on with the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">on</b> command. There is no overhead imposed by trace registration when trace logging is disabled.</p></dd> <dt><a name="35"><b class="cmd">${log}::trace</b> <b class="cmd">status</b> <span class="opt">?procName?</span> <span class="opt">?...?</span></a></dt> <dd><p>This command returns a list of the procedures currently registered for trace logging, or a flag indicating whether or not a trace is registered for one or more specified procedures.</p></dd> <dt><a name="36"><b class="cmd">${log}::trace</b> <b class="cmd">add</b> <i class="arg">procName</i> <span class="opt">?...?</span></a></dt> <dd></dd> <dt><a name="37"><b class="cmd">${log}::trace</b> <b class="cmd">add</b> <span class="opt">?-ns?</span> <i class="arg">nsName</i> <span class="opt">?...?</span></a></dt> <dd><p>This command registers one or more procedures for logging of entry/exit traces. Procedures can be specified via a list of procedure names or namespace names (in which case all procedure within the namespace are targeted by the operation). By default, each name is first interpreted as a procedure name or glob-style search pattern, and if not found its interpreted as a namespace name. The <i class="arg">-ns</i> option can be used to force interpretation of all provided arguments as namespace names. Procedures must be defined prior to registering them for tracing through the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">add</b> command. Any procedure or namespace names/patterns that don't match any existing procedures will be silently ignored.</p></dd> <dt><a name="38"><b class="cmd">${log}::trace</b> <b class="cmd"><a href="../../../../index.html#key226">remove</a></b> <i class="arg">procName</i> <span class="opt">?...?</span></a></dt> <dd></dd> <dt><a name="39"><b class="cmd">${log}::trace</b> <b class="cmd"><a href="../../../../index.html#key226">remove</a></b> <span class="opt">?-ns?</span> <i class="arg">nsName</i> <span class="opt">?...?</span></a></dt> <dd><p>This command unregisters one or more procedures so that they will no longer have trace logging performed, with the same matching rules as that of the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> <b class="cmd">add</b> command.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">IMPLEMENTATION</a></h2> <p>The logger package is implemented in such a way as to optimize (for Tcl 8.4 and newer) log procedures which are disabled. They are aliased to a proc which has no body, which is compiled to a no op in bytecode. This should make the peformance hit minimal. If you really |
︙ | ︙ | |||
451 452 453 454 455 456 457 | puts "$txt" puts "Caller: $caller" puts "Variables in callers scope:" foreach {var value} $val { puts "$var = $value" } } | < | | | 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | puts "$txt" puts "Caller: $caller" puts "Variables in callers scope:" foreach {var value} $val { puts "$var = $value" } } # install as logproc ${log}::logproc debug log_local_var </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>logger</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key69">log</a>, <a href="../../../../index.html#key99">log level</a>, <a href="../../../../index.html#key97">logger</a>, <a href="../../../../index.html#key98">service</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/log/loggerAppender.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>logger::appender - Collection of predefined appenders for logger</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>logger::appender - Collection of predefined appenders for logger</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | contain the name of the procedure.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">::logger::appender::colorConsole</b> <b class="option">-level</b> <i class="arg">level</i> <b class="option">-service</b> <i class="arg">service</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>See <b class="cmd">::logger::appender::colorConsole</b> for a description of the applicable options.</p></dd> </dl> </div> | | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | contain the name of the procedure.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">::logger::appender::colorConsole</b> <b class="option">-level</b> <i class="arg">level</i> <b class="option">-service</b> <i class="arg">service</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>See <b class="cmd">::logger::appender::colorConsole</b> for a description of the applicable options.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>logger</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key397">appender</a>, <a href="../../../../index.html#key97">logger</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Aamer Akhter <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/log/loggerUtils.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>logger::utils - Utilities for logger</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>logger::utils - Utilities for logger</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
222 223 224 225 226 227 228 | logger::utils::applyAppender -appender console set log [logger::init applyAppender-3] ${log}::error "this is an error" </pre> </dd> </dl> </div> | | | | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | logger::utils::applyAppender -appender console set log [logger::init applyAppender-3] ${log}::error "this is an error" </pre> </dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>logger</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key397">appender</a>, <a href="../../../../index.html#key97">logger</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Aamer Akhter <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/map/map_geocode_nominatim.html.
︙ | ︙ | |||
218 219 220 221 222 223 224 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 218 219 220 221 222 223 224 225 226 227 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Nominatim">http://wiki.openstreetmap.org/wiki/Nominatim</a></p></li> <li><p><a href="http://open.mapquestapi.com/nominatim/">http://open.mapquestapi.com/nominatim/</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key566">geocoding</a>, <a href="../../../../index.html#key505">http</a>, <a href="../../../../index.html#key202">location</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key565">nominatim</a>, <a href="../../../../index.html#key61">server</a>, <a href="../../../../index.html#key508">url</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/map/map_slippy.html.
︙ | ︙ | |||
276 277 278 279 280 281 282 | </div> <div id="section4" class="section"><h2><a name="section4">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 276 277 278 279 280 281 282 283 284 285 | </div> <div id="section4" class="section"><h2><a name="section4">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key199">geodesy</a>, <a href="../../../../index.html#key204">geography</a>, <a href="../../../../index.html#key198">latitute</a>, <a href="../../../../index.html#key202">location</a>, <a href="../../../../index.html#key205">longitude</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key201">slippy</a>, <a href="../../../../index.html#key200">zoom</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/map/map_slippy_cache.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 193 194 195 196 197 198 199 200 201 202 | </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key361">cache</a>, <a href="../../../../index.html#key362">filesystem</a>, <a href="../../../../index.html#key202">location</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key201">slippy</a>, <a href="../../../../index.html#key363">tile</a>, <a href="../../../../index.html#key200">zoom</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/map/map_slippy_fetcher.html.
︙ | ︙ | |||
182 183 184 185 186 187 188 | </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 182 183 184 185 186 187 188 189 190 191 | </div> <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.openstreetmap.org/wiki/Main_Page">http://wiki.openstreetmap.org/wiki/Main_Page</a></p></li> </ol> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key505">http</a>, <a href="../../../../index.html#key202">location</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key61">server</a>, <a href="../../../../index.html#key201">slippy</a>, <a href="../../../../index.html#key363">tile</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key200">zoom</a></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/mapproj/mapproj.html.
︙ | ︙ | |||
333 334 335 336 337 338 339 | <dd><p>Longitude of the point to be projected, in degrees.</p></dd> <dt><i class="arg">phi</i></dt> <dd><p>Latitude of the point to be projected, in degrees.</p></dd> <dt><i class="arg">lambda_0</i></dt> <dd><p>Longitude of the center of the sheet, in degrees. For many projections, this figure is also the reference meridian of the projection.</p></dd> <dt><i class="arg">phi_0</i></dt> | | | | | | | | | | | | | | | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 | <dd><p>Longitude of the point to be projected, in degrees.</p></dd> <dt><i class="arg">phi</i></dt> <dd><p>Latitude of the point to be projected, in degrees.</p></dd> <dt><i class="arg">lambda_0</i></dt> <dd><p>Longitude of the center of the sheet, in degrees. For many projections, this figure is also the reference meridian of the projection.</p></dd> <dt><i class="arg">phi_0</i></dt> <dd><p>Latitude of the center of the sheet, in degrees. For the azimuthal projections, this figure is also the latitude of the center of the projection.</p></dd> <dt><i class="arg">phi_1</i></dt> <dd><p>Latitude of the first reference parallel, for projections that use reference parallels.</p></dd> <dt><i class="arg">phi_2</i></dt> <dd><p>Latitude of the second reference parallel, for projections that use reference parallels.</p></dd> <dt><i class="arg">x</i></dt> <dd><p>X co-ordinate of a point on the map, in units of Earth radii.</p></dd> <dt><i class="arg">y</i></dt> <dd><p>Y co-ordinate of a point on the map, in units of Earth radii.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Results</a></h2> <p>For all of the procedures whose names begin with 'to', the return value is a list comprising an <em>x</em> co-ordinate and a <em>y</em> co-ordinate. The co-ordinates are relative to the center of the map sheet to be drawn, measured in Earth radii at the reference location on the map. For all of the functions whose names begin with 'from', the return value is a list comprising the longitude and latitude, in degrees.</p> </div> <div id="section5" class="section"><h2><a name="section5">Choosing a projection</a></h2> <p>This package offers a great many projections, because no single projection is appropriate to all maps. This section attempts to provide guidance on how to choose a projection.</p> <p>First, consider the type of data that you intend to display on the map. If the data are <em>directional</em> (<em>e.g.,</em> winds, ocean currents, or magnetic fields) then you need to use a projection that preserves angles; these are known as <em>conformal</em> projections. Conformal projections include the Mercator, the Albers azimuthal equal-area, the stereographic, and the Peirce Quincuncial projection. If the data are <em>thematic</em>, describing properties of land or water, such as temperature, population density, land use, or demographics; then you need a projection that will show these data with the areas on the map proportional to the areas in real life. These so-called <em>equal area</em> projections include the various cylindrical equal area projections, the sinusoidal projection, the Lambert azimuthal equal-area projection, the Albers equal-area conic projection, and several of the world-map projections (Miller Cylindrical, Mollweide, Eckert IV, Eckert VI, Robinson, and Hammer). If the significant factor in your data is distance from a central point or line (such as air routes), then you will do best with an <em>equidistant</em> projection such as <em>plate carrée</em>, Cassini, azimuthal equidistant, or conic equidistant. If direction from a central point is a critical factor in your data (for instance, air routes, radio antenna pointing), then you will almost surely want to use one of the azimuthal projections. Appropriate choices are azimuthal equidistant, azimuthal equal-area, stereographic, and perhaps orthographic.</p> <p>Next, consider how much of the Earth your map will cover, and the general shape of the area of interest. For maps of the entire Earth, the cylindrical equal area, Eckert IV and VI, Mollweide, Robinson, and Hammer projections are good overall choices. The Mercator projection is traditional, but the extreme distortions of area at high latitudes make it a poor choice unless a conformal projection is required. The Peirce projection is a better choice of conformal projection, having less distortion of landforms. The Miller Cylindrical is a compromise designed to give shapes similar to the traditional Mercator, but with less polar stretching. The Peirce Quincuncial projection shows all the continents with acceptable distortion if a reference meridian close to +20 degrees is chosen. The Robinson projection yields attractive maps for things like political divisions, but should be avoided in presenting scientific data, since other projections have moe useful geometric properties.</p> <p>If the map will cover a hemisphere, then choose stereographic, azimuthal-equidistant, Hammer, or Mollweide projections; these all project the hemisphere into a circle.</p> <p>If the map will cover a large area (at least a few hundred km on a side), but less than a hemisphere, then you have several choices. Azimuthal projections are usually good (choose stereographic, azimuthal equidistant, or Lambert azimuthal equal-area according to whether shapes, distances from a central point, or areas are important). Azimuthal projections (and possibly the Cassini projection) are the only really good choices for mapping the polar regions.</p> <p>If the large area is in one of the temperate zones and is round or has a primarily east-west extent, then the conic projections are good choices. Choose the Lambert conformal conic, the conic equidistant, or the Albers equal-area conic according to whether shape, distance, or area are the most important parameters. For any of these, the reference parallels should be chosen at approximately 1/6 and 5/6 of the range of latitudes to be displayed. For instance, maps of the 48 coterminous United States are attractive with reference parallels of 28.5 and 45.5 degrees.</p> <p>If the large area is equatorial and is round or has a primarily east-west extent, then the Mercator projection is a good choice for a conformal projection; Lambert cylindrical equal-area and sinusoidal projections are good equal-area projections; and the <em>plate carrée</em> is a good equidistant projection.</p> <p>Large areas having a primarily North-South aspect, particularly those spanning the Equator, need some other choices. The Cassini projection is a good choice for an equidistant projection (for instance, a Cassini projection with a central meridian of 80 degrees West produces an |
︙ | ︙ | |||
444 445 446 447 448 449 450 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 444 445 446 447 448 449 450 451 452 453 454 455 456 | map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere).</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key199">geodesy</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key620">projection</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Kevin B. Kenny <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/bigfloat.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <li class="section"><a href="#section4">COMPARISONS</a></li> <li class="section"><a href="#section5">ANALYSIS</a></li> <li class="section"><a href="#section6">ROUNDING</a></li> <li class="section"><a href="#section7">PRECISION</a></li> <li class="section"><a href="#section8">WHAT ABOUT TCL 8.4 ?</a></li> <li class="section"><a href="#section9">NAMESPACES AND OTHER PACKAGES</a></li> <li class="section"><a href="#section10">EXAMPLES</a></li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <li class="section"><a href="#section4">COMPARISONS</a></li> <li class="section"><a href="#section5">ANALYSIS</a></li> <li class="section"><a href="#section6">ROUNDING</a></li> <li class="section"><a href="#section7">PRECISION</a></li> <li class="section"><a href="#section8">WHAT ABOUT TCL 8.4 ?</a></li> <li class="section"><a href="#section9">NAMESPACES AND OTHER PACKAGES</a></li> <li class="section"><a href="#section10">EXAMPLES</a></li> <li class="section"><a href="#section11">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
150 151 152 153 154 155 156 | <li><a href="#10"><b class="cmd">mul</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#11"><b class="cmd">div</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#12"><b class="cmd">mod</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#13"><b class="cmd">abs</b> <i class="arg">x</i></a></li> <li><a href="#14"><b class="cmd">opp</b> <i class="arg">x</i></a></li> <li><a href="#15"><b class="cmd">pow</b> <i class="arg">x</i> <i class="arg">n</i></a></li> <li><a href="#16"><b class="cmd">iszero</b> <i class="arg">x</i></a></li> | | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | <li><a href="#10"><b class="cmd">mul</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#11"><b class="cmd">div</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#12"><b class="cmd">mod</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#13"><b class="cmd">abs</b> <i class="arg">x</i></a></li> <li><a href="#14"><b class="cmd">opp</b> <i class="arg">x</i></a></li> <li><a href="#15"><b class="cmd">pow</b> <i class="arg">x</i> <i class="arg">n</i></a></li> <li><a href="#16"><b class="cmd">iszero</b> <i class="arg">x</i></a></li> <li><a href="#17"><b class="cmd"><a href="../../../../index.html#key539">equal</a></b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#18"><b class="cmd">compare</b> <i class="arg">x</i> <i class="arg">y</i></a></li> <li><a href="#19"><b class="cmd">sqrt</b> <i class="arg">x</i></a></li> <li><a href="#20"><b class="cmd"><a href="../log/log.html">log</a></b> <i class="arg">x</i></a></li> <li><a href="#21"><b class="cmd">exp</b> <i class="arg">x</i></a></li> <li><a href="#22"><b class="cmd">cos</b> <i class="arg">x</i></a></li> <li><a href="#23"><b class="cmd">sin</b> <i class="arg">x</i></a></li> <li><a href="#24"><b class="cmd">tan</b> <i class="arg">x</i></a></li> <li><a href="#25"><b class="cmd">cotan</b> <i class="arg">x</i></a></li> <li><a href="#26"><b class="cmd">acos</b> <i class="arg">x</i></a></li> <li><a href="#27"><b class="cmd">asin</b> <i class="arg">x</i></a></li> <li><a href="#28"><b class="cmd">atan</b> <i class="arg">x</i></a></li> <li><a href="#29"><b class="cmd">cosh</b> <i class="arg">x</i></a></li> <li><a href="#30"><b class="cmd">sinh</b> <i class="arg">x</i></a></li> <li><a href="#31"><b class="cmd">tanh</b> <i class="arg">x</i></a></li> <li><a href="#32"><b class="cmd"><a href="../../../../index.html#key792">pi</a></b> <i class="arg">n</i></a></li> <li><a href="#33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></li> <li><a href="#34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></li> <li><a href="#35"><b class="cmd">round</b> <i class="arg">x</i></a></li> <li><a href="#36"><b class="cmd">ceil</b> <i class="arg">x</i></a></li> <li><a href="#37"><b class="cmd">floor</b> <i class="arg">x</i></a></li> </ul> </div> |
︙ | ︙ | |||
251 252 253 254 255 256 257 | puts [tostr [fromstr 0.002]] ;# 0.e-2 </pre> <p>See <span class="sectref"><a href="#section7">PRECISION</a></span> for that matter. See also <b class="cmd">iszero</b> for how to detect zeros, which is useful when performing a division.</p></dd> <dt><a name="3"><b class="cmd">fromdouble</b> <i class="arg">double</i> <span class="opt">?<i class="arg">decimals</i>?</span></a></dt> <dd><p>Converts a double (a simple floating-point value) to a BigFloat, with exactly <i class="arg">decimals</i> digits. Without the <i class="arg">decimals</i> argument, | | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | puts [tostr [fromstr 0.002]] ;# 0.e-2 </pre> <p>See <span class="sectref"><a href="#section7">PRECISION</a></span> for that matter. See also <b class="cmd">iszero</b> for how to detect zeros, which is useful when performing a division.</p></dd> <dt><a name="3"><b class="cmd">fromdouble</b> <i class="arg">double</i> <span class="opt">?<i class="arg">decimals</i>?</span></a></dt> <dd><p>Converts a double (a simple floating-point value) to a BigFloat, with exactly <i class="arg">decimals</i> digits. Without the <i class="arg">decimals</i> argument, it behaves like <b class="cmd">fromstr</b>. Here, the only important feature you might care of is the ability to create BigFloats with a fixed number of <i class="arg">decimals</i>.</p> <pre class="example"> tostr [fromstr 1.111 4] # returns : 1.111000 (3 zeros) tostr [fromdouble 1.111 4] # returns : 1.111 |
︙ | ︙ | |||
333 334 335 336 337 338 339 | tostr $a ; # 0.e-2 iszero $a ; # false set a [fromstr 0.001] ; # uncertainty interval : 0.000, 0.002 tostr $a ; # 0.e-2 iszero $a ; # true </pre> </dd> | | | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | tostr $a ; # 0.e-2 iszero $a ; # false set a [fromstr 0.001] ; # uncertainty interval : 0.000, 0.002 tostr $a ; # 0.e-2 iszero $a ; # true </pre> </dd> <dt><a name="17"><b class="cmd"><a href="../../../../index.html#key539">equal</a></b> <i class="arg">x</i> <i class="arg">y</i></a></dt> <dd><p>Returns 1 if <em>x</em> and <em>y</em> are equal, 0 elsewhere.</p></dd> <dt><a name="18"><b class="cmd">compare</b> <i class="arg">x</i> <i class="arg">y</i></a></dt> <dd><p>Returns 0 if both BigFloat arguments are equal, 1 if <em>x</em> is greater than <em>y</em>, and -1 if <em>x</em> is lower than <em>y</em>. You would not be able to compare an integer to a BigFloat : the operands should be both BigFloats, or both integers.</p></dd> |
︙ | ︙ | |||
374 375 376 377 378 379 380 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | <dt><a name="30"><b class="cmd">sinh</b> <i class="arg">x</i></a></dt> <dd></dd> <dt><a name="31"><b class="cmd">tanh</b> <i class="arg">x</i></a></dt> <dd><p>The above functions return, respectively, the following : square root, logarithm, exponential, cosine, sine, tangent, cotangent, arc cosine, arc sine, arc tangent, hyperbolic cosine, hyperbolic sine, hyperbolic tangent, of a BigFloat named <em>x</em>.</p></dd> <dt><a name="32"><b class="cmd"><a href="../../../../index.html#key792">pi</a></b> <i class="arg">n</i></a></dt> <dd><p>Returns a BigFloat representing the Pi constant with <em>n</em> digits after the dot. <em>n</em> is a positive integer.</p></dd> <dt><a name="33"><b class="cmd">rad2deg</b> <i class="arg">radians</i></a></dt> <dd></dd> <dt><a name="34"><b class="cmd">deg2rad</b> <i class="arg">degrees</i></a></dt> <dd><p><i class="arg">radians</i> - angle expressed in radians (BigFloat)</p> <p><i class="arg">degrees</i> - angle expressed in degrees (BigFloat)</p> |
︙ | ︙ | |||
408 409 410 411 412 413 414 | holds its uncertainty as 1 at the level of the last digit.</p></li> <li><p>During computations, the uncertainty of each result is internally computed the closest to the reality, thus saving the memory used.</p></li> <li><p>When converting back to string, the digits that are printed are not subject to uncertainty. However, some rounding is done, as not doing so causes severe problems.</p></li> </ul> | | | | | | 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 | holds its uncertainty as 1 at the level of the last digit.</p></li> <li><p>During computations, the uncertainty of each result is internally computed the closest to the reality, thus saving the memory used.</p></li> <li><p>When converting back to string, the digits that are printed are not subject to uncertainty. However, some rounding is done, as not doing so causes severe problems.</p></li> </ul> <p>Uncertainties are kept in the internal representation of the number ; it is recommended to use <b class="cmd">tostr</b> only for outputting data (on the screen or in a file), and NEVER call <b class="cmd">fromstr</b> with the result of <b class="cmd">tostr</b>. It is better to always keep operands in their internal representation. Due to the internals of this library, the uncertainty interval may be slightly wider than expected, but this should not cause false digits.</p> <p>Now you may ask this question : What precision am I going to get after calling add, sub, mul or div? First you set a number from the string representation and, by the way, its uncertainty is set:</p> <pre class="example"> set a [fromstr 1.230] # $a belongs to [1.229, 1.231] set a [fromstr 1.000] # $a belongs to [0.999, 1.001] # $a has a relative uncertainty of 0.1% : 0.001(the uncertainty)/1.000(the medium value) </pre> <p>The uncertainty of the sum, or the difference, of two numbers, is the sum of their respective uncertainties.</p> <pre class="example"> set a [fromstr 1.230] set b [fromstr 2.340] set sum [add $a $b]] # the result is : [3.568, 3.572] (the last digit is known with an uncertainty of 2) tostr $sum ; # 3.57 </pre> <p>But when, for example, we add or substract an integer to a BigFloat, the relative uncertainty of the result is unchanged. So it is desirable not to convert integers to BigFloats:</p> <pre class="example"> set a [fromstr 0.999999999] # now something dangerous set b [fromstr 2.000] # the result has only 3 digits tostr [add $a $b] |
︙ | ︙ | |||
467 468 469 470 471 472 473 | to the cos function:</p> <pre class="example"> puts [tostr [cos [fromstr 0. 10]]]; # -> 1.000000000 puts [tostr [cos [fromstr 0. 5]]]; # -> 1.0000 puts [tostr [cos [fromstr 0e-10]]]; # -> 1.000000000 puts [tostr [cos [fromstr 1e-10]]]; # -> 1.000000000 </pre> | | | 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | to the cos function:</p> <pre class="example"> puts [tostr [cos [fromstr 0. 10]]]; # -> 1.000000000 puts [tostr [cos [fromstr 0. 5]]]; # -> 1.0000 puts [tostr [cos [fromstr 0e-10]]]; # -> 1.000000000 puts [tostr [cos [fromstr 1e-10]]]; # -> 1.000000000 </pre> <p>BigFloats with different internal representations may be converted to the same string.</p> <p>For most analysis functions (cosine, square root, logarithm, etc.), determining the precision of the result is difficult. It seems however that in many cases, the loss of precision in the result is of one or two digits. There are some exceptions : for example,</p> <pre class="example"> |
︙ | ︙ | |||
520 521 522 523 524 525 526 | <pre class="example"> namespace import ::math::bigfloat::* </pre> <p>If you matter much about avoiding names conflicts, I considere it should be resolved by the following :</p> <pre class="example"> package require math::bigfloat | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 | <pre class="example"> namespace import ::math::bigfloat::* </pre> <p>If you matter much about avoiding names conflicts, I considere it should be resolved by the following :</p> <pre class="example"> package require math::bigfloat # beware: namespace ensembles are not available in Tcl 8.4 namespace eval ::math::bigfloat {namespace ensemble create -command ::bigfloat} # from now, the bigfloat command takes as subcommands all original math::bigfloat::* commands set a [bigfloat sub [bigfloat fromstr 2.000] [bigfloat fromstr 0.530]] puts [bigfloat tostr $a] </pre> </div> <div id="section10" class="section"><h2><a name="section10">EXAMPLES</a></h2> |
︙ | ︙ | |||
554 555 556 557 558 559 560 | set opposite3 [deg2rad [degree-angle 51 0 50 500]] set sinProduct [mul [sin $angle1] [sin $angle2]] set cosProduct [mul [cos $angle1] [cos $angle2]] set angle3 [asin [add [mul $sinProduct [cos $opposite3]] $cosProduct]] puts "angle3 : [tostr [rad2deg $angle3]]" </pre> </div> | | | | | 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 | set opposite3 [deg2rad [degree-angle 51 0 50 500]] set sinProduct [mul [sin $angle1] [sin $angle2]] set cosProduct [mul [cos $angle1] [cos $angle2]] set angle3 [asin [add [mul $sinProduct [cos $opposite3]] $cosProduct]] puts "angle3 : [tostr [rad2deg $angle3]]" </pre> </div> <div id="section11" class="section"><h2><a name="section11">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: bignum :: float</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key731">computations</a>, <a href="../../../../index.html#key372">floating-point</a>, <a href="../../../../index.html#key730">interval</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key269">multiprecision</a>, <a href="../../../../index.html#key268">tcl</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008, by Stephane Arnold <stephanearnold at yahoo dot fr></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/bignum.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
327 328 329 330 331 332 333 | <dd><p>Return true if the bit at the <em>bit</em> position of <em>bignum</em> is on, otherwise false is returned. If <em>bit</em> is out of range, it is considered as set to zero.</p></dd> <dt><a name="34"><b class="cmd">::math::bignum::bits</b> <i class="arg">bignum</i></a></dt> <dd><p>Return the number of bits needed to represent bignum in radix 2.</p></dd> </dl> </div> | | | | | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | <dd><p>Return true if the bit at the <em>bit</em> position of <em>bignum</em> is on, otherwise false is returned. If <em>bit</em> is out of range, it is considered as set to zero.</p></dd> <dt><a name="34"><b class="cmd">::math::bignum::bits</b> <i class="arg">bignum</i></a></dt> <dd><p>Return the number of bits needed to represent bignum in radix 2.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: bignum</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key267">bignums</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key269">multiprecision</a>, <a href="../../../../index.html#key268">tcl</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Salvatore Sanfilippo <antirez at invece dot org><br> Copyright © 2004 Arjen Markus <arjenmarkus at users dot sourceforge dot net></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/calculus.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
450 451 452 453 454 455 456 | set Diff 1.0e-2 set decay 0.0001 set length 100.0 set y [::math::calculus::boundaryValueSecondOrder \ coeffs force {0.0 1.0} [list $length 0.0] 100] </pre> </div> | | | | 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 | set Diff 1.0e-2 set decay 0.0001 set length 100.0 set y [::math::calculus::boundaryValueSecondOrder \ coeffs force {0.0 1.0} [list $length 0.0] 100] </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: calculus</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>romberg</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/combinatorics.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.2</b></li> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | t**(x-1)*exp(-t) dt </pre> <p>The approximation used in the Tcl Math Library is from Lanczos, <em>ISIAM J. Numerical Analysis, series B,</em> volume 1, p. 86. For "<b class="variable">x</b> > 1", the absolute error of the result is claimed to be smaller than 5.5*10**-10 -- that is, the resulting value of Gamma when</p> <pre class="example"> | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | t**(x-1)*exp(-t) dt </pre> <p>The approximation used in the Tcl Math Library is from Lanczos, <em>ISIAM J. Numerical Analysis, series B,</em> volume 1, p. 86. For "<b class="variable">x</b> > 1", the absolute error of the result is claimed to be smaller than 5.5*10**-10 -- that is, the resulting value of Gamma when</p> <pre class="example"> exp( ln_Gamma( x) ) </pre> <p>is computed is expected to be precise to better than nine significant figures.</p></dd> <dt><a name="2"><b class="cmd">::math::factorial</b> <i class="arg">x</i></a></dt> <dd><p>Returns the factorial of the argument <i class="arg">x</i>.</p> <p>For integer <i class="arg">x</i>, 0 <= <i class="arg">x</i> <= 12, an exact integer result is returned.</p> |
︙ | ︙ | |||
186 187 188 189 190 191 192 | Beta(z,w) = Beta(w,z) = Gamma(z) * Gamma(w) / Gamma(z+w) </pre> <p>Results are returned as a floating point number precise to better than nine significant digits provided that <i class="arg">w</i> and <i class="arg">z</i> are both at least 1.</p></dd> </dl> </div> | | | | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | Beta(z,w) = Beta(w,z) = Gamma(z) * Gamma(w) / Gamma(z+w) </pre> <p>Results are returned as a floating point number precise to better than nine significant digits provided that <i class="arg">w</i> and <i class="arg">z</i> are both at least 1.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/constants.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
191 192 193 194 195 196 197 | <dd><p>Import the constants whose names are given as arguments</p></dd> <dt><a name="2"><b class="cmd">::math::constants::print-constants</b> <i class="arg">args</i></a></dt> <dd><p>Print the constants whose names are given as arguments on the screen (name, value and description) or, if no arguments are given, print all defined constants. This is mainly a convenience procedure.</p></dd> </dl> </div> | | | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | <dd><p>Import the constants whose names are given as arguments</p></dd> <dt><a name="2"><b class="cmd">::math::constants::print-constants</b> <i class="arg">args</i></a></dt> <dd><p>Print the constants whose names are given as arguments on the screen (name, value and description) or, if no arguments are given, print all defined constants. This is mainly a convenience procedure.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: constants</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key590">constants</a>, <a href="../../../../index.html#key794">degrees</a>, <a href="../../../../index.html#key793">e</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key792">pi</a>, <a href="../../../../index.html#key591">radians</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/decimal.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
304 305 306 307 308 309 310 | <dt><a name="36"><b class="cmd">::math::decimal::round_ceiling</b> <i class="arg">decimal</i> <i class="arg">digits</i></a></dt> <dd><p>Rounds <em>decimal</em> to <em>digits</em> number of decimal points with the following rules: Round toward Infinity</p></dd> <dt><a name="37"><b class="cmd">::math::decimal::round_05up</b> <i class="arg">decimal</i> <i class="arg">digits</i></a></dt> <dd><p>Rounds <em>decimal</em> to <em>digits</em> number of decimal points with the following rules: Round zero or five away from 0. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down.</p></dd> </dl> </div> | | | | | | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | <dt><a name="36"><b class="cmd">::math::decimal::round_ceiling</b> <i class="arg">decimal</i> <i class="arg">digits</i></a></dt> <dd><p>Rounds <em>decimal</em> to <em>digits</em> number of decimal points with the following rules: Round toward Infinity</p></dd> <dt><a name="37"><b class="cmd">::math::decimal::round_05up</b> <i class="arg">decimal</i> <i class="arg">digits</i></a></dt> <dd><p>Rounds <em>decimal</em> to <em>digits</em> number of decimal points with the following rules: Round zero or five away from 0. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>decimal</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key743">decimal</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key268">tcl</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Mark Alston <mark at beernut dot com></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/fourier.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">GENERAL INFORMATION</a></li> <li class="section"><a href="#section3">PROCEDURES</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">GENERAL INFORMATION</a></li> <li class="section"><a href="#section3">PROCEDURES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
228 229 230 231 232 233 234 | <dt>float <i class="arg">cutoff</i></dt> <dd><p>Cut-off frequency</p></dd> <dt>list <i class="arg">in_data</i></dt> <dd><p>List of data (amplitudes)</p></dd> </dl></dd> </dl> </div> | | | | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | <dt>float <i class="arg">cutoff</i></dt> <dd><p>Cut-off frequency</p></dd> <dt>list <i class="arg">in_data</i></dt> <dd><p>List of data (amplitudes)</p></dd> </dl></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: fourier</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key787">FFT</a>, <a href="../../../../index.html#key786">Fourier transform</a>, <a href="../../../../index.html#key778">complex numbers</a>, <a href="../../../../index.html#key602">mathematics</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/fuzzy.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">TEST CASES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">TEST CASES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
229 230 231 232 233 234 235 | APL QUOTE QUAD 8(4):20-24, June 1978. Note that TFLOOR=FL5 took five years of refereed evolution (publication).</p> <p>L. M. Breed, "Definitions for Fuzzy Floor and Ceiling", APL QUOTE QUAD 8(3):16-23, March 1978.</p> <p>D. Knuth, Art of Computer Programming, Vol. 1, Problem 1.2.4-5.</p> </div> | | | | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | APL QUOTE QUAD 8(4):20-24, June 1978. Note that TFLOOR=FL5 took five years of refereed evolution (publication).</p> <p>L. M. Breed, "Definitions for Fuzzy Floor and Ceiling", APL QUOTE QUAD 8(3):16-23, March 1978.</p> <p>D. Knuth, Art of Computer Programming, Vol. 1, Problem 1.2.4-5.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: fuzzy</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key372">floating-point</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key371">rounding</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/interpolate.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
316 317 318 319 320 321 322 | 0.7: 5.41804227941 0.8: 4.11 0.9: 3.95675857843 1.0: 4.12 </pre> <p>As you can see, the values at the abscissae are reproduced perfectly.</p> </div> | | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 | 0.7: 5.41804227941 0.8: 4.11 0.9: 3.95675857843 1.0: 4.12 </pre> <p>As you can see, the values at the abscissae are reproduced perfectly.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: interpolate</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key819">interpolation</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key820">spatial interpolation</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/math/linalg.html.
︙ | ︙ | |||
118 119 120 121 122 123 124 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">STORAGE</a></li> <li class="section"><a href="#section4">REMARKS ON THE IMPLEMENTATION</a></li> <li class="section"><a href="#section5">TODO</a></li> <li class="section"><a href="#section6">NAMING CONFLICT</a></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">STORAGE</a></li> <li class="section"><a href="#section4">REMARKS ON THE IMPLEMENTATION</a></li> <li class="section"><a href="#section5">TODO</a></li> <li class="section"><a href="#section6">NAMING CONFLICT</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
970 971 972 973 974 975 976 | <pre class="example"> namespace eval compute { rename ::scale scaleTk scaleTk .scale ... } </pre> </div> | | | | | 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 | <pre class="example"> namespace eval compute { rename ::scale scaleTk scaleTk .scale ... } </pre> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: linearalgebra</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key65">least squares</a>, <a href="../../../../index.html#key64">linear algebra</a>, <a href="../../../../index.html#key63">linear equations</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key62">matrices</a>, <a href="../../../../index.html#key55">matrix</a>, <a href="../../../../index.html#key66">vectors</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Arjen Markus <[email protected]><br> Copyright © 2004 Ed Hume <http://www.hume.com/contact.us.htm><br> Copyright © 2008 Michael Buadin <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/machineparameters.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLE</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> <li class="section"><a href="#section4">CLASS API</a></li> <li class="section"><a href="#section5">OBJECT API</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">snit</b></li> | > | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLE</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> <li class="section"><a href="#section4">CLASS API</a></li> <li class="section"><a href="#section5">OBJECT API</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">snit</b></li> |
︙ | ︙ | |||
275 276 277 278 279 280 281 282 283 284 285 286 | <li><p>-vmin : largest negative value before (gradual) underflow occurs</p></li> </ul></dd> <dt><a name="7"><i class="arg">objectname</i> <b class="method">tostring</b></a></dt> <dd><p>Return a report for machine parameters.</p></dd> <dt><a name="8"><i class="arg">objectname</i> <b class="method">print</b></a></dt> <dd><p>Print machine parameters on standard output.</p></dd> </dl> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Michael Baudin <[email protected]></p> </div> </div></body></html> | > > > > > > > > | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | <li><p>-vmin : largest negative value before (gradual) underflow occurs</p></li> </ul></dd> <dt><a name="7"><i class="arg">objectname</i> <b class="method">tostring</b></a></dt> <dd><p>Return a report for machine parameters.</p></dd> <dt><a name="8"><i class="arg">objectname</i> <b class="method">print</b></a></dt> <dd><p>Print machine parameters on standard output.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Michael Baudin <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/math.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">BASIC COMMANDS</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">BASIC COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
204 205 206 207 208 209 210 | <dt><a name="10"><b class="cmd">::math::stats</b> <i class="arg">value</i> <i class="arg">value</i> <span class="opt">?<i class="arg">value ...</i>?</span></a></dt> <dd><p>Return the mean, standard deviation, and coefficient of variation (as percent) as a list.</p></dd> <dt><a name="11"><b class="cmd">::math::sum</b> <i class="arg">value</i> <span class="opt">?<i class="arg">value ...</i>?</span></a></dt> <dd><p>Return the sum of one or more numeric values.</p></dd> </dl> </div> | | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | <dt><a name="10"><b class="cmd">::math::stats</b> <i class="arg">value</i> <i class="arg">value</i> <span class="opt">?<i class="arg">value ...</i>?</span></a></dt> <dd><p>Return the mean, standard deviation, and coefficient of variation (as percent) as a list.</p></dd> <dt><a name="11"><b class="cmd">::math::sum</b> <i class="arg">value</i> <span class="opt">?<i class="arg">value ...</i>?</span></a></dt> <dd><p>Return the sum of one or more numeric values.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key187">statistics</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/math_geometry.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">References</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">References</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
464 465 466 467 468 469 470 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http:/wiki.tcl.tk/12070">Polygon Intersection</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Line-line_intersection">http://en.wikipedia.org/wiki/Line-line_intersection</a></p></li> <li><p><a href="http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/">http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/</a></p></li> </ol> </div> | | | | | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 | <div id="section3" class="section"><h2><a name="section3">References</a></h2> <ol class="enumerated"> <li><p><a href="http:/wiki.tcl.tk/12070">Polygon Intersection</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Line-line_intersection">http://en.wikipedia.org/wiki/Line-line_intersection</a></p></li> <li><p><a href="http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/">http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/</a></p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: geometry</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key559">angle</a>, <a href="../../../../index.html#key455">distance</a>, <a href="../../../../index.html#key557">line</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key556">plane geometry</a>, <a href="../../../../index.html#key558">point</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2001 by Ideogramic ApS and other parties<br> Copyright © 2004 by Arjen Markus<br> Copyright © 2010 by Andreas Kupries<br> Copyright © 2010 by Kevin Kenny</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/numtheory.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>math::numtheory - Number Theory</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> | > | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <p>math::numtheory - Number Theory</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <dd><p>which controls how many times the Miller-Rabin test should be repeated with randomly chosen bases. Each repetition reduces the probability of a false positive by a factor at least 4. The default for <i class="arg">repetitions</i> is 4.</p></dd> </dl> <p>Unknown options are silently ignored.</p></dd> </dl> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key746">number theory</a>, <a href="../../../../index.html#key747">prime</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div></body></html> | > > > > > > > > | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | <dd><p>which controls how many times the Miller-Rabin test should be repeated with randomly chosen bases. Each repetition reduces the probability of a false positive by a factor at least 4. The default for <i class="arg">repetitions</i> is 4.</p></dd> </dl> <p>Unknown options are silently ignored.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: numtheory</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key746">number theory</a>, <a href="../../../../index.html#key747">prime</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010 Lars Hellström <Lars dot Hellstrom at residenset dot net></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/optimize.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">NOTES</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">NOTES</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
370 371 372 373 374 375 376 | <pre class="example"> -x -y <= -1 </pre> <p>The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one.</p> </div> | | | | | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | <pre class="example"> -x -y <= -1 </pre> <p>The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: optimize</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key290">linear program</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key288">maximum</a>, <a href="../../../../index.html#key287">minimum</a>, <a href="../../../../index.html#key289">optimization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]><br> Copyright © 2004,2005 Kevn B. Kenny <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/polynomials.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">REMARKS ON THE IMPLEMENTATION</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">REMARKS ON THE IMPLEMENTATION</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
279 280 281 282 283 284 285 | Horn's rule, which guarantees numerical stability and a minimum of arithmetic operations. To recognise that a polynomial definition is indeed a correct definition, it consists of a list of two elements: the keyword "POLYNOMIAL" and the list of coefficients in descending order. The latter makes it easier to implement Horner's rule.</p> </div> | | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 | Horn's rule, which guarantees numerical stability and a minimum of arithmetic operations. To recognise that a polynomial definition is indeed a correct definition, it consists of a list of two elements: the keyword "POLYNOMIAL" and the list of coefficients in descending order. The latter makes it easier to implement Horner's rule.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: polynomials</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key801">polynomial functions</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/qcomplex.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">AVAILABLE PROCEDURES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">AVAILABLE PROCEDURES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
316 317 318 319 320 321 322 | <dt>complex <i class="arg">z1</i> (in)</dt> <dd><p>The complex number to be raised to a power</p></dd> <dt>complex <i class="arg">z2</i> (in)</dt> <dd><p>The complex power to be used</p></dd> </dl></dd> </dl> </div> | | | | 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 | <dt>complex <i class="arg">z1</i> (in)</dt> <dd><p>The complex number to be raised to a power</p></dd> <dt>complex <i class="arg">z2</i> (in)</dt> <dd><p>The complex power to be used</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: complexnumbers</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key778">complex numbers</a>, <a href="../../../../index.html#key67">math</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/rational_funcs.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">REMARKS ON THE IMPLEMENTATION</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">REMARKS ON THE IMPLEMENTATION</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
257 258 259 260 261 262 263 | </dl> </div> <div id="section3" class="section"><h2><a name="section3">REMARKS ON THE IMPLEMENTATION</a></h2> <p>The implementation of the rational functions relies on the math::polynomials package. For further remarks see the documentation on that package.</p> </div> | | | | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | </dl> </div> <div id="section3" class="section"><h2><a name="section3">REMARKS ON THE IMPLEMENTATION</a></h2> <p>The implementation of the rational functions relies on the math::polynomials package. For further remarks see the documentation on that package.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: rationalfunctions</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key639">rational functions</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Arjen Markus <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/roman.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
163 164 165 166 167 168 169 | <dt><a name="4"><b class="cmd">::math::roman::expr</b> <i class="arg">args</i></a></dt> <dd><p>Evaluate an expression where the operands are all roman numerals.</p></dd> </dl> <p>Of these commands both <em>toroman</em> and <em>tointeger</em> are exported for easier use. The other two are not, as they could interfer or be confused with existing Tcl commands.</p> </div> | | | | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | <dt><a name="4"><b class="cmd">::math::roman::expr</b> <i class="arg">args</i></a></dt> <dd><p>Evaluate an expression where the operands are all roman numerals.</p></dd> </dl> <p>Of these commands both <em>toroman</em> and <em>tointeger</em> are exported for easier use. The other two are not, as they could interfer or be confused with existing Tcl commands.</p> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: roman</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key334">integer</a>, <a href="../../../../index.html#key333">roman numeral</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Kenneth Green <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/romberg.html.
︙ | ︙ | |||
118 119 120 121 122 123 124 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">PARAMETERS</a></li> <li class="section"><a href="#section4">OPTIONS</a></li> <li class="section"><a href="#section5">DESCRIPTION</a></li> <li class="section"><a href="#section6">IMPROPER INTEGRALS</a></li> <li class="section"><a href="#section7">OTHER CHANGES OF VARIABLE</a></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">PROCEDURES</a></li> <li class="section"><a href="#section3">PARAMETERS</a></li> <li class="section"><a href="#section4">OPTIONS</a></li> <li class="section"><a href="#section5">DESCRIPTION</a></li> <li class="section"><a href="#section6">IMPROPER INTEGRALS</a></li> <li class="section"><a href="#section7">OTHER CHANGES OF VARIABLE</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
379 380 381 382 383 384 385 | as we would any of the other <b class="cmd">romberg</b> procedures:</p> <pre class="example"> foreach { value error } [romberg_sine f -1.0 1.0] break puts [format "integral is %.6g +/- %.6g" $value $error] integral is 3.97746 +/- 2.3557e-010 </pre> </div> | | | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 | as we would any of the other <b class="cmd">romberg</b> procedures:</p> <pre class="example"> foreach { value error } [romberg_sine f -1.0 1.0] break puts [format "integral is %.6g +/- %.6g" $value $error] integral is 3.97746 +/- 2.3557e-010 </pre> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: calculus</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="calculus.html">math::calculus</a>, <a href="interpolate.html">math::interpolate</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Kevin B. Kenny <[email protected]>. All rights reserved. Redistribution permitted under the terms of the Open Publication License <http://www.opencontent.org/openpub/></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/special.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OVERVIEW</a></li> <li class="section"><a href="#section3">PROCEDURES</a></li> <li class="section"><a href="#section4">THE ORTHOGONAL POLYNOMIALS</a></li> <li class="section"><a href="#section5">REMARKS ON THE IMPLEMENTATION</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">OVERVIEW</a></li> <li class="section"><a href="#section3">PROCEDURES</a></li> <li class="section"><a href="#section4">THE ORTHOGONAL POLYNOMIALS</a></li> <li class="section"><a href="#section5">REMARKS ON THE IMPLEMENTATION</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
481 482 483 484 485 486 487 | statistics package.</p> <p>The computation of the complete elliptic integrals uses the AGM algorithm.</p> <p>Much information about these functions can be found in:</p> <p>Abramowitz and Stegun: <em>Handbook of Mathematical Functions</em> (Dover, ISBN 486-61272-4)</p> </div> | | | | 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | statistics package.</p> <p>The computation of the complete elliptic integrals uses the AGM algorithm.</p> <p>Much information about these functions can be found in:</p> <p>Abramowitz and Stegun: <em>Handbook of Mathematical Functions</em> (Dover, ISBN 486-61272-4)</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: special</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key668">Bessel functions</a>, <a href="../../../../index.html#key666">error function</a>, <a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key667">special functions</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/statistics.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#section2">GENERAL PROCEDURES</a></li> <li class="section"><a href="#section3">MULTIVARIATE LINEAR REGRESSION</a></li> <li class="section"><a href="#section4">STATISTICAL DISTRIBUTIONS</a></li> <li class="section"><a href="#section5">DATA MANIPULATION</a></li> <li class="section"><a href="#section6">PLOT PROCEDURES</a></li> <li class="section"><a href="#section7">THINGS TO DO</a></li> <li class="section"><a href="#section8">EXAMPLES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#section2">GENERAL PROCEDURES</a></li> <li class="section"><a href="#section3">MULTIVARIATE LINEAR REGRESSION</a></li> <li class="section"><a href="#section4">STATISTICAL DISTRIBUTIONS</a></li> <li class="section"><a href="#section5">DATA MANIPULATION</a></li> <li class="section"><a href="#section6">PLOT PROCEDURES</a></li> <li class="section"><a href="#section7">THINGS TO DO</a></li> <li class="section"><a href="#section8">EXAMPLES</a></li> <li class="section"><a href="#section9">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
1245 1246 1247 1248 1249 1250 1251 | <li><p>There is a strong correlation between two time series, as displayed by the raw data and especially by the correlation functions.</p></li> <li><p>Both time series show a significant periodic component</p></li> <li><p>The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature.</p></li> </ul> </div> | | | | 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 | <li><p>There is a strong correlation between two time series, as displayed by the raw data and especially by the correlation functions.</p></li> <li><p>Both time series show a significant periodic component</p></li> <li><p>The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature.</p></li> </ul> </div> <div id="section9" class="section"><h2><a name="section9">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: statistics</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key603">data analysis</a>, <a href="../../../../index.html#key602">mathematics</a>, <a href="../../../../index.html#key187">statistics</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/math/symdiff.html.
︙ | ︙ | |||
145 146 147 148 149 150 151 | </div> <div id="section2" class="section"><h2><a name="section2">Procedures</a></h2> <p>The <b class="cmd">math::calculus::symdiff</b> package exports the two procedures:</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">math::calculus::symdiff::symdiff</b> <i class="arg">expression</i> <i class="arg">variable</i></a></dt> <dd><p>Differentiates the given <i class="arg">expression</i> with respect to the specified <i class="arg">variable</i>. (See <span class="sectref"><a href="#section3">Expressions</a></span> below for a discussion of the | | | | | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | </div> <div id="section2" class="section"><h2><a name="section2">Procedures</a></h2> <p>The <b class="cmd">math::calculus::symdiff</b> package exports the two procedures:</p> <dl class="definitions"> <dt><a name="1"><b class="cmd">math::calculus::symdiff::symdiff</b> <i class="arg">expression</i> <i class="arg">variable</i></a></dt> <dd><p>Differentiates the given <i class="arg">expression</i> with respect to the specified <i class="arg">variable</i>. (See <span class="sectref"><a href="#section3">Expressions</a></span> below for a discussion of the subset of Tcl math expressions that are acceptable to <b class="cmd">math::calculus::symdiff</b>.) The result is a Tcl expression that evaluates the derivative. Returns an error if <i class="arg">expression</i> is not a well-formed expression or is not differentiable.</p></dd> <dt><a name="2"><b class="cmd">math::calculus::jacobian</b> <i class="arg">variableDict</i></a></dt> <dd><p>Computes the Jacobian of a system of equations. The system is given by the dictionary <i class="arg">variableDict</i>, whose keys are the names of variables in the system, and whose values are Tcl expressions giving the values of those variables. (See <span class="sectref"><a href="#section3">Expressions</a></span> below for a discussion of the subset of Tcl math expressions that are acceptable to <b class="cmd">math::calculus::symdiff</b>. The result is a list of lists: the i'th element of the j'th sublist is the partial derivative of the i'th variable with respect to the j'th variable. Returns an error if any of the expressions cannot be differentiated, or if <i class="arg">variableDict</i> is not a well-formed dictionary.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Expressions</a></h2> <p>The <b class="cmd">math::calculus::symdiff</b> package accepts only a small subset of the expressions that are acceptable to Tcl commands such as <b class="cmd">expr</b> or <b class="cmd">if</b>. Specifically, the only constructs accepted are:</p> <ul class="itemized"> <li><p>Floating-point constants such as <b class="const">5</b> or <b class="const">3.14159e+00</b>.</p></li> <li><p>References to Tcl variable using $-substitution. The variable names must consist of alphanumerics and underscores: the <b class="const">${...}</b> notation is not accepted.</p></li> <li><p>Parentheses.</p></li> <li><p>The <b class="const">+</b>, <b class="const">-</b>, <b class="const">*</b>, <b class="const">/</b>. and <b class="const">**</b> operators.</p></li> <li><p>Calls to the functions <b class="cmd">acos</b>, <b class="cmd">asin</b>, <b class="cmd">atan</b>, <b class="cmd">atan2</b>, <b class="cmd">cos</b>, <b class="cmd">cosh</b>, <b class="cmd">exp</b>, <b class="cmd">hypot</b>, <b class="cmd"><a href="../log/log.html">log</a></b>, <b class="cmd">log10</b>, <b class="cmd">pow</b>, <b class="cmd">sin</b>, <b class="cmd">sinh</b>. <b class="cmd">sqrt</b>, <b class="cmd">tan</b>, and <b class="cmd">tanh</b>.</p></li> </ul> <p>Command substitution, backslash substitution, and argument expansion are |
︙ | ︙ | |||
196 197 198 199 200 201 202 | ==> {{$a} {$b}} {{$c} {$d}} </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: calculus</em> of the | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | ==> {{$a} {$b}} {{$c} {$d}} </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>math :: calculus</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="calculus.html">math::calculus</a>, <a href="interpolate.html">math::interpolate</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010 by Kevin B. Kenny <[email protected]><br> Redistribution permitted under the terms of the Open Publication License <http://www.opencontent.org/openpub/></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/md4/md4.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::md4::md4</b> <span class="opt">?<i class="arg">-hex</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate the MD4 digest of the data given in string. This is returned as a binary string by default. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the digest.</p> <p>The data to be hashed can be specified either as a string argument to | | | | | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::md4::md4</b> <span class="opt">?<i class="arg">-hex</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate the MD4 digest of the data given in string. This is returned as a binary string by default. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the digest.</p> <p>The data to be hashed can be specified either as a string argument to the md4 command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed.</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::md4::hmac</b> <span class="opt">?<i class="arg">-hex</i>?</span> <i class="arg">-key key</i> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate an Hashed Message Authentication digest (HMAC) using the MD4 digest algorithm. HMACs are described in RFC 2104 (4) and provide an MD4 digest that includes a key. All options other than <i class="arg">-key</i> are as for the <b class="cmd">::md4::md4</b> command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> <p>For the programmer, the MD4 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD4 hash operates on a token (equivalent to the bucket). You call <b class="cmd">MD4Init</b> to obtain a token and then call <b class="cmd">MD4Update</b> as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call <b class="cmd">MD4Final</b>. An equivalent set of functions gives you a keyed digest (HMAC).</p> <dl class="definitions"> <dt><a name="3"><b class="cmd">::md4::MD4Init</b></a></dt> <dd><p>Begins a new MD4 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="4"><b class="cmd">::md4::MD4Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>MD4Update $token "abcd"</em> is equivalent to calling <em>MD4Update $token "ab"</em> followed by <em>MD4Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>.</p></dd> <dt><a name="5"><b class="cmd">::md4::MD4Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit MD4 digest value.</p></dd> <dt><a name="6"><b class="cmd">::md4::HMACInit</b> <i class="arg">key</i></a></dt> |
︙ | ︙ | |||
235 236 237 238 239 240 241 | April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 message digest algorithm", in A.J. Menezes and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90 Proceedings, pages 303-311, Springer-Verlag, 1991.</p></li> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> | | | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 message digest algorithm", in A.J. Menezes and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90 Proceedings, pages 303-311, Springer-Verlag, 1991.</p></li> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>md4</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key359">md4</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key358">rfc 1320</a>, <a href="../../../../index.html#key360">rfc 1321</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/md5/md5.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
150 151 152 153 154 155 156 | algorithm as described in RFC 1321 (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The MD5 algorithm is related to the MD4 algorithm (2) but has been strengthened against certain types of potential attack. MD5 should be used in preference to MD4 for new applications.</p> <p>If you have <b class="package">critcl</b> and have built the <b class="package">tcllibc</b> package then the implementation of the hashing function will be | | | | | | | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | algorithm as described in RFC 1321 (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The MD5 algorithm is related to the MD4 algorithm (2) but has been strengthened against certain types of potential attack. MD5 should be used in preference to MD4 for new applications.</p> <p>If you have <b class="package">critcl</b> and have built the <b class="package">tcllibc</b> package then the implementation of the hashing function will be performed by compiled code. Alternatively if you have either <b class="package">cryptkit</b> or <b class="package">Trf</b> then either of these can be used to accelerate the digest computation. If no suitable compiled package is available then the pure-Tcl implementation wil be used. The programming interface remains the same in all cases.</p> <p><em>Note</em> the previous version of this package always returned a hex encoded string. This has been changed to simplify the programming interface and to make this version more compatible with other implementations. To obtain the previous usage, either explicitly specify package version 1 or use the <i class="arg">-hex</i> option to the <b class="cmd">md5</b> command.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::md5::md5</b> <span class="opt">?<i class="arg">-hex</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate the MD5 digest of the data given in string. This is returned as a binary string by default. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the digest.</p> <p>The data to be hashed can be specified either as a string argument to the <b class="cmd">md5</b> command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed.</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::md5::hmac</b> <span class="opt">?<i class="arg">-hex</i>?</span> <i class="arg">-key key</i> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate an Hashed Message Authentication digest (HMAC) using the MD5 digest algorithm. HMACs are described in RFC 2104 (3) and provide an MD5 digest that includes a key. All options other than <i class="arg">-key</i> are as for the <b class="cmd">::md5::md5</b> command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> <p>For the programmer, the MD5 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD5 hash operates on a token (equivalent to the bucket). You call <b class="cmd">MD5Init</b> to obtain a token and then call <b class="cmd">MD5Update</b> as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call <b class="cmd">MD5Final</b>. An equivalent set of functions gives you a keyed digest (HMAC).</p> <dl class="definitions"> <dt><a name="3"><b class="cmd">::md5::MD5Init</b></a></dt> <dd><p>Begins a new MD5 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="4"><b class="cmd">::md5::MD5Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>MD5Update $token "abcd"</em> is equivalent to calling <em>MD5Update $token "ab"</em> followed by <em>MD5Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>.</p></dd> <dt><a name="5"><b class="cmd">::md5::MD5Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit MD5 digest value.</p></dd> <dt><a name="6"><b class="cmd">::md5::HMACInit</b> <i class="arg">key</i></a></dt> |
︙ | ︙ | |||
241 242 243 244 245 246 247 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> | | | | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>md5</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key644">md5</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key358">rfc 1320</a>, <a href="../../../../index.html#key360">rfc 1321</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/md5crypt/md5crypt.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">SALT</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">SALT</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | $apr1$01234567$IXBaQywhAhc0d75ZbaSDp/ </pre> <pre class="example"> % md5crypt::md5crypt password [md5crypt::salt] $1$dFmvyRmO$T.V3OmzqeEf3hqJp2WFcb. </pre> </div> | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | $apr1$01234567$IXBaQywhAhc0d75ZbaSDp/ </pre> <pre class="example"> % md5crypt::md5crypt password [md5crypt::salt] $1$dFmvyRmO$T.V3OmzqeEf3hqJp2WFcb. </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>md5crypt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md5/md5.html">md5</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/mime/mime.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">KNOWN BUGS</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">KNOWN BUGS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
334 335 336 337 338 339 340 | <dt><a name="12"><b class="cmd">::mime::reversemapencoding</b> <i class="arg">charset_type</i></a></dt> <dd><p>This command maps MIME charset types onto tcl encoding names. Those that are unknown return "".</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">KNOWN BUGS</a></h2> <dl class="definitions"> | | < | | | | | | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | <dt><a name="12"><b class="cmd">::mime::reversemapencoding</b> <i class="arg">charset_type</i></a></dt> <dd><p>This command maps MIME charset types onto tcl encoding names. Those that are unknown return "".</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">KNOWN BUGS</a></h2> <dl class="definitions"> <dt>Tcllib Bug #447037</dt> <dd><p>This problem affects only people which are using Tcl and Mime on a 64-bit system. The currently recommended fix for this problem is to upgrade to Tcl version 8.4. This version has extended 64 bit support and the bug does not appear anymore.</p> <p>The problem could have been generally solved by requiring the use of Tcl 8.4 for this package. We decided against this solution as it would force a large number of unaffected users to upgrade their Tcl interpreter for no reason.</p> <p>See <a href="/tktview?name=447037">Ticket 447037</a> for additional information.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>mime</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key505">http</a>, <a href="../pop3/pop3.html">pop3</a>, <a href="smtp.html">smtp</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key315">email</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key310">mail</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key276">net</a>, <a href="../../../../index.html#key798">rfc 2045</a>, <a href="../../../../index.html#key799">rfc 2046</a>, <a href="../../../../index.html#key797">rfc 2049</a>, <a href="../../../../index.html#key312">rfc 821</a>, <a href="../../../../index.html#key313">rfc 822</a>, <a href="../../../../index.html#key317">smtp</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 1999-2000 Marshall T. Rose</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/mime/smtp.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Authentication</a></li> <li class="section"><a href="#section3">EXAMPLE</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Authentication</a></li> <li class="section"><a href="#section3">EXAMPLE</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
170 171 172 173 174 175 176 | present the header isn't examined for recipient addresses). If the string contains more than one address they will be separated by commas.</p></dd> <dt><b class="option">-header</b></dt> <dd><p>A list containing two elements, an smtp header and its associated value (the -header option may occur zero or more times).</p></dd> <dt><b class="option">-usetls</b></dt> | | | | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | present the header isn't examined for recipient addresses). If the string contains more than one address they will be separated by commas.</p></dd> <dt><b class="option">-header</b></dt> <dd><p>A list containing two elements, an smtp header and its associated value (the -header option may occur zero or more times).</p></dd> <dt><b class="option">-usetls</b></dt> <dd><p>This package supports the RFC 3207 TLS extension (3) by default provided the tls package is available. You can turn this off with this boolean option.</p></dd> <dt><b class="option">-tlspolicy</b></dt> <dd><p>This option lets you specify a command to be called if an error occurs during TLS setup. The command is called with the SMTP code and diagnostic message appended. The command should return 'secure' or 'insecure' where insecure will cause the package to continue on the unencrypted channel. Returning 'secure' will cause the socket to be closed and the next server in the <b class="option">-servers</b> list to be tried.</p></dd> <dt><b class="option">-username</b></dt> <dd></dd> |
︙ | ︙ | |||
246 247 248 249 250 251 252 | <li><p>Jonathan B. Postel, "SIMPLE MAIL TRANSFER PROTOCOL", RFC 821, August 1982. (<a href="http://www.rfc-editor.org/rfc/rfc821.txt">http://www.rfc-editor.org/rfc/rfc821.txt</a>)</p></li> <li><p>J. Klensin, "Simple Mail Transfer Protocol", RFC 2821, April 2001. (<a href="http://www.rfc-editor.org/rfc/rfc2821.txt">http://www.rfc-editor.org/rfc/rfc2821.txt</a>)</p></li> <li><p>P. Hoffman, "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. (<a href="http://www.rfc-editor.org/rfc/rfc3207.txt">http://www.rfc-editor.org/rfc/rfc3207.txt</a>)</p></li> | | | | | | | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | <li><p>Jonathan B. Postel, "SIMPLE MAIL TRANSFER PROTOCOL", RFC 821, August 1982. (<a href="http://www.rfc-editor.org/rfc/rfc821.txt">http://www.rfc-editor.org/rfc/rfc821.txt</a>)</p></li> <li><p>J. Klensin, "Simple Mail Transfer Protocol", RFC 2821, April 2001. (<a href="http://www.rfc-editor.org/rfc/rfc2821.txt">http://www.rfc-editor.org/rfc/rfc2821.txt</a>)</p></li> <li><p>P. Hoffman, "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. (<a href="http://www.rfc-editor.org/rfc/rfc3207.txt">http://www.rfc-editor.org/rfc/rfc3207.txt</a>)</p></li> <li><p>J. Myers, "SMTP Service Extension for Authentication", RFC 2554, March 1999. (<a href="http://www.rfc-editor.org/rfc/rfc2554.txt">http://www.rfc-editor.org/rfc/rfc2554.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>smtp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../ftp/ftp.html">ftp</a>, <a href="../../../../index.html#key505">http</a>, <a href="mime.html">mime</a>, <a href="../pop3/pop3.html">pop3</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key315">email</a>, <a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key310">mail</a>, <a href="../../../../index.html#key228">mime</a>, <a href="../../../../index.html#key276">net</a>, <a href="../../../../index.html#key316">rfc 2554</a>, <a href="../../../../index.html#key309">rfc 2821</a>, <a href="../../../../index.html#key314">rfc 3207</a>, <a href="../../../../index.html#key312">rfc 821</a>, <a href="../../../../index.html#key313">rfc 822</a>, <a href="../../../../index.html#key317">smtp</a>, <a href="../../../../index.html#key311">tls</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 1999-2000 Marshall T. Rose and others</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/multiplexer/multiplexer.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>multiplexer - One-to-many communication with sockets.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>multiplexer - One-to-many communication with sockets.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
166 167 168 169 170 171 172 | <dt><b class="option">debuglevel</b></dt> <dd><p>Sets the debug level to use for the multiplexer instance, according to those specified by the <b class="package"><a href="../log/logger.html">logger</a></b> package (debug, info, notice, warn, error, critical).</p></dd> </dl></dd> <dt><a name="4"><b class="cmd">${multiplexer_instance}::AddFilter</b> <i class="arg">cmdprefix</i></a></dt> <dd><p>Command to add a filter for data that passes through the multiplexer | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | <dt><b class="option">debuglevel</b></dt> <dd><p>Sets the debug level to use for the multiplexer instance, according to those specified by the <b class="package"><a href="../log/logger.html">logger</a></b> package (debug, info, notice, warn, error, critical).</p></dd> </dl></dd> <dt><a name="4"><b class="cmd">${multiplexer_instance}::AddFilter</b> <i class="arg">cmdprefix</i></a></dt> <dd><p>Command to add a filter for data that passes through the multiplexer instance. The registered <i class="arg">cmdprefix</i> is called when data arrives at a multiplexer instance. If there is more than one filter command registered at the instance they will be called in the order of registristation, and each filter will get the result of the preceding filter as its argument. The first filter gets the incoming data as its argument. The result returned by the last filter is the data which will be broadcast to all clients of the multiplexer instance. |
︙ | ︙ | |||
214 215 216 217 218 219 220 | <dt><a name="9"><b class="cmd">cmdprefix</b> <i class="arg">chan</i> <i class="arg">clientaddress</i> <i class="arg">clientport</i></a></dt> <dd><p>The arguments contain information about the client which signaled the EOF: The channel connecting us to the client, its ip-address, and its ip-port.</p></dd> </dl></dd> </dl> </div> | | | | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 | <dt><a name="9"><b class="cmd">cmdprefix</b> <i class="arg">chan</i> <i class="arg">clientaddress</i> <i class="arg">clientport</i></a></dt> <dd><p>The arguments contain information about the client which signaled the EOF: The channel connecting us to the client, its ip-address, and its ip-port.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>multiplexer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key676">chat</a>, <a href="../../../../index.html#key677">multiplexer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/namespacex/namespacex.html.
︙ | ︙ | |||
180 181 182 183 184 185 186 | <dt><a name="10"><b class="cmd">::namespacex state drop</b> <i class="arg">namespace</i></a></dt> <dd><p>This command unsets all variables in the specified <i class="arg">namespace</i> and its child namespaces. The result of the command is the empty string.</p></dd> </dl> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | <dt><a name="10"><b class="cmd">::namespacex state drop</b> <i class="arg">namespace</i></a></dt> <dd><p>This command unsets all variables in the specified <i class="arg">namespace</i> and its child namespaces. The result of the command is the empty string.</p></dd> </dl> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key95">extended namespace</a>, <a href="../../../../index.html#key91">info</a>, <a href="../../../../index.html#key94">namespace unknown</a>, <a href="../../../../index.html#key93">namespace utilities</a>, <a href="../../../../index.html#key92">state (de)serialization</a>, <a href="../../../../index.html#key96">unknown hooking</a>, <a href="../../../../index.html#key90">utilities</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 200? Neil Madden (http://wiki.tcl.tk/12790)<br> Copyright © 200? Various (http://wiki.tcl.tk/1489)<br> Copyright © 2010 Documentation, Andreas Kupries</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ncgi/ncgi.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
353 354 355 356 357 358 359 | puts "<html> File uploaded at <a href=\"/images/$filedesc\">$filedesc</a> </html>" set filename /www/images/$filedesc set fh [open $filename w] puts -nonewline $fh $filedata close $fh </pre> </div> | | | | 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | puts "<html> File uploaded at <a href=\"/images/$filedesc\">$filedesc</a> </html>" set filename /www/images/$filedesc set fh [open $filename w] puts -nonewline $fh $filedata close $fh </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ncgi</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../html/html.html">html</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key665">CGI</a>, <a href="../../../../index.html#key664">cookie</a>, <a href="../../../../index.html#key596">form</a>, <a href="../../../../index.html#key597">html</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>CGI programming</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/nmea/nmea.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
182 183 184 185 186 187 188 | <dd><p>Sets the rate at which lines are processed from the open file, in milliseconds. The rate remains consistant across files, there does not need to be a file currently open to use this command. Set to 0 to disable automatic line processing.</p></dd> <dt><a name="9"><b class="cmd">::nmea::log</b> <span class="opt">?file?</span></a></dt> <dd><p>Starts or stops input logging. If a file name is specified then all NMEA data recieved on the open port will be logged to the <span class="opt">?file?</span> in append mode. If file is an empty string then any logging will be stopped. If no file is specified then returns a boolean value indicating | | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | <dd><p>Sets the rate at which lines are processed from the open file, in milliseconds. The rate remains consistant across files, there does not need to be a file currently open to use this command. Set to 0 to disable automatic line processing.</p></dd> <dt><a name="9"><b class="cmd">::nmea::log</b> <span class="opt">?file?</span></a></dt> <dd><p>Starts or stops input logging. If a file name is specified then all NMEA data recieved on the open port will be logged to the <span class="opt">?file?</span> in append mode. If file is an empty string then any logging will be stopped. If no file is specified then returns a boolean value indicating if logging is currently enabled. Data written to the port by <b class="cmd">write</b>, data read from files, or input made using <b class="cmd">input</b>, is not logged.</p></dd> <dt><a name="10"><b class="cmd">::nmea::checksum</b> <i class="arg">data</i></a></dt> <dd><p>Returns the checksum of the supplied data.</p></dd> <dt><a name="11"><b class="cmd">::nmea::write</b> <i class="arg">sentence</i> <i class="arg">data</i></a></dt> <dd><p>If there is a currently open port, this command will write the specified sentence and data to the port in proper NMEA checksummed format.</p></dd> <dt><a name="12"><b class="cmd">::nmea::event</b> <i class="arg">setence</i> <span class="opt">?command?</span></a></dt> <dd><p>Registers a handler proc for a given NMEA <i class="arg">sentence</i>. There may be at most one handler per sentence, any existing handler is replaced. If no command is specified, returns the name of the current handler for the given <i class="arg">setence</i> or an empty string if none exists. In addition to the incoming sentences there are 2 builtin types, EOF and DEFAULT. The handler for the DEFAULT setence is invoked if there is not a specific handler for that sentence. The EOF handler is invoked when End Of File is reached on the open file or port.</p> <p>The handler procedures, with the exception of the builtin types,must take exactly one argument, which is a list of the data values. The DEFAULT handler should have two arguments, the sentence type and the data values. |
︙ | ︙ | |||
213 214 215 216 217 218 219 | proc handle_unknown {name data} { puts "unknown data type $name" } </pre> </dd> </dl> </div> | | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | proc handle_unknown {name data} { puts "unknown data type $name" } </pre> </dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nmea</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key386">gps</a>, <a href="../../../../index.html#key385">nmea</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009, Aaron Faupell <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/nns/nns_auto.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EVENTS</a></li> <li class="section"><a href="#section5">DESIGN</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">EVENTS</a></li> <li class="section"><a href="#section5">DESIGN</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
200 201 202 203 204 205 206 | timer is canceled, a <i class="term">re-connection</i> event generated, and the package proceeds to re-enter the remembered bound names and continous searches.</p> <p>Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts.</p> </div> | | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | timer is canceled, a <i class="term">re-connection</i> event generated, and the package proceeds to re-enter the remembered bound names and continous searches.</p> <p>Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="nns_client.html">nameserv(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nns/nns_client.html.
︙ | ︙ | |||
118 119 120 121 122 123 124 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">CONNECTION HANDLING</a></li> <li class="section"><a href="#section4">EVENTS</a></li> <li class="section"><a href="#section5">OPTIONS</a></li> <li class="section"><a href="#section6">ASYNCHRONOUS AND CONTINUOUS SEARCHES</a></li> <li class="section"><a href="#section7">HISTORY</a></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">CONNECTION HANDLING</a></li> <li class="section"><a href="#section4">EVENTS</a></li> <li class="section"><a href="#section5">OPTIONS</a></li> <li class="section"><a href="#section6">ASYNCHRONOUS AND CONTINUOUS SEARCHES</a></li> <li class="section"><a href="#section7">HISTORY</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
375 376 377 378 379 380 381 | <dt>0.2</dt> <dd><p>Extended the client with the ability to generate events when it loses its connection to the name service. Based on package <b class="package"><a href="../uev/uevent.html">uevent</a></b>.</p></dd> <dt>0.1</dt> <dd><p>Initial implementation of the client.</p></dd> </dl> </div> | | | | 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | <dt>0.2</dt> <dd><p>Extended the client with the ability to generate events when it loses its connection to the name service. Based on package <b class="package"><a href="../uev/uevent.html">uevent</a></b>.</p></dd> <dt>0.1</dt> <dd><p>Initial implementation of the client.</p></dd> </dl> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="nns_common.html">nameserv::common(n)</a>, <a href="nns_server.html">nameserv::server(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nns/nns_common.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
151 152 153 154 155 156 157 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::nameserv::common::port</b></a></dt> <dd><p>The result returned by the command is the id of the default TCP/IP port a nameservice server will listen on, and a name service client will try to connect to.</p></dd> </dl> </div> | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::nameserv::common::port</b></a></dt> <dd><p>The result returned by the command is the id of the default TCP/IP port a nameservice server will listen on, and a name service client will try to connect to.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>nameserv::client(n), <a href="nns_server.html">nameserv::server(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nns/nns_intro.html.
︙ | ︙ | |||
190 191 192 193 194 195 196 | <b class="package"><a href="nns_server.html">nameserv::server</a></b> to talk to each other. It is of no interest to users of either the packages or applications.</p> <p>Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> | > | | | < | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | <b class="package"><a href="nns_server.html">nameserv::server</a></b> to talk to each other. It is of no interest to users of either the packages or applications.</p> <p>Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="nns_client.html">nameserv(n)</a>, <a href="nns_auto.html">nameserv::auto(n)</a>, <a href="nns_common.html">nameserv::common(n)</a>, <a href="nns_protocol.html">nameserv::protocol(n)</a>, <a href="nns_server.html">nameserv::server(n)</a>, <a href="../../apps/nnsd.html">nnsd(n)</a>, nss(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key30">client</a>, <a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key61">server</a></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nns/nns_protocol.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section2">Nano Name Service Protocol Version 1</a> <ul> <li class="subsection"><a href="#subsection1">Basic Layer</a></li> <li class="subsection"><a href="#subsection2">Message Layer</a></li> </ul> </li> <li class="section"><a href="#section3">Nano Name Service Protocol Extension: Continuous Search</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section2">Nano Name Service Protocol Version 1</a> <ul> <li class="subsection"><a href="#subsection1">Basic Layer</a></li> <li class="subsection"><a href="#subsection2">Message Layer</a></li> </ul> </li> <li class="section"><a href="#section3">Nano Name Service Protocol Extension: Continuous Search</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
243 244 245 246 247 248 249 | <p>The <i class="arg">response</i> has to be a dictionary containing the matching names as keys, and mapping them to the data associated with it at <b class="method">Bind</b>-time. The argument coming before the response tells the client whether the names in the response were added or removed from the service.</p></dd> </dl> </div> | | | | | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | <p>The <i class="arg">response</i> has to be a dictionary containing the matching names as keys, and mapping them to the data associated with it at <b class="method">Bind</b>-time. The argument coming before the response tells the client whether the names in the response were added or removed from the service.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../comm/comm_wire.html">comm_wire(n)</a>, <a href="nns_client.html">nameserv(n)</a>, <a href="nns_server.html">nameserv::server(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key33">comm</a>, <a href="../../../../index.html#key29">name service</a>, <a href="../../../../index.html#key140">protocol</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/nns/nns_server.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">HISTORY</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">HISTORY</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
226 227 228 229 230 231 232 | continuous searches.</p></dd> <dt>0.2</dt> <dd><p>Changed name of -local switch to -localonly.</p></dd> <dt>0.1</dt> <dd><p>Initial implementation of the server.</p></dd> </dl> </div> | | | | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | continuous searches.</p></dd> <dt>0.2</dt> <dd><p>Changed name of -local switch to -localonly.</p></dd> <dt>0.1</dt> <dd><p>Initial implementation of the server.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nameserv</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>nameserv::client(n), <a href="nns_common.html">nameserv::common(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/nntp/nntp.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLE</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLE</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
371 372 373 374 375 376 377 | (including <i class="arg">msgid1</i> and <i class="arg">msgid2</i>) are queried.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLE</a></h2> <p>A bigger example for posting a single article.</p> <pre class="example"> | | | | | | | | | | | < | | | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | (including <i class="arg">msgid1</i> and <i class="arg">msgid2</i>) are queried.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLE</a></h2> <p>A bigger example for posting a single article.</p> <pre class="example"> package require nntp set n [nntp::nntp NNTP_SERVER] $n post "From: [email protected] (USER_FULL) Path: COMPUTERNAME!USERNAME Newsgroups: alt.test Subject: Tcl test post -ignore Message-ID: <[pid][clock seconds] @COMPUTERNAME> Date: [clock format [clock seconds] -format "%a, %d % b %y %H:%M:%S GMT" -gmt true] Test message body" </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>nntp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key511">news</a>, <a href="../../../../index.html#key635">nntp</a>, <a href="../../../../index.html#key638">nntpclient</a>, <a href="../../../../index.html#key636">rfc 1036</a>, <a href="../../../../index.html#key637">rfc 977</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ntp/ntp_time.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
144 145 146 147 148 149 150 | <li><a href="#10"><b class="cmd">::time::cleanup</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package implements a client for the RFC 868 TIME protocol (<a href="http://www.rfc-editor.org/rfc/rfc868.txt">http://www.rfc-editor.org/rfc/rfc868.txt</a>) and also a minimal | | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | <li><a href="#10"><b class="cmd">::time::cleanup</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package implements a client for the RFC 868 TIME protocol (<a href="http://www.rfc-editor.org/rfc/rfc868.txt">http://www.rfc-editor.org/rfc/rfc868.txt</a>) and also a minimal client for the RFC 2030 Simple Network Time Protocol (<a href="http://www.rfc-editor.org/rfc/rfc2030.txt">http://www.rfc-editor.org/rfc/rfc2030.txt</a>). RFC 868 returns the time in seconds since 1 January 1900 to either tcp or udp clients. RFC 2030 also gives this time but also provides a fractional part which is not used in this client.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::time::gettime</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">timeserver</i> <span class="opt">?<i class="arg">port</i>?</span></a></dt> <dd><p>Get the time from <i class="arg">timeserver</i>. You may specify any of the options listed for the <b class="cmd">configure</b> command here. This command returns a token which must then be used with the remaining commands in this package. Once you have finished, you should use <b class="cmd"><a href="../../../../index.html#key168">cleanup</a></b> to release all resources. The default port is <b class="const">37</b>.</p></dd> <dt><a name="2"><b class="cmd">::time::getsntp</b> <span class="opt">?<i class="arg">options</i>?</span> <i class="arg">timeserver</i> <span class="opt">?<i class="arg">port</i>?</span></a></dt> <dd><p>Get the time from an SNTP server. This accepts exactly the same arguments as <b class="cmd">::time::gettime</b> except that the default port is <b class="const">123</b>. The result is a token as per <b class="cmd">::time::gettime</b> and should be handled in the same way.</p> <p>Note that it is unlikely that any SNTP server will reply using tcp so you will require the <b class="package">tcludp</b> or the <b class="package">ceptcl</b> package. If a suitable package can be loaded then the udp protocol will be used by default.</p></dd> <dt><a name="3"><b class="cmd">::time::configure</b> <span class="opt">?<i class="arg">options</i>?</span></a></dt> |
︙ | ︙ | |||
232 233 234 235 236 237 238 | } time::getsntp -command on_time pool.ntp.org </pre> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | } time::getsntp -command on_time pool.ntp.org </pre> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ntp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>ntp</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/ooutil/ooutil.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">AUTHORS</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
255 256 257 258 259 260 261 | </pre> </dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Donal Fellows, Andreas Kupries</p> </div> | | | | | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | </pre> </dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">AUTHORS</a></h2> <p>Donal Fellows, Andreas Kupries</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>oo::util</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../snit/snit.html">snit(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key749">TclOO</a>, <a href="../../../../index.html#key519">callback</a>, <a href="../../../../index.html#key750">class methods</a>, <a href="../../../../index.html#key753">class variables</a>, <a href="../../../../index.html#key573">command prefix</a>, <a href="../../../../index.html#key575">currying</a>, <a href="../../../../index.html#key748">method reference</a>, <a href="../../../../index.html#key752">my method</a>, <a href="../../../../index.html#key751">singleton</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Utility</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011-2013 Andreas Kupries, BSD licensed</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/otp/otp.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
145 146 147 148 149 150 151 | system as described in RFC 2289 (1). This system uses message-digest algorithms to sequentially hash a passphrase to create single-use passwords. The resulting data is then provided to the user as either hexadecimal digits or encoded using a dictionary of 2048 words. This system is used by OpenBSD for secure login and can be used as a SASL mechanism for authenticating users.</p> <p>In this implementation we provide support for four algorithms that are | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | system as described in RFC 2289 (1). This system uses message-digest algorithms to sequentially hash a passphrase to create single-use passwords. The resulting data is then provided to the user as either hexadecimal digits or encoded using a dictionary of 2048 words. This system is used by OpenBSD for secure login and can be used as a SASL mechanism for authenticating users.</p> <p>In this implementation we provide support for four algorithms that are included in the tcllib distribution: MD5 (2), MD4 (3), RIPE-MD160 (4) and SHA-1 (5).</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::otp::otp-md4</b> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-words</i>?</span> <i class="arg">-seed seed</i> <i class="arg">-count count</i> <i class="arg">data</i></a></dt> <dd></dd> <dt><a name="2"><b class="cmd">::otp::otp-md5</b> <span class="opt">?<i class="arg">-hex</i>?</span> <span class="opt">?<i class="arg">-words</i>?</span> <i class="arg">-seed seed</i> <i class="arg">-count count</i> <i class="arg">data</i></a></dt> |
︙ | ︙ | |||
179 180 181 182 183 184 185 | <li><p>Haller, N. et al., "A One-Time Password System", RFC 2289, February 1998. <a href="http://www.rfc-editor.org/rfc/rfc2289.txt">http://www.rfc-editor.org/rfc/rfc2289.txt</a></p></li> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> | | | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | <li><p>Haller, N. et al., "A One-Time Password System", RFC 2289, February 1998. <a href="http://www.rfc-editor.org/rfc/rfc2289.txt">http://www.rfc-editor.org/rfc/rfc2289.txt</a></p></li> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" <a href="http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf">http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf</a></p></li> <li><p>"Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. (<a href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">http://www.itl.nist.gov/fipspubs/fip180-1.htm</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>otp</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../sasl/sasl.html">SASL</a>, <a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/page/page_intro.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>page_intro - page introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> | | | > | | | > | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <div id="name" class="section"><h2><a name="name">Name</a></h2> <p>page_intro - page introduction</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p><i class="term"><a href="../../../../index.html#key194">page</a></i> (short for <em>parser generator</em>) stands for a set of related packages which help in the construction of parser generators, and other utilities doing text processing.</p> <p>They are mainly geared towards supporting the Tcllib application <b class="syscmd"><a href="../../apps/page.html">page</a></b>, with the package <b class="package">page::pluginmgr</b> in a central role as the plugin management for the application. The other packages are performing low-level text processing and utility tasks geared towards parser generation and mainly accessed by <b class="syscmd"><a href="../../apps/page.html">page</a></b> through plugins.</p> <p>The packages implementing the plugins are not documented as regular packages, as they cannot be loaded into a general interpreter, like tclsh, without extensive preparation of the interpreter. Preparation which is done for them by the plugin manager.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key195">text processing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_pluginmgr.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">CONFIG PLUGIN API</a></li> <li class="section"><a href="#section4">READER PLUGIN API</a></li> <li class="section"><a href="#section5">WRITER PLUGIN API</a></li> <li class="section"><a href="#section6">TRANSFORM PLUGIN API</a></li> <li class="section"><a href="#section7">PREDEFINED PLUGINS</a></li> <li class="section"><a href="#section8">FEATURES</a></li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">CONFIG PLUGIN API</a></li> <li class="section"><a href="#section4">READER PLUGIN API</a></li> <li class="section"><a href="#section5">WRITER PLUGIN API</a></li> <li class="section"><a href="#section6">TRANSFORM PLUGIN API</a></li> <li class="section"><a href="#section7">PREDEFINED PLUGINS</a></li> <li class="section"><a href="#section8">FEATURES</a></li> <li class="section"><a href="#section9">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
691 692 693 694 695 696 697 | </dl> </div> <div id="section8" class="section"><h2><a name="section8">FEATURES</a></h2> <p>The plugin manager currently checks the plugins for only one feature, <b class="const">timeable</b>. A plugin supporting this feature is assumed to be able to collect timing statistics on request.</p> </div> | | > | | | > | 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | </dl> </div> <div id="section8" class="section"><h2><a name="section8">FEATURES</a></h2> <p>The plugin manager currently checks the plugins for only one feature, <b class="const">timeable</b>. A plugin supporting this feature is assumed to be able to collect timing statistics on request.</p> </div> <div id="section9" class="section"><h2><a name="section9">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key195">text processing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_util_flow.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">FLOW API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">FLOW API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
185 186 187 188 189 190 191 | <dd><p>Invoking this method requests that all the nodes found in the list <i class="arg">nodelist</i> are visited after the current iteration.</p></dd> <dt><a name="4"><i class="arg">flow</i> <b class="method">visita</b> <i class="arg">node</i>...</a></dt> <dd><p>This is the variadic arguments form of the method <b class="method">visitl</b>, see above.</p></dd> </dl> </div> | | > | | | > | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | <dd><p>Invoking this method requests that all the nodes found in the list <i class="arg">nodelist</i> are visited after the current iteration.</p></dd> <dt><a name="4"><i class="arg">flow</i> <b class="method">visita</b> <i class="arg">node</i>...</a></dt> <dd><p>This is the variadic arguments form of the method <b class="method">visitl</b>, see above.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key375">dataflow</a>, <a href="../../../../index.html#key197">graph walking</a>, <a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key193">tree walking</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_util_norm_lemon.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | <dt><a name="1"><b class="cmd">::page::util::norm::lemon</b> <i class="arg">tree</i></a></dt> <dd><p>This command assumes the <i class="arg">tree</i> object contains for a lemon grammar. It normalizes this tree in place. The result is called a <i class="term">Normalized Lemon Grammar Tree</i>.</p> <p>The exact operations performed are left undocumented for the moment.</p></dd> </dl> </div> | | > | | | > | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <dt><a name="1"><b class="cmd">::page::util::norm::lemon</b> <i class="arg">tree</i></a></dt> <dd><p>This command assumes the <i class="arg">tree</i> object contains for a lemon grammar. It normalizes this tree in place. The result is called a <i class="term">Normalized Lemon Grammar Tree</i>.</p> <p>The exact operations performed are left undocumented for the moment.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key197">graph walking</a>, <a href="../../../../index.html#key196">lemon</a>, <a href="../../../../index.html#key120">normalization</a>, <a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key193">tree walking</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_util_norm_peg.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
185 186 187 188 189 190 191 | by unary operations, characters, and nonterminals. At last the tree is flattened by the removal of superfluous inner nodes.</p> <p>The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later.</p></li> </ol></dd> </dl> </div> | | > | | | > | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | by unary operations, characters, and nonterminals. At last the tree is flattened by the removal of superfluous inner nodes.</p> <p>The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later.</p></li> </ol></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key197">graph walking</a>, <a href="../../../../index.html#key120">normalization</a>, <a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key193">tree walking</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_util_peg.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | <dt><a name="8"><b class="cmd">::page::util::peg::printTclExpr</b> <i class="arg">pe</i></a></dt> <dd><p>This command converts the parsing expression contained in the nested list <i class="arg">pe</i> into a Tcl string which can be placed into a Tcl script. See the package <b class="package"><a href="../grammar_peg/peg.html">grammar::peg</a></b> for the exact syntax of <i class="arg">pe</i>.</p></dd> </dl> </div> | | > | | | > | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | <dt><a name="8"><b class="cmd">::page::util::peg::printTclExpr</b> <i class="arg">pe</i></a></dt> <dd><p>This command converts the parsing expression contained in the nested list <i class="arg">pe</i> into a Tcl string which can be placed into a Tcl script. See the package <b class="package"><a href="../grammar_peg/peg.html">grammar::peg</a></b> for the exact syntax of <i class="arg">pe</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key300">transformation</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/page/page_util_quote.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
167 168 169 170 171 172 173 | <dt><a name="4"><b class="cmd">::page::util::quote::quote'tclcom</b> <i class="arg">char</i></a></dt> <dd><p>This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment. The string is returned as the result of this command.</p></dd> </dl> </div> | | > | | | > | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 | <dt><a name="4"><b class="cmd">::page::util::quote::quote'tclcom</b> <i class="arg">char</i></a></dt> <dd><p>This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment. The string is returned as the result of this command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>page</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key194">page</a>, <a href="../../../../index.html#key192">parser generator</a>, <a href="../../../../index.html#key587">quoting</a>, <a href="../../../../index.html#key195">text processing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Page Parser Generator</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pki/pki.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
259 260 261 262 263 264 265 | either PEM or DER encoded.</p></dd> <dt><a name="13"><b class="cmd">::pki::x509::create_cert</b> <i class="arg">signreqlist</i> <i class="arg">cakeylist</i> <i class="arg">serial_number</i> <i class="arg">notBefore</i> <i class="arg">notAfter</i> <i class="arg">isCA</i> <i class="arg">extensions</i> <span class="opt">?<i class="arg">encodePem</i>?</span> <span class="opt">?<i class="arg">algo</i>?</span></a></dt> <dd><p>Sign a signing request (usually from <b class="cmd">::pki::pkcs::create_csr</b> or <b class="cmd">::pki::pkcs::parse_csr</b>) with a Certificate Authority (CA) certificate. The <i class="arg">signreqlist</i> argument should be the parsed signing request. The <i class="arg">cakeylist</i> argument should be the parsed CA certificate. The <i class="arg">serial_number</i> argument should be a serial number unique to | | | | | | | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | either PEM or DER encoded.</p></dd> <dt><a name="13"><b class="cmd">::pki::x509::create_cert</b> <i class="arg">signreqlist</i> <i class="arg">cakeylist</i> <i class="arg">serial_number</i> <i class="arg">notBefore</i> <i class="arg">notAfter</i> <i class="arg">isCA</i> <i class="arg">extensions</i> <span class="opt">?<i class="arg">encodePem</i>?</span> <span class="opt">?<i class="arg">algo</i>?</span></a></dt> <dd><p>Sign a signing request (usually from <b class="cmd">::pki::pkcs::create_csr</b> or <b class="cmd">::pki::pkcs::parse_csr</b>) with a Certificate Authority (CA) certificate. The <i class="arg">signreqlist</i> argument should be the parsed signing request. The <i class="arg">cakeylist</i> argument should be the parsed CA certificate. The <i class="arg">serial_number</i> argument should be a serial number unique to this certificate from this certificate authority. The <i class="arg">notBefore</i> and <i class="arg">notAfter</i> arguments should contain the time before and after which (respectively) the certificate should be considered invalid. The time should be encoded as something <b class="cmd">clock format</b> will accept (i.e., the results of <b class="cmd">clock seconds</b> and <b class="cmd">clock add</b>). The <i class="arg">isCA</i> argument is a boolean argumen describing whether or not the signed certificate should be a a CA certificate. If specified as true the "id-ce-basicConstraints" extension is added with the arguments of "critical" being true, "allowCA" being true, and caDepth being -1 (infinite). The <i class="arg">extensions</i> argument is a list of extensions and their parameters that should be encoded into the created certificate. Currently only one extension is understood ("id-ce-basicConstraints"). It accepts three arguments <i class="arg">critical</i> <i class="arg">allowCA</i> <i class="arg">caDepth</i>. The <i class="arg">critical</i> argument to this extension (and any extension) whether or not the validator should reject the certificate as invalid if it does not understand the extension (if set to "true") or should ignore the extension (if set to "false"). The <i class="arg">allowCA</i> argument is used to specify as a boolean value whether or not we can be used a certificate authority (CA). The <i class="arg">caDepth</i> argument indicates how many children CAs can be children of this CA in a depth-wise fashion. A value of "0" for the <i class="arg">caDepth</i> argument means that this CA cannot sign a CA certificate and have the result be valid. A value of "-1" indicates infinite depth.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <pre class="example"> </pre> <pre class="example"> </pre> </div> <div id="section4" class="section"><h2><a name="section4">REFERENCES</a></h2> <ol class="enumerated"> <li></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Roy Keene</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>rsa</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../aes/aes.html">aes(n)</a>, <a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a>, <a href="../md5/md5.html">md5(n)</a>, <a href="../sha1/sha1.html">sha1(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key179">cipher</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key178">public key cipher</a>, <a href="../../../../index.html#key177">rsa</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2010, 2011, 2012, 2013, Roy Keene, Andreas Kupries</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pluginmgr/pluginmgr.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <ul> <li class="subsection"><a href="#subsection1">PACKAGE COMMANDS</a></li> <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> </ul> </li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <ul> <li class="subsection"><a href="#subsection1">PACKAGE COMMANDS</a></li> <li class="subsection"><a href="#subsection2">OBJECT COMMAND</a></li> <li class="subsection"><a href="#subsection3">OBJECT METHODS</a></li> <li class="subsection"><a href="#subsection4">OBJECT CONFIGURATION</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
188 189 190 191 192 193 194 | they may need.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pluginmgr</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">option value</i>...?</span></a></dt> <dd><p>This command creates a new plugin manager object with an associated | | | 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | they may need.</p> </div> <div id="section2" class="section"><h2><a name="section2">PUBLIC API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">PACKAGE COMMANDS</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pluginmgr</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">option value</i>...?</span></a></dt> <dd><p>This command creates a new plugin manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">OBJECT COMMAND</a></span> and <span class="sectref"><a href="#subsection3">OBJECT METHODS</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p> <p>The options and their values coming after the name of the object are used to set the initial configuration of the mamager object, specifying the applicable plugins and their API.</p></dd> |
︙ | ︙ | |||
399 400 401 402 403 404 405 | arguments. Any return value will be ignored.</p> <p>Its purpose is give a user of the plugin management the ability to define commands, packages, etc. a chosen plugin may need while being loaded.</p></dd> </dl> </div> </div> | | | | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | arguments. Any return value will be ignored.</p> <p>Its purpose is give a user of the plugin management the ability to define commands, packages, etc. a chosen plugin may need while being loaded.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pluginmgr</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key180">plugin management</a>, <a href="../../../../index.html#key181">plugin search</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/png/png.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
232 233 234 235 236 237 238 | <dt><a name="10"><b class="cmd">::png::image</b> <i class="arg">file</i></a></dt> <dd><p>Given a PNG file returns the image in the list of scanlines format used by Tk_GetColor.</p></dd> <dt><a name="11"><b class="cmd">::png::write</b> <i class="arg">file</i> <i class="arg">data</i></a></dt> <dd><p>Takes a list of scanlines in the Tk_GetColor format and writes the represented image to <i class="arg">file</i>.</p></dd> </dl> </div> | | | | | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | <dt><a name="10"><b class="cmd">::png::image</b> <i class="arg">file</i></a></dt> <dd><p>Given a PNG file returns the image in the list of scanlines format used by Tk_GetColor.</p></dd> <dt><a name="11"><b class="cmd">::png::write</b> <i class="arg">file</i> <i class="arg">data</i></a></dt> <dd><p>Takes a list of scanlines in the Tk_GetColor format and writes the represented image to <i class="arg">file</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>png</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key163">comment</a>, <a href="../../../../index.html#key134">image</a>, <a href="../../../../index.html#key687">png</a>, <a href="../../../../index.html#key686">timestamp</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Code: Aaron Faupell <[email protected]><br> Copyright © 2004, Doc: Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pop3/pop3.html.
︙ | ︙ | |||
261 262 263 264 265 266 267 | given, then the listing only for that message is returned.</p></dd> <dt><a name="8"><b class="cmd">::pop3::top</b> <i class="arg">chan</i> <i class="arg">msg</i> <i class="arg">n</i></a></dt> <dd><p>Optional POP3 command, not all servers may support this. <b class="cmd">::pop3::top</b> retrieves headers of a message, specified by parameter <i class="arg">msg</i>, and number of <i class="arg">n</i> lines from the message body.</p></dd> <dt><a name="9"><b class="cmd">::pop3::uidl</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">msg</i>?</span></a></dt> | | | | 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | given, then the listing only for that message is returned.</p></dd> <dt><a name="8"><b class="cmd">::pop3::top</b> <i class="arg">chan</i> <i class="arg">msg</i> <i class="arg">n</i></a></dt> <dd><p>Optional POP3 command, not all servers may support this. <b class="cmd">::pop3::top</b> retrieves headers of a message, specified by parameter <i class="arg">msg</i>, and number of <i class="arg">n</i> lines from the message body.</p></dd> <dt><a name="9"><b class="cmd">::pop3::uidl</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">msg</i>?</span></a></dt> <dd><p>Optional POP3 command, not all servers may support this. <b class="cmd">::pop3::uidl</b> returns the uid listing of the mailbox. If the parameter <i class="arg">msg</i> is specified, then the listing only for that message is returned.</p></dd> <dt><a name="10"><b class="cmd">::pop3::capa</b> <i class="arg">chan</i></a></dt> <dd><p>Optional POP3 command, not all servers may support this. <b class="cmd">::pop3::capa</b> returns a list of the capabilities of the server. TOP, SASL, UIDL, LOGIN-DELAY and STLS are typical capabilities. See IETF RFC 2449.</p></dd> <dt><a name="11"><b class="cmd">::pop3::close</b> <i class="arg">chan</i></a></dt> <dd><p>Gracefully close the connect after sending a POP3 QUIT command down the socket.</p></dd> </dl> |
︙ | ︙ | |||
309 310 311 312 313 314 315 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3</em> of the | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key315">email</a>, <a href="../../../../index.html#key310">mail</a>, <a href="../../../../index.html#key423">pop</a>, <a href="../../../../index.html#key422">pop3</a>, <a href="../../../../index.html#key421">rfc 1939</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d.html.
︙ | ︙ | |||
323 324 325 326 327 328 329 | <li><p><a href="http://www.rfc-editor.org/rfc/rfc2449.txt">RFC 2449</a></p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3d</em> of the | | | | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 | <li><p><a href="http://www.rfc-editor.org/rfc/rfc2449.txt">RFC 2449</a></p></li> </ol> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3d</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key654">network</a>, <a href="../../../../index.html#key422">pop3</a>, <a href="../../../../index.html#key140">protocol</a>, <a href="../../../../index.html#key421">rfc 1939</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]><br> Copyright © 2005 Reinhard Max <[email protected]></p> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d_dbox.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>pop3d::dbox - Simple mailbox database for pop3d</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>pop3d::dbox - Simple mailbox database for pop3d</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
239 240 241 242 243 244 245 | The <i class="arg">msgId</i> has to be in the range "1 ... [<i class="arg">dbName</i> <b class="method">stat</b>]" or this call will fail. If <b class="method">stat</b> was not called before this call, <b class="method">get</b> will assume that there are zero messages in the mailbox.</p></dd> </dl> </div> | | | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | The <i class="arg">msgId</i> has to be in the range "1 ... [<i class="arg">dbName</i> <b class="method">stat</b>]" or this call will fail. If <b class="method">stat</b> was not called before this call, <b class="method">get</b> will assume that there are zero messages in the mailbox.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3d</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key654">network</a>, <a href="../../../../index.html#key422">pop3</a>, <a href="../../../../index.html#key140">protocol</a>, <a href="../../../../index.html#key313">rfc 822</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pop3d/pop3d_udb.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>pop3d::udb - Simple user database for pop3d</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>pop3d::udb - Simple user database for pop3d</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
189 190 191 192 193 194 195 | <dt><a name="10"><i class="arg">dbName</i> <b class="method">save</b> <span class="opt">?<i class="arg">file</i>?</span></a></dt> <dd><p>Saves the contents of the database into the given <i class="arg">file</i>. If the file is not specified the system will use the path last used in a call to <i class="arg">dbName</i> <b class="method">read</b>. The generated file can be read by the <b class="method">read</b> method.</p></dd> <dt><a name="11"><i class="arg">dbName</i> <b class="method">read</b> <i class="arg">file</i></a></dt> <dd><p>Reads the specified <i class="arg">file</i> and adds the contained user definitions | | | | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | <dt><a name="10"><i class="arg">dbName</i> <b class="method">save</b> <span class="opt">?<i class="arg">file</i>?</span></a></dt> <dd><p>Saves the contents of the database into the given <i class="arg">file</i>. If the file is not specified the system will use the path last used in a call to <i class="arg">dbName</i> <b class="method">read</b>. The generated file can be read by the <b class="method">read</b> method.</p></dd> <dt><a name="11"><i class="arg">dbName</i> <b class="method">read</b> <i class="arg">file</i></a></dt> <dd><p>Reads the specified <i class="arg">file</i> and adds the contained user definitions to the database. As the file is actually <b class="cmd"><a href="../../../../index.html#key411">source</a></b>'d a safe interpreter is employed to safeguard against malicious code. This interpreter knows the <b class="cmd">add</b> command for adding users and their associated data to this database. This command has the same argument signature as the method <b class="method">add</b>. The path of the <i class="arg">file</i> is remembered internally so that it can be used in the next call of <i class="arg">dbName</i> <b class="method">save</b> without an argument.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pop3d</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key138">internet</a>, <a href="../../../../index.html#key654">network</a>, <a href="../../../../index.html#key422">pop3</a>, <a href="../../../../index.html#key140">protocol</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/profiler/profiler.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
204 205 206 207 208 209 210 | <b class="const">exclusiveTime</b>, <b class="const">compileTime</b>, <b class="const">nonCompileTime</b>, <b class="const">totalRuntime</b>, <b class="const">avgExclusiveTime</b>, and <b class="const">avgRuntime</b>. The return result is a list of lists, where each sublist consists of a function name and the value of <i class="arg">key</i> for that function.</p></dd> </dl> </div> | | | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 | <b class="const">exclusiveTime</b>, <b class="const">compileTime</b>, <b class="const">nonCompileTime</b>, <b class="const">totalRuntime</b>, <b class="const">avgExclusiveTime</b>, and <b class="const">avgRuntime</b>. The return result is a list of lists, where each sublist consists of a function name and the value of <i class="arg">key</i> for that function.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>profiler</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key102">performance</a>, <a href="../../../../index.html#key629">profile</a>, <a href="../../../../index.html#key628">speed</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_astree.html.
︙ | ︙ | |||
329 330 331 332 333 334 335 | <p><img alt="expr_ast" src="../../../../image/expr_ast.png"></p> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | <p><img alt="expr_ast" src="../../../../image/expr_ast.png"></p> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_cparam_config_critcl.html.
︙ | ︙ | |||
164 165 166 167 168 169 170 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_from_api.html.
︙ | ︙ | |||
522 523 524 525 526 527 528 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_introduction.html.
︙ | ︙ | |||
274 275 276 277 278 279 280 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_json_language.html.
︙ | ︙ | |||
520 521 522 523 524 525 526 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_param.html.
︙ | ︙ | |||
568 569 570 571 572 573 574 | ======================= ======================= ==================== </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 | ======================= ======================= ==================== </pre> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a>, <a href="../../../../index.html#key24">virtual machine</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_parser_api.html.
︙ | ︙ | |||
464 465 466 467 468 469 470 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_container.html.
︙ | ︙ | |||
298 299 300 301 302 303 304 | the data from the specified format to a serialization it can handle. In that case the method will fail with an error if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the grammar in the <i class="arg">data</i> to its | | | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | the data from the specified format to a serialization it can handle. In that case the method will fail with an error if the container has no import manager attached to it.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="12"><i class="arg">objectName</i> <b class="method">deserialize +=</b> <i class="arg">data</i> <span class="opt">?<i class="arg">format</i>?</span></a></dt> <dd><p>This method behaves like <b class="method">deserialize =</b> in its essentials, except that it merges the grammar in the <i class="arg">data</i> to its contents instead of replacing it. The method will fail with an error and leave the grammar unchanged if merging is not possible, i.e. would produce an invalid grammar.</p> <p>The result of the method is the empty string.</p></dd> <dt><a name="13"><i class="arg">objectName</i> <b class="method">start</b></a></dt> <dd><p>This method returns the current start expression of the grammar.</p></dd> <dt><a name="14"><i class="arg">objectName</i> <b class="method">start</b> <i class="arg">pe</i></a></dt> <dd><p>This method defines the <i class="term">start expression</i> of the grammar. It |
︙ | ︙ | |||
647 648 649 650 651 652 653 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_container_peg.html.
︙ | ︙ | |||
146 147 148 149 150 151 152 | <b class="package"><a href="pt_peg_container.html">pt::peg::container</a></b>. Instead of duplicating its contents the reader is asked to read the referenced document.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | <b class="package"><a href="pt_peg_container.html">pt::peg::container</a></b>. Instead of duplicating its contents the reader is asked to read the referenced document.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_export.html.
︙ | ︙ | |||
168 169 170 171 172 173 174 | Do you have trouble understanding this document ? In that case please read the overview provided by the <i class="term"><a href="pt_introduction.html">Introduction to Parser Tools</a></i>. This document is the entrypoint to the whole system the current package is a part of.</p> <p>This package provides a manager for parsing expression grammars, with each instance handling a set of plugins for the export of them to other formats, i.e. their conversion to, for example <i class="term"><a href="../../../../index.html#key21">nroff</a></i>, | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | Do you have trouble understanding this document ? In that case please read the overview provided by the <i class="term"><a href="pt_introduction.html">Introduction to Parser Tools</a></i>. This document is the entrypoint to the whole system the current package is a part of.</p> <p>This package provides a manager for parsing expression grammars, with each instance handling a set of plugins for the export of them to other formats, i.e. their conversion to, for example <i class="term"><a href="../../../../index.html#key21">nroff</a></i>, <i class="term"><a href="../../../../index.html#key18">HTML</a></i>, etc.</p> <p>It resides in the Export section of the Core Layer of Parser Tools, and is one of the three pillars the management of parsing expression grammars resides on.</p> <p><img alt="arch_core_export" src="../../../../image/arch_core_export.png"></p> <p>The other two pillars are, as shown above</p> <ol class="enumerated"> <li><p><i class="term"><a href="pt_peg_import.html">PEG Import</a></i>, and</p></li> |
︙ | ︙ | |||
220 221 222 223 224 225 226 | its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pt::peg::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pt::peg::export</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new export manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
519 520 521 522 523 524 525 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_export_container.html.
︙ | ︙ | |||
532 533 534 535 536 537 538 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key332">CONTAINER</a>, <a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_export_json.html.
︙ | ︙ | |||
585 586 587 588 589 590 591 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_export_peg.html.
︙ | ︙ | |||
575 576 577 578 579 580 581 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key165">export</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_from_container.html.
︙ | ︙ | |||
144 145 146 147 148 149 150 | Another way of looking at this is, the CONTAINER output is its own import package.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | Another way of looking at this is, the CONTAINER output is its own import package.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_from_json.html.
︙ | ︙ | |||
553 554 555 556 557 558 559 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_from_peg.html.
︙ | ︙ | |||
533 534 535 536 537 538 539 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_import.html.
︙ | ︙ | |||
222 223 224 225 226 227 228 | its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pt::peg::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated | | | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | its plugins in detail.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::pt::peg::import</b> <i class="arg">objectName</i></a></dt> <dd><p>This command creates a new import manager object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Object command</a></h3> |
︙ | ︙ | |||
535 536 537 538 539 540 541 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_import_container.html.
︙ | ︙ | |||
144 145 146 147 148 149 150 | Another way of looking at this is, the CONTAINER output is its own import package.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | Another way of looking at this is, the CONTAINER output is its own import package.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_import_json.html.
︙ | ︙ | |||
561 562 563 564 565 566 567 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_import_peg.html.
︙ | ︙ | |||
543 544 545 546 547 548 549 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 | </pre> </div> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key273">import</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key384">plugin</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_interp.html.
︙ | ︙ | |||
461 462 463 464 465 466 467 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_introduction.html.
︙ | ︙ | |||
193 194 195 196 197 198 199 | <div id="section2" class="section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, | | | | | | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | <div id="section2" class="section"><h2><a name="section2">Formal definition</a></h2> <p>For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where</p> <ul class="itemized"> <li><p>VN is a set of <i class="term">nonterminal symbols</i>,</p></li> <li><p>VT is a set of <i class="term">terminal symbols</i>,</p></li> <li><p>R is a finite set of rules, where each rule is a pair (A,e), A in VN, and <i class="term"><a href="../../../../index.html#key793">e</a></i> a <i class="term"><a href="../../../../index.html#key8">parsing expression</a></i>.</p></li> <li><p>eS is a parsing expression, the <i class="term">start expression</i>.</p></li> </ul> <p>Further constraints are</p> <ul class="itemized"> <li><p>The intersection of VN and VT is empty.</p></li> <li><p>For all A in VT exists exactly one pair (A,e) in R. In other words, R is a function from nonterminal symbols to parsing expressions.</p></li> </ul> <p>Parsing expressions are inductively defined via</p> <ul class="itemized"> <li><p>The empty string (epsilon) is a parsing expression.</p></li> <li><p>A terminal symbol <i class="term">a</i> is a parsing expression.</p></li> <li><p>A nonterminal symbol <i class="term">A</i> is a parsing expression.</p></li> <li><p><i class="term">e1</i><i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">sequence</i>.</p></li> <li><p><i class="term">e1</i>/<i class="term">e2</i> is a parsing expression for parsing expressions <i class="term">e1</i> and <i class="term">2</i>. This is called <i class="term">ordered choice</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key793">e</a></i>* is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key793">e</a></i>. This is called <i class="term">zero-or-more repetitions</i>, also known as <i class="term">kleene closure</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key793">e</a></i>+ is a parsing expression for parsing expression <i class="term"><a href="../../../../index.html#key793">e</a></i>. This is called <i class="term">one-or-more repetitions</i>, also known as <i class="term">positive kleene closure</i>.</p></li> <li><p>!<i class="term"><a href="../../../../index.html#key793">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called a <i class="term">not lookahead predicate</i>.</p></li> <li><p>&<i class="term"><a href="../../../../index.html#key793">e</a></i> is a parsing expression for parsing expression <i class="term">e1</i>. This is called an <i class="term">and lookahead predicate</i>.</p></li> </ul> <p>PEGs are used to define a grammatical structure for streams of symbols over VT. They are a modern phrasing of older formalisms invented by Alexander Birham. These formalisms were called TS (TMG recognition scheme), and gTS (generalized TS). Later they were renamed to TPDL (Top-Down Parsing Languages) and gTPDL (generalized TPDL).</p> |
︙ | ︙ | |||
250 251 252 253 254 255 256 | CoCo/R, a generator for recursive descent parsers.</p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | CoCo/R, a generator for recursive descent parsers.</p></li> </ol> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_language.html.
︙ | ︙ | |||
233 234 235 236 237 238 239 | simply placing the parts adjacent to each other.</p> <p>Here are the operators, from highest to lowest priority (i.e. strength of binding):</p> <pre class="example"> # Binary operators. <<expression-1>> <<expression-2>> # sequence. parse 1, then 2. <<expression-1>> / <<expression-2>> # alternative. try to parse 1, and parse 2 if 1 failed to parse. | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | simply placing the parts adjacent to each other.</p> <p>Here are the operators, from highest to lowest priority (i.e. strength of binding):</p> <pre class="example"> # Binary operators. <<expression-1>> <<expression-2>> # sequence. parse 1, then 2. <<expression-1>> / <<expression-2>> # alternative. try to parse 1, and parse 2 if 1 failed to parse. # Prefix operators. Lookahead constraints. Same priority. & <<expression>> # Parse expression, ok on successful parse. ! <<expression>> # Ditto, except ok on failure to parse. # Suffix operators. Repetition. Same priority. <<expression>> ? # Parse expression none, or once (repeat 0 or 1). <<expression>> * # Parse expression zero or more times. <<expression>> + # Parse expression one or more times. # Expression nesting |
︙ | ︙ | |||
332 333 334 335 336 337 338 | control characters, or characters outside of the encoding the text is in.</p> <p>All the escaped forms are started with a backslash character ('\', unicode codepoint 0x5C). This is then followed by a series of octal digits, or 'u' and hexedecimal digits, or a regular character from a fixed set for various control characters. Some examples:</p> <pre class="example"> | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | control characters, or characters outside of the encoding the text is in.</p> <p>All the escaped forms are started with a backslash character ('\', unicode codepoint 0x5C). This is then followed by a series of octal digits, or 'u' and hexedecimal digits, or a regular character from a fixed set for various control characters. Some examples:</p> <pre class="example"> \n \r \t \' \" \[ \] \\ # \000 up to \277 # octal escape, all ascii character, leading 0's can be removed. \u2CA7 # hexadecimal escape, all unicode characters. # # Here 2ca7 <=> Koptic Small Letter Tau </pre> </div> <div id="subsection5" class="subsection"><h3><a name="subsection5">Whitespace and comments</a></h3> <p>One issue not touched upon so far is whitespace and comments.</p> |
︙ | ︙ | |||
510 511 512 513 514 515 516 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_container.html.
︙ | ︙ | |||
546 547 548 549 550 551 552 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key332">CONTAINER</a>, <a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_cparam.html.
︙ | ︙ | |||
567 568 569 570 571 572 573 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key796">CPARAM</a>, <a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_json.html.
︙ | ︙ | |||
603 604 605 606 607 608 609 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key257">JSON</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_param.html.
︙ | ︙ | |||
1064 1065 1066 1067 1068 1069 1070 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key496">PARAM</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_peg.html.
︙ | ︙ | |||
588 589 590 591 592 593 594 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_peg_to_tclparam.html.
︙ | ︙ | |||
550 551 552 553 554 555 556 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 | </pre> </div> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key114">TCLPARAM</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key116">format conversion</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Parsing and Grammars</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_pegrammar.html.
︙ | ︙ | |||
464 465 466 467 468 469 470 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | </pre> </div> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_pexpr_op.html.
︙ | ︙ | |||
327 328 329 330 331 332 333 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_pexpression.html.
︙ | ︙ | |||
453 454 455 456 457 458 459 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 | </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_pgen.html.
︙ | ︙ | |||
280 281 282 283 284 285 286 | for some input, note how the parser instance follows the specified <i class="term"><a href="pt_parser_api.html">Parser API</a></i>.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | for some input, note how the parser instance follows the specified <i class="term"><a href="pt_parser_api.html">Parser API</a></i>.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_rdengine.html.
︙ | ︙ | |||
813 814 815 816 817 818 819 | </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 | </dl> </div> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_tclparam_config_snit.html.
︙ | ︙ | |||
164 165 166 167 168 169 170 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_tclparam_config_tcloo.html.
︙ | ︙ | |||
164 165 166 167 168 169 170 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | value.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/pt/pt_to_api.html.
︙ | ︙ | |||
536 537 538 539 540 541 542 | </pre> </div> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the | | | 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 | </pre> </div> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>pt</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key3">EBNF</a>, <a href="../../../../index.html#key15">LL(k)</a>, <a href="../../../../index.html#key6">PEG</a>, <a href="../../../../index.html#key7">TDPL</a>, <a href="../../../../index.html#key4">context-free languages</a>, <a href="../../../../index.html#key0">expression</a>, <a href="../../../../index.html#key11">grammar</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key9">parser</a>, <a href="../../../../index.html#key8">parsing expression</a>, <a href="../../../../index.html#key14">parsing expression grammar</a>, <a href="../../../../index.html#key1">push down automaton</a>, <a href="../../../../index.html#key10">recursive descent</a>, <a href="../../../../index.html#key2">state</a>, <a href="../../../../index.html#key13">top-down parsing languages</a>, <a href="../../../../index.html#key12">transducer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/rc4/rc4.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
139 140 141 142 143 144 145 | <li><a href="#2"><b class="cmd">::rc4::RC4Init</b> <i class="arg">keydata</i></a></li> <li><a href="#3"><b class="cmd">::rc4::RC4</b> <i class="arg">Key</i> <i class="arg">data</i></a></li> <li><a href="#4"><b class="cmd">::rc4::RC4Final</b> <i class="arg">Key</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> | | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <li><a href="#2"><b class="cmd">::rc4::RC4Init</b> <i class="arg">keydata</i></a></li> <li><a href="#3"><b class="cmd">::rc4::RC4</b> <i class="arg">Key</i> <i class="arg">data</i></a></li> <li><a href="#4"><b class="cmd">::rc4::RC4Final</b> <i class="arg">Key</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package is an implementation in Tcl of the RC4 stream cipher developed by Ron Rivest of RSA Data Security Inc. The cipher was a trade secret of RSA but was reverse-engineered and published to the internet in 1994. It is used in a number of network protocols for securing communications. To evade trademark restrictions this cipher is sometimes known as ARCFOUR.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::rc4::rc4</b> <span class="opt">?<i class="arg">-hex</i>?</span> <i class="arg">-key keyvalue</i> <span class="opt">?<i class="arg">-command lst</i>?</span> <span class="opt">?<i class="arg">-out channel</i>?</span> [ <i class="arg">-in channel</i> | <i class="arg">-infile filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Perform the RC4 algorithm on either the data provided by the argument or on the data read from the <i class="arg">-in</i> channel. If an <i class="arg">-out</i> channel is given then the result will be written to this channel. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the result if not using an <i class="arg">-out</i> channel.</p> <p>The data to be processes can be specified either as a string argument to the rc4 command, or as a filename or a pre-opened channel. If the <i class="arg">-infile</i> argument is given then the file is opened, the data read and processed and the file is closed. If the <i class="arg">-in</i> argument is given then data is read from the channel until the end of file. The channel is not closed. If the <i class="arg">-out</i> argument is given then the processing result is written to this channel.</p> <p>If <i class="arg">-command</i> is provided then the rc4 command does not return anything. Instead the command provided is called with the rc4 result data |
︙ | ︙ | |||
178 179 180 181 182 183 184 | <dt><a name="2"><b class="cmd">::rc4::RC4Init</b> <i class="arg">keydata</i></a></dt> <dd><p>Initialize a new RC4 key. The <i class="arg">keydata</i> is any amount of binary data and is used to initialize the cipher internal state.</p></dd> <dt><a name="3"><b class="cmd">::rc4::RC4</b> <i class="arg">Key</i> <i class="arg">data</i></a></dt> <dd><p>Encrypt or decrypt the input data using the key obtained by calling <b class="cmd">RC4Init</b>.</p></dd> <dt><a name="4"><b class="cmd">::rc4::RC4Final</b> <i class="arg">Key</i></a></dt> | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | <dt><a name="2"><b class="cmd">::rc4::RC4Init</b> <i class="arg">keydata</i></a></dt> <dd><p>Initialize a new RC4 key. The <i class="arg">keydata</i> is any amount of binary data and is used to initialize the cipher internal state.</p></dd> <dt><a name="3"><b class="cmd">::rc4::RC4</b> <i class="arg">Key</i> <i class="arg">data</i></a></dt> <dd><p>Encrypt or decrypt the input data using the key obtained by calling <b class="cmd">RC4Init</b>.</p></dd> <dt><a name="4"><b class="cmd">::rc4::RC4Final</b> <i class="arg">Key</i></a></dt> <dd><p>This should be called to clean up resources associated with <i class="arg">Key</i>. Once this function has been called the key is destroyed.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">EXAMPLES</a></h2> <pre class="example"> % set keydata [binary format H* 0123456789abcdef] % rc4::rc4 -hex -key $keydata HelloWorld |
︙ | ︙ | |||
206 207 208 209 210 211 212 | } rc4::rc4 -in $socket -command [list ::Finish $ApplicationState] </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | } rc4::rc4 -in $socket -command [list ::Finish $ApplicationState] </pre> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>rc4</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../aes/aes.html">aes(n)</a>, <a href="../blowfish/blowfish.html">blowfish(n)</a>, <a href="../des/des.html">des(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key151">arcfour</a>, <a href="../../../../index.html#key150">data integrity</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key149">rc4</a>, <a href="../../../../index.html#key148">security</a>, <a href="../../../../index.html#key152">stream cipher</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/rcs/rcs.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">TEXT DICT DATA STRUCTURE</a></li> <li class="section"><a href="#section4">RCS PATCH FORMAT</a></li> <li class="section"><a href="#section5">RCS PATCH COMMAND LIST</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">TEXT DICT DATA STRUCTURE</a></li> <li class="section"><a href="#section4">RCS PATCH FORMAT</a></li> <li class="section"><a href="#section5">RCS PATCH COMMAND LIST</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
141 142 143 144 145 146 147 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> | | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | <li><a href="#5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></li> <li><a href="#6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></li> <li><a href="#7"><b class="cmd">::rcs::applyRcsPatch</b> <i class="arg">text</i> <i class="arg">pcmds</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <i class="term">Revision Control System</i>, short <i class="term"><a href="../../../../index.html#key613">RCS</a></i>, is a set of applications and related data formats which allow a system to persist the history of changes to a text. It, and its relative SCCS are the basis for many other such systems, like <i class="term"><a href="../../../../index.html#key614">CVS</a></i>, etc.</p> <p>This package <em>does not</em> implement RCS.</p> <p>It only provides a number of low level commands which should be useful in the implementation of any revision management system, namely:</p> <ol class="enumerated"> <li><p>The conversion of texts into and out of a data structures which allow the easy modification of such text by <i class="term">patches</i>, i.e. sequences of instructions for the transformation of one text into an other.</p></li> |
︙ | ︙ | |||
186 187 188 189 190 191 192 | file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. It is assumed that the input text is in <i class="term"><a href="../../../../index.html#key615">diff -n format</a></i>, also | | | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | file is created if it did not exist, and must be writable. The result of the command is the empty string.</p></dd> <dt><a name="5"><b class="cmd">::rcs::decodeRcsPatch</b> <i class="arg">text</i></a></dt> <dd><p>Converts the <i class="arg">text</i> argument into a patch command list (PCL) as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> and returns this list as its result. It is assumed that the input text is in <i class="term"><a href="../../../../index.html#key615">diff -n format</a></i>, also known as <i class="term"><a href="../../../../index.html#key612">RCS patch</a></i> format, as specified in the section <span class="sectref"><a href="#section4">RCS PATCH FORMAT</a></span>. Please note that the command ignores no-ops in the input, in other words the resulting PCL contains only instructions doing something.</p></dd> <dt><a name="6"><b class="cmd">::rcs::encodeRcsPatch</b> <i class="arg">pcmds</i></a></dt> <dd><p>This command provides the complementary operation to <b class="cmd">::rcs::decodeRcsPatch</b>. It convert a patch comand list (PCL) list as specified in the section <span class="sectref"><a href="#section5">RCS PATCH COMMAND LIST</a></span> back |
︙ | ︙ | |||
247 248 249 250 251 252 253 | cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> <p>A <i class="term"><a href="../../../../index.html#key645">patch</a></i> is in general a series of instructions how to transform an input text T into a different text T', and also encoded in text form as well.</p> <p>The text format for patches understood by this package is a very | | | | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | cause the dictionary to become non-canonical.</p> </div> <div id="section4" class="section"><h2><a name="section4">RCS PATCH FORMAT</a></h2> <p>A <i class="term"><a href="../../../../index.html#key645">patch</a></i> is in general a series of instructions how to transform an input text T into a different text T', and also encoded in text form as well.</p> <p>The text format for patches understood by this package is a very simple one, known under the names <i class="term"><a href="../../../../index.html#key612">RCS patch</a></i> or <i class="term"><a href="../../../../index.html#key615">diff -n format</a></i>.</p> <p>Patches in this format contain only two different commands, for the deletion of old text, and addition of new text. The replacement of some text by a different text is handled as combination of a deletion following by an addition.</p> <p>The format is line oriented, with each line containing either a command or text data associated with the preceding command. The first line of a <i class="term"><a href="../../../../index.html#key612">RCS patch</a></i> is always a command line.</p> <p>The commands are:</p> <dl class="definitions"> <dt>""</dt> <dd><p>The empty line is a command which does nothing.</p></dd> <dt>"a<b class="variable">start</b> <b class="variable">n</b>"</dt> <dd><p>A line starting with the character <b class="const">a</b> is a command for the addition of text to the output. It is followed by <b class="variable">n</b> lines of |
︙ | ︙ | |||
323 324 325 326 327 328 329 | <p>An example for a patch command is shown below, it represents the example RCS patch found in section <span class="sectref"><a href="#section4">RCS PATCH FORMAT</a></span>.</p> <pre class="example">{{d 1 2} {d 4 1} {a 4 {The named is the mother of all things. }} {a 11 {They both may be called deep and profound. Deeper and more profound, The door of all subtleties!}}}</pre> </div> | | | | | 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | <p>An example for a patch command is shown below, it represents the example RCS patch found in section <span class="sectref"><a href="#section4">RCS PATCH FORMAT</a></span>.</p> <pre class="example">{{d 1 2} {d 4 1} {a 4 {The named is the mother of all things. }} {a 11 {They both may be called deep and profound. Deeper and more profound, The door of all subtleties!}}}</pre> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>rcs</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../../../../index.html#key318">struct</a>, <a href="../textutil/textutil.html">textutil</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key614">CVS</a>, <a href="../../../../index.html#key613">RCS</a>, <a href="../../../../index.html#key612">RCS patch</a>, <a href="../../../../index.html#key611">SCCS</a>, <a href="../../../../index.html#key615">diff -n format</a>, <a href="../../../../index.html#key616">patching</a>, <a href="../../../../index.html#key618">text conversion</a>, <a href="../../../../index.html#key617">text differences</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Andreas Kupries <[email protected]><br> Copyright © 2005, Colin McCormack <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/report/report.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REGIONS</a></li> <li class="section"><a href="#section3">LINES</a></li> <li class="section"><a href="#section4">TEMPLATES</a></li> <li class="section"><a href="#section5">STYLES</a></li> <li class="section"><a href="#section6">REPORT METHODS</a></li> <li class="section"><a href="#section7">EXAMPLES</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">REGIONS</a></li> <li class="section"><a href="#section3">LINES</a></li> <li class="section"><a href="#section4">TEMPLATES</a></li> <li class="section"><a href="#section5">STYLES</a></li> <li class="section"><a href="#section6">REPORT METHODS</a></li> <li class="section"><a href="#section7">EXAMPLES</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | <li><a href="#14"><i class="arg">reportName</i> <b class="method">bcaption</b> <i class="arg">size</i></a></li> <li><a href="#15"><i class="arg">reportName</i> <b class="cmd">size</b> <i class="arg">column</i> <span class="opt">?<i class="arg">number</i>|<b class="const">dyn</b>?</span></a></li> <li><a href="#16"><i class="arg">reportName</i> <b class="cmd">sizes</b> <span class="opt">?<i class="arg">size-list</i>?</span></a></li> <li><a href="#17"><i class="arg">reportName</i> <b class="cmd">pad</b> <i class="arg">column</i> <span class="opt">?<b class="const">left</b>|<b class="const">right</b>|<b class="const">both</b> <span class="opt">?<i class="arg">padstring</i>?</span>?</span></a></li> <li><a href="#18"><i class="arg">reportName</i> <b class="cmd">justify</b> <i class="arg">column</i> <span class="opt">?<b class="const">left</b>|<b class="const">right</b>|<b class="const">center</b>?</span></a></li> <li><a href="#19"><i class="arg">reportName</i> <b class="cmd">printmatrix</b> <i class="arg">matrix</i></a></li> <li><a href="#20"><i class="arg">reportName</i> <b class="cmd">printmatrix2channel</b> <i class="arg">matrix chan</i></a></li> | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | <li><a href="#14"><i class="arg">reportName</i> <b class="method">bcaption</b> <i class="arg">size</i></a></li> <li><a href="#15"><i class="arg">reportName</i> <b class="cmd">size</b> <i class="arg">column</i> <span class="opt">?<i class="arg">number</i>|<b class="const">dyn</b>?</span></a></li> <li><a href="#16"><i class="arg">reportName</i> <b class="cmd">sizes</b> <span class="opt">?<i class="arg">size-list</i>?</span></a></li> <li><a href="#17"><i class="arg">reportName</i> <b class="cmd">pad</b> <i class="arg">column</i> <span class="opt">?<b class="const">left</b>|<b class="const">right</b>|<b class="const">both</b> <span class="opt">?<i class="arg">padstring</i>?</span>?</span></a></li> <li><a href="#18"><i class="arg">reportName</i> <b class="cmd">justify</b> <i class="arg">column</i> <span class="opt">?<b class="const">left</b>|<b class="const">right</b>|<b class="const">center</b>?</span></a></li> <li><a href="#19"><i class="arg">reportName</i> <b class="cmd">printmatrix</b> <i class="arg">matrix</i></a></li> <li><a href="#20"><i class="arg">reportName</i> <b class="cmd">printmatrix2channel</b> <i class="arg">matrix chan</i></a></li> <li><a href="#21"><i class="arg">reportName</i> <b class="cmd"><a href="../../../../index.html#key484">columns</a></b></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides report objects which can be used by the formatting methods of matrix objects to generate tabular reports of the matrix in various forms. The report objects defined here break |
︙ | ︙ | |||
400 401 402 403 404 405 406 | data region is allowed to be empty.</p></dd> <dt><a name="20"><i class="arg">reportName</i> <b class="cmd">printmatrix2channel</b> <i class="arg">matrix chan</i></a></dt> <dd><p>Formats the <i class="arg">matrix</i> according to the configuration of the report and writes the result into the channel <i class="arg">chan</i>. The matrix has to have the same number of columns as the report. The matrix also has to have enough rows so that the top and bottom caption regions do not overlap. The data region is allowed to be empty.</p></dd> | | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | data region is allowed to be empty.</p></dd> <dt><a name="20"><i class="arg">reportName</i> <b class="cmd">printmatrix2channel</b> <i class="arg">matrix chan</i></a></dt> <dd><p>Formats the <i class="arg">matrix</i> according to the configuration of the report and writes the result into the channel <i class="arg">chan</i>. The matrix has to have the same number of columns as the report. The matrix also has to have enough rows so that the top and bottom caption regions do not overlap. The data region is allowed to be empty.</p></dd> <dt><a name="21"><i class="arg">reportName</i> <b class="cmd"><a href="../../../../index.html#key484">columns</a></b></a></dt> <dd><p>Returns the number of columns in the report.</p></dd> </dl> <p>The methods <b class="method">size</b>, <b class="method">pad</b> and <b class="method">justify</b> all take a column index as their first argument. This index is allowed to use all the forms of an index as accepted by the <b class="cmd">lindex</b> command. The allowed range for indices is "0,...,[<b class="variable">reportName</b> columns]-1".</p> |
︙ | ︙ | |||
455 456 457 458 459 460 461 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % m format 2string r </pre> </div> | | | | 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % m format 2string r </pre> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>report</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key55">matrix</a>, <a href="../../../../index.html#key118">report</a>, <a href="../../../../index.html#key117">table</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ripemd/ripemd128.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
144 145 146 147 148 149 150 | <li><a href="#8"><b class="cmd">::ripemd::RIPEHMAC128Final</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package is an implementation in Tcl of the RIPEMD-128 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and | | | | | | | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | <li><a href="#8"><b class="cmd">::ripemd::RIPEHMAC128Final</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package is an implementation in Tcl of the RIPEMD-128 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The RIPEMD-128 algorithm is based upon the MD4 algorithm (2, 4) but has been cryptographically strengthened against weaknesses that have been found in MD4 (4). RIPEMD-128 has been designed to be a drop-in replacement for MD4 and MD5 (5). If security is the major consideration, then RIPEMD-160 or SHA1 should be considered.</p> <p>This package will use <b class="package">Trf</b> to accelerate the digest computation if available. In the absence of an accelerator package the pure-Tcl implementation will be used.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::ripemd::ripemd128</b> <span class="opt">?<i class="arg">-hex</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate the RIPEMD-128 digest of the data given in string. This is returned as a binary string by default. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the digest.</p> <p>The data to be hashed can be specified either as a string argument to the ripemd128 command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed.</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::ripemd::hmac128</b> <span class="opt">?<i class="arg">-hex</i>?</span> <i class="arg">-key key</i> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate an Hashed Message Authentication digest (HMAC) using the RIPEMD-128 digest algorithm. HMACs are described in RFC 2104 (6) and provide a RIPEMD-128 digest that includes a key. All options other than <i class="arg">-key</i> are as for the <b class="cmd">::ripemd::ripemd128</b> command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> <p>For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is uniquely derived from the data that was poured into the bucket. The programming interface to the hash operates on a token (equivalent to the bucket). You call <b class="cmd">RIPEMD128Init</b> to obtain a token and then call <b class="cmd">RIPEMD128Update</b> as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call <b class="cmd">RIPEMD128Final</b>. An equivalent set of functions gives you a keyed digest (HMAC).</p> <p>If you have <b class="package">critcl</b> and have built the <b class="package">tcllibc</b> package then the implementation of the hashing function will be performed by compiled code. Alternatively if both the Trf and Memchan extensions are available then these will be used. Finally the package will revert to a pure-Tcl implementation. The programming interface remains the same, however.</p> <dl class="definitions"> <dt><a name="3"><b class="cmd">::ripemd::RIPEMD128Init</b></a></dt> <dd><p>Begins a new RIPEMD-128 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="4"><b class="cmd">::ripemd::RIPEMD128Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>RIPEMD128Update $token "abcd"</em> is equivalent to calling <em>RIPEMD128Update $token "ab"</em> followed by <em>RIPEMD128Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>.</p></dd> <dt><a name="5"><b class="cmd">::ripemd::RIPEMD128Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit RIPEMD-128 digest value.</p></dd> <dt><a name="6"><b class="cmd">::ripemd::RIPEHMAC128Init</b> <i class="arg">key</i></a></dt> |
︙ | ︙ | |||
235 236 237 238 239 240 241 | % ripemd::RIPEMD128Update $tok "RIPEMD-128" % ripemd::Hex [ripemd::RIPEMD128Final $tok] 3cab177bae65205d81e7978f63556c63 </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> | | | | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | % ripemd::RIPEMD128Update $tok "RIPEMD-128" % ripemd::Hex [ripemd::RIPEMD128Final $tok] 3cab177bae65205d81e7978f63556c63 </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" <a href="http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf">http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf</a></p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 message digest algorithm", in A.J. Menezes and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90 Proceedings, pages 303-311, Springer-Verlag, 1991.</p></li> <li><p>Dobbertin, H., "Cryptanalysis of MD4", Journal of Cryptology vol 11 (4), pp. 253-271 (1998)</p></li> <li><p>Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1321.txt">http://www.rfc-editor.org/rfc/rfc1321.txt</a>)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ripemd</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="ripemd160.html">ripemd160</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key357">RIPEMD</a>, <a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key359">md4</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key358">rfc 1320</a>, <a href="../../../../index.html#key360">rfc 1321</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/ripemd/ripemd160.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
144 145 146 147 148 149 150 | <li><a href="#8"><b class="cmd">::ripemd::RIPEHMAC160Final</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package is an implementation in Tcl of the RIPEMD-160 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and | | | | | | | | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | <li><a href="#8"><b class="cmd">::ripemd::RIPEHMAC160Final</b> <i class="arg">token</i></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package is an implementation in Tcl of the RIPEMD-160 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and generates a 160-bit message digest from the input. The RIPEMD-160 algorithm is based upon the MD4 algorithm (2, 4) but has been cryptographically strengthened against weaknesses that have been found in MD4 (4).</p> <p>This package will use <b class="package">cryptkit</b> or <b class="package">Trf</b> to accelerate the digest computation if either package is available. In the absence of an accelerator package the pure-Tcl implementation will be used.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::ripemd::ripemd160</b> <span class="opt">?<i class="arg">-hex</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate the RIPEMD-160 digest of the data given in string. This is returned as a binary string by default. Giving the <i class="arg">-hex</i> option will return a hexadecimal encoded version of the digest.</p> <p>The data to be hashed can be specified either as a string argument to the ripemd160 command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed.</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::ripemd::hmac160</b> <span class="opt">?<i class="arg">-hex</i>?</span> <i class="arg">-key key</i> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate an Hashed Message Authentication digest (HMAC) using the RIPEMD-160 digest algorithm. HMACs are described in RFC 2104 (5) and provide a RIPEMD-160 digest that includes a key. All options other than <i class="arg">-key</i> are as for the <b class="cmd">::ripemd::ripemd160</b> command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> <p>For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is uniquely derived from the data that was poured into the bucket. The programming interface to the hash operates on a token (equivalent to the bucket). You call <b class="cmd">RIPEMD160Init</b> to obtain a token and then call <b class="cmd">RIPEMD160Update</b> as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call <b class="cmd">RIPEMD160Final</b>. An equivalent set of functions gives you a keyed digest (HMAC).</p> <dl class="definitions"> <dt><a name="3"><b class="cmd">::ripemd::RIPEMD160Init</b></a></dt> <dd><p>Begins a new RIPEMD-160 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="4"><b class="cmd">::ripemd::RIPEMD160Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>RIPEMD160Update $token "abcd"</em> is equivalent to calling <em>RIPEMD160Update $token "ab"</em> followed by <em>RIPEMD160Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>.</p></dd> <dt><a name="5"><b class="cmd">::ripemd::RIPEMD160Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 160 bit RIPEMD-160 digest value.</p></dd> <dt><a name="6"><b class="cmd">::ripemd::RIPEHMAC160Init</b> <i class="arg">key</i></a></dt> |
︙ | ︙ | |||
227 228 229 230 231 232 233 | % ripemd::RIPEMD160Update $tok "RIPEMD-160" % ripemd::Hex [ripemd::RIPEMD160Final $tok] 0829dea75a1a7074c702896723fe37763481a0a7 </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> | | | | | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | % ripemd::RIPEMD160Update $tok "RIPEMD-160" % ripemd::Hex [ripemd::RIPEMD160Final $tok] 0829dea75a1a7074c702896723fe37763481a0a7 </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" <a href="http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf">http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf</a></p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Rivest, R., "The MD4 message digest algorithm", in A.J. Menezes and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90 Proceedings, pages 303-311, Springer-Verlag, 1991.</p></li> <li><p>Dobbertin, H., "Cryptanalysis of MD4", Journal of Cryptology vol 11 (4), pp. 253-271 (1998)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>ripemd</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="ripemd128.html">ripemd128</a>, <a href="../sha1/sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key357">RIPEMD</a>, <a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key359">md4</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key358">rfc 1320</a>, <a href="../../../../index.html#key360">rfc 1321</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/sasl/sasl.html.
︙ | ︙ | |||
120 121 122 123 124 125 126 | <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">CALLBACK PROCEDURE</a></li> <li class="section"><a href="#section5">MECHANISMS</a></li> <li class="section"><a href="#section6">EXAMPLES</a></li> <li class="section"><a href="#section7">REFERENCES</a></li> <li class="section"><a href="#section8">AUTHORS</a></li> | | | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">OPTIONS</a></li> <li class="section"><a href="#section4">CALLBACK PROCEDURE</a></li> <li class="section"><a href="#section5">MECHANISMS</a></li> <li class="section"><a href="#section6">EXAMPLES</a></li> <li class="section"><a href="#section7">REFERENCES</a></li> <li class="section"><a href="#section8">AUTHORS</a></li> <li class="section"><a href="#section9">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | <dd><p>Contruct a new SASL context. See <span class="sectref"><a href="#section3">OPTIONS</a></span> for details of the possible options to this command. A context token is required for most of the SASL procedures.</p></dd> <dt><a name="2"><b class="cmd">::SASL::configure</b> <i class="arg">option value</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>Modify and inspect the SASL context option. See <span class="sectref"><a href="#section3">OPTIONS</a></span> for further details.</p></dd> <dt><a name="3"><b class="cmd">::SASL::step</b> <i class="arg">context</i> <i class="arg">challenge</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> | | | | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | <dd><p>Contruct a new SASL context. See <span class="sectref"><a href="#section3">OPTIONS</a></span> for details of the possible options to this command. A context token is required for most of the SASL procedures.</p></dd> <dt><a name="2"><b class="cmd">::SASL::configure</b> <i class="arg">option value</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>Modify and inspect the SASL context option. See <span class="sectref"><a href="#section3">OPTIONS</a></span> for further details.</p></dd> <dt><a name="3"><b class="cmd">::SASL::step</b> <i class="arg">context</i> <i class="arg">challenge</i> <span class="opt">?<i class="arg">...</i>?</span></a></dt> <dd><p>This is the core procedure for using the SASL framework. The <b class="cmd">step</b> procedure should be called until it returns 0. Each step takes a server challenge string and the response is calculated and stored in the context. Each mechanism may require one or more steps. For some steps there may be no server challenge required in which case an empty string should be provided for this parameter. All mechanisms should accept an initial empty challenge.</p></dd> <dt><a name="4"><b class="cmd">::SASL::response</b> <i class="arg">context</i></a></dt> <dd><p>Returns the next response string that should be sent to the server.</p></dd> <dt><a name="5"><b class="cmd">::SASL::reset</b> <i class="arg">context</i></a></dt> <dd><p>Re-initialize the SASL context. Discards any internal state and permits the token to be reused.</p></dd> <dt><a name="6"><b class="cmd">::SASL::cleanup</b> <i class="arg">context</i></a></dt> <dd><p>Release all resources associated with the SASL context. The context token may not be used again after this procedure has been called.</p></dd> <dt><a name="7"><b class="cmd">::SASL::mechanisms</b> <span class="opt">?<i class="arg">type</i>?</span> <span class="opt">?<i class="arg">minimum</i>?</span></a></dt> <dd><p>Returns a list of all the available SASL mechanisms. The list is sorted by the mechanism preference value (see <b class="cmd">register</b>) with the preferred mechanisms and the head of the list. Any mechanism with a preference value less than the<i class="arg">minimum</i> (which defaults to 0) is removed from the returned list. This permits a security threshold to be set. Mechanisms with a preference less that 25 transmit authentication are particularly susceptible to eavesdropping and should not be provided unless a secure channel is in use (eg: tls).</p> <p>The <i class="arg">type</i> parameter may be one of <i class="arg">client</i> or <i class="arg">server</i> and defaults to <i class="arg">client</i>. Only mechanisms that have an implementation matching the <i class="arg">type</i> are returned (this permits servers to correctly declare support only for mechanisms that actually provide a server implementation).</p></dd> <dt><a name="8"><b class="cmd">::SASL::register</b> <i class="arg">mechanism</i> <i class="arg">preference</i> <i class="arg">clientproc</i> <span class="opt">?<i class="arg">serverproc</i>?</span></a></dt> <dd><p>New mechanisms can be added to the package by registering the mechanism name and the implementing procedures. The server procedure is optional. The preference value is an integer that is used to order the list returned by the <b class="cmd">mechanisms</b> command. Higher values indicate a preferred mechanism. If the mechanism is already registered |
︙ | ︙ | |||
253 254 255 256 257 258 259 | <dt>username</dt> <dd><p>The callback procedure should return the users authentication identity. Read [1] for a discussion about the specific meaning of authorization and authentication identities within SASL.</p></dd> <dt>password</dt> <dd><p>The callback procedure should return the password that matches the authentication identity as used within the current realm.</p> | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 | <dt>username</dt> <dd><p>The callback procedure should return the users authentication identity. Read [1] for a discussion about the specific meaning of authorization and authentication identities within SASL.</p></dd> <dt>password</dt> <dd><p>The callback procedure should return the password that matches the authentication identity as used within the current realm.</p> <p>For server mechanisms the password callback should always be called with the authentication identity and the realm as the first two parameters.</p></dd> <dt>realm</dt> <dd><p>Some SASL mechanisms use realms to partition authentication identities. The realm string is protocol dependent and is often the current DNS domain or in the case of the NTLM mechanism it is the Windows NT domain name.</p></dd> <dt>hostname</dt> <dd><p>Returns the client host name - typically [info host].</p></dd> |
︙ | ︙ | |||
294 295 296 297 298 299 300 | password which helps to make the system more secure. As in CRAM-MD5 the password is hashed with a server nonce and other data before being transmitted across the network. Specified in [3].</p></dd> <dt>OTP</dt> <dd><p>OTP is the One-Time Password system described in RFC 2289 [6]. This mechanism is secure against replay attacks and also avoids storing password or password equivalents on the server. Only a digest of a seed | | | | | | | | 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | password which helps to make the system more secure. As in CRAM-MD5 the password is hashed with a server nonce and other data before being transmitted across the network. Specified in [3].</p></dd> <dt>OTP</dt> <dd><p>OTP is the One-Time Password system described in RFC 2289 [6]. This mechanism is secure against replay attacks and also avoids storing password or password equivalents on the server. Only a digest of a seed and a passphrase is ever transmitted across the network. Requires the <b class="package"><a href="../otp/otp.html">otp</a></b> package from tcllib and one or more of the cryptographic digest packages (md5 or sha-1 are the most commonly used).</p></dd> <dt>NTLM</dt> <dd><p>This is a proprietary protocol developed by Microsoft [5] and is in common use for authenticating users in a Windows network environment. NTLM uses DES encryption and MD4 digests of the users password to authenticate a connection. Certain weaknesses have been found in NTLM and thus there are a number of versions of the protocol. As this mechanism has additional dependencies it is made available as a separate sub-package. To enable this mechanism your application must load the SASL::NTLM package.</p></dd> <dt>X-GOOGLE-TOKEN</dt> <dd><p>This is a proprietary protocol developed by Google and used for authenticating users for the Google Talk service. This mechanism makes a pair of HTTP requests over an SSL channel and so this mechanism depends upon the availability of the tls and http packages. To enable this mechanism your application must load the SASL::XGoogleToken package. In addition you are recommended to make use of the autoproxy package to handle HTTP proxies reasonably transparently.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">EXAMPLES</a></h2> <p>See the examples subdirectory for more complete samples using SASL with network protocols. The following should give an idea how the SASL commands are to be used. In reality this should be event |
︙ | ︙ | |||
373 374 375 376 377 378 379 | RFC 2289, February 1998, (<a href="http://www.ieft.org/rfc/rfc2289.txt">http://www.ieft.org/rfc/rfc2289.txt</a>)</p></li> </ol> </div> <div id="section8" class="section"><h2><a name="section8">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> | | | | 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | RFC 2289, February 1998, (<a href="http://www.ieft.org/rfc/rfc2289.txt">http://www.ieft.org/rfc/rfc2289.txt</a>)</p></li> </ol> </div> <div id="section8" class="section"><h2><a name="section8">AUTHORS</a></h2> <p>Pat Thoyts</p> </div> <div id="section9" class="section"><h2><a name="section9">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>sasl</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key791">SASL</a>, <a href="../../../../index.html#key790">authentication</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/sha1/sha1.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
160 161 162 163 164 165 166 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::sha1::sha1</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>The command takes a message and returns the SHA1 digest of this message as a hexadecimal string. You may request the result as binary data by giving <i class="arg">-bin</i>.</p> <p>The data to be hashed can be specified either as a string argument to | | | | | | | | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::sha1::sha1</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>The command takes a message and returns the SHA1 digest of this message as a hexadecimal string. You may request the result as binary data by giving <i class="arg">-bin</i>.</p> <p>The data to be hashed can be specified either as a string argument to the <b class="cmd">sha1</b> command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed. <em>NOTE</em> use of the channel or filename options results in the internal use of <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>. To avoid nested event loops in Tk or tclhttpd applications you should use the incremental programming API (see below).</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::sha1::hmac</b> <i class="arg">key</i> <i class="arg">string</i></a></dt> <dd></dd> <dt><a name="3"><b class="cmd">::sha1::hmac</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> <i class="arg">-key key</i> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Calculate an Hashed Message Authentication digest (HMAC) using the SHA1 digest algorithm. HMACs are described in RFC 2104 (3) and provide an SHA1 digest that includes a key. All options other than <i class="arg">-key</i> are as for the <b class="cmd">::sha1::sha1</b> command.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">PROGRAMMING INTERFACE</a></h2> <p>For the programmer, the SHA1 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the SHA1 hash operates on a token (equivalent to the bucket). You call <b class="cmd">SHA1Init</b> to obtain a token and then call <b class="cmd">SHA1Update</b> as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call <b class="cmd">SHA1Final</b>. An equivalent set of functions gives you a keyed digest (HMAC).</p> <p>If you have <b class="package">critcl</b> and have built the <b class="package">tcllibc</b> package then the implementation of the hashing function will be performed by compiled code. Failing that if you have the <b class="package">Trf</b> package then this can be used otherwise there is a pure-tcl equivalent. The programming interface remains the same in all cases.</p> <dl class="definitions"> <dt><a name="4"><b class="cmd">::sha1::SHA1Init</b></a></dt> <dd><p>Begins a new SHA1 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="5"><b class="cmd">::sha1::SHA1Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>SHA1Update $token "abcd"</em> is equivalent to calling <em>SHA1Update $token "ab"</em> followed by <em>SHA1Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>.</p></dd> <dt><a name="6"><b class="cmd">::sha1::SHA1Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 20 bytes representing the 160 bit SHA1 digest value.</p></dd> <dt><a name="7"><b class="cmd">::sha1::HMACInit</b> <i class="arg">key</i></a></dt> |
︙ | ︙ | |||
242 243 244 245 246 247 248 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>"Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. (<a href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">http://www.itl.nist.gov/fipspubs/fip180-1.htm</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> | | | | | | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>"Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. (<a href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">http://www.itl.nist.gov/fipspubs/fip180-1.htm</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>sha1</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd128.html">ripemd128</a>, <a href="../ripemd/ripemd160.html">ripemd160</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key221">FIPS 180-1</a>, <a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a>, <a href="../../../../index.html#key419">sha1</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/sha1/sha256.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">PROGRAMMING INTERFACE</a></li> <li class="section"><a href="#section4">EXAMPLES</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
162 163 164 165 166 167 168 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::sha2::sha256</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>The command takes a message and returns the SHA256 digest of this message as a hexadecimal string. You may request the result as binary data by giving <i class="arg">-bin</i>.</p> <p>The data to be hashed can be specified either as a string argument to | | | | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::sha2::sha256</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>The command takes a message and returns the SHA256 digest of this message as a hexadecimal string. You may request the result as binary data by giving <i class="arg">-bin</i>.</p> <p>The data to be hashed can be specified either as a string argument to the <b class="cmd">sha256</b> command, or as a filename or a pre-opened channel. If the <i class="arg">-filename</i> argument is given then the file is opened, the data read and hashed and the file is closed. If the <i class="arg">-channel</i> argument is given then data is read from the channel until the end of file. The channel is not closed. <em>NOTE</em> use of the channel or filename options results in the internal use of <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>. To avoid nested event loops in Tk or tclhttpd applications you should use the incremental programming API (see below).</p> <p>Only one of <i class="arg">-file</i>, <i class="arg">-channel</i> or <i class="arg">string</i> should be given.</p></dd> <dt><a name="2"><b class="cmd">::sha2::sha224</b> <span class="opt">?<i class="arg">-hex|-bin</i>?</span> [ <i class="arg">-channel channel</i> | <i class="arg">-file filename</i> | <i class="arg">string</i> ]</a></dt> <dd><p>Like <b class="cmd">::sha2::sha256</b>, except that the SHA224 digest is returned.</p></dd> <dt><a name="3"><b class="cmd">::sha2::hmac</b> <i class="arg">key</i> <i class="arg">string</i></a></dt> <dd></dd> |
︙ | ︙ | |||
203 204 205 206 207 208 209 | <dl class="definitions"> <dt><a name="5"><b class="cmd">::sha2::SHA256Init</b></a></dt> <dd></dd> <dt><a name="6"><b class="cmd">::sha2::SHA224Init</b></a></dt> <dd><p>Begins a new SHA256/SHA224 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="7"><b class="cmd">::sha2::SHA256Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> | | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | <dl class="definitions"> <dt><a name="5"><b class="cmd">::sha2::SHA256Init</b></a></dt> <dd></dd> <dt><a name="6"><b class="cmd">::sha2::SHA224Init</b></a></dt> <dd><p>Begins a new SHA256/SHA224 hash. Returns a token ID that must be used for the remaining functions.</p></dd> <dt><a name="7"><b class="cmd">::sha2::SHA256Update</b> <i class="arg">token</i> <i class="arg">data</i></a></dt> <dd><p>Add data to the hash identified by token. Calling <em>SHA256Update $token "abcd"</em> is equivalent to calling <em>SHA256Update $token "ab"</em> followed by <em>SHA256Update $token "cb"</em>. See <span class="sectref"><a href="#section4">EXAMPLES</a></span>. Note that this command is used for both SHA256 and SHA224. Only the initialization and finalization commands of both hashes differ.</p></dd> <dt><a name="8"><b class="cmd">::sha2::SHA256Final</b> <i class="arg">token</i></a></dt> <dd></dd> <dt><a name="9"><b class="cmd">::sha2::SHA224Final</b> <i class="arg">token</i></a></dt> <dd><p>Returns the hash value and releases any resources held by this |
︙ | ︙ | |||
251 252 253 254 255 256 257 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>"Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. (<a href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">http://www.itl.nist.gov/fipspubs/fip180-1.htm</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> | | | | | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>"Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. (<a href="http://www.itl.nist.gov/fipspubs/fip180-1.htm">http://www.itl.nist.gov/fipspubs/fip180-1.htm</a>)</p></li> <li><p>Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. (<a href="http://www.rfc-editor.org/rfc/rfc1320.txt">http://www.rfc-editor.org/rfc/rfc1320.txt</a>)</p></li> <li><p>Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. (<a href="http://www.rfc-editor.org/rfc/rfc2104.txt">http://www.rfc-editor.org/rfc/rfc2104.txt</a>)</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>sha1</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../md4/md4.html">md4</a>, <a href="../md5/md5.html">md5</a>, <a href="../ripemd/ripemd128.html">ripemd128</a>, <a href="../ripemd/ripemd160.html">ripemd160</a>, <a href="sha1.html">sha1</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key221">FIPS 180-1</a>, <a href="../../../../index.html#key224">hashing</a>, <a href="../../../../index.html#key223">message-digest</a>, <a href="../../../../index.html#key222">rfc 2104</a>, <a href="../../../../index.html#key148">security</a>, <a href="../../../../index.html#key220">sha256</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008, Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/simulation/annealing.html.
︙ | ︙ | |||
312 313 314 315 316 317 318 | solution you may want to try different values of the trials parameter for instance. Also ensure that the function to be minimized depends on all or most parameters - see the source code for a counter example and run that.</p></li> </ul> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | solution you may want to try different values of the trials parameter for instance. Also ensure that the function to be minimized depends on all or most parameters - see the source code for a counter example and run that.</p></li> </ul> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key289">optimization</a>, <a href="../../../../index.html#key301">simulated annealing</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/simulation/simulation_random.html.
︙ | ︙ | |||
291 292 293 294 295 296 297 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | <dd><p>Width of the block (y-direction)</p></dd> <dt>float <i class="arg">depth</i></dt> <dd><p>Depth of the block (z-direction)</p></dd> </dl></dd> </dl> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key67">math</a>, <a href="../../../../index.html#key623">random numbers</a>, <a href="../../../../index.html#key622">simulation</a>, <a href="../../../../index.html#key621">statistical distribution</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Mathematics</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Arjen Markus <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/smtpd/smtpd.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">SECURITY</a></li> <li class="section"><a href="#section3">COMMANDS</a></li> <li class="section"><a href="#section4">CALLBACKS</a></li> <li class="section"><a href="#section5">VARIABLES</a></li> <li class="section"><a href="#section6">AUTHOR</a></li> <li class="section"><a href="#section7">LICENSE</a></li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">SECURITY</a></li> <li class="section"><a href="#section3">COMMANDS</a></li> <li class="section"><a href="#section4">CALLBACKS</a></li> <li class="section"><a href="#section5">VARIABLES</a></li> <li class="section"><a href="#section6">AUTHOR</a></li> <li class="section"><a href="#section7">LICENSE</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
185 186 187 188 189 190 191 | package a little more complicated to read. If there is a good reason for running multiple SMTP services then it will only be necessary to fix the <b class="variable">options</b> array and the <b class="variable">::smtpd::stopped</b> variable usage.</p> <p>As the server code uses <b class="cmd">fileevent</b>(n) handlers to process the input on sockets you will need to run the event loop. This means either you should be running from within <b class="syscmd">wish</b>(1) or you | | | | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | package a little more complicated to read. If there is a good reason for running multiple SMTP services then it will only be necessary to fix the <b class="variable">options</b> array and the <b class="variable">::smtpd::stopped</b> variable usage.</p> <p>As the server code uses <b class="cmd">fileevent</b>(n) handlers to process the input on sockets you will need to run the event loop. This means either you should be running from within <b class="syscmd">wish</b>(1) or you should <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>(n) on the <b class="variable">::smtpd::stopped</b> variable which is set when the server is stopped.</p></dd> <dt><a name="2"><b class="cmd">::smtpd::stop</b></a></dt> <dd><p>Halt the server and release the listening socket. If the server has not been started then this command does nothing. The <b class="variable">::smtpd::stopped</b> variable is set for use with <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>(n).</p> <p>It should be noted that stopping the server does not disconnect any currently active sessions as these are operating over an independent channel. Only explicitly tracking and closing these sessions, or exiting the server process will close down all the running sessions. This is similar to the usual unix daemon practice where the server performs a <b class="syscmd">fork</b>(2) and the client session continues on the child process.</p></dd> |
︙ | ︙ | |||
263 264 265 266 267 268 269 | an error. For example, to reject mail from user "denied":</p> <pre class="example"> proc validate_sender {address} { eval array set addr [mime::parseaddress $address] if {[string match "denied" $addr(local)]} { error "mailbox $addr(local) denied" } | | | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | an error. For example, to reject mail from user "denied":</p> <pre class="example"> proc validate_sender {address} { eval array set addr [mime::parseaddress $address] if {[string match "denied" $addr(local)]} { error "mailbox $addr(local) denied" } return } </pre> <p>The content of any error message will not be passed back to the client.</p></dd> <dt><b class="cmd">validate_recipient</b> callback</dt> <dd><p>The validate_recipient callback is similar to the validate_sender callback and permits you to verify a local mailbox and accept mail for a local user address during RCPT command handling. To reject mail, |
︙ | ︙ | |||
309 310 311 312 313 314 315 | recipient has yet been defined.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">VARIABLES</a></h2> <dl class="definitions"> <dt><b class="variable">::smtpd::stopped</b></dt> <dd><p>This variable is set to <b class="const">true</b> during the <b class="cmd">::smtpd::stop</b> | | | | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | recipient has yet been defined.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">VARIABLES</a></h2> <dl class="definitions"> <dt><b class="variable">::smtpd::stopped</b></dt> <dd><p>This variable is set to <b class="const">true</b> during the <b class="cmd">::smtpd::stop</b> command to permit the use of the <b class="cmd"><a href="../../../../index.html#key395">vwait</a></b>(n) command.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">AUTHOR</a></h2> <p>Written by Pat Thoyts <a href="mailto:[email protected]">mailto:[email protected]</a>.</p> </div> <div id="section7" class="section"><h2><a name="section7">LICENSE</a></h2> <p>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file "<b class="file">license.terms</b>" for more details.</p> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>smtpd</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key309">rfc 2821</a>, <a href="../../../../index.html#key312">rfc 821</a>, <a href="../../../../index.html#key584">services</a>, <a href="../../../../index.html#key317">smtp</a>, <a href="../../../../index.html#key653">smtpd</a>, <a href="../../../../index.html#key335">socket</a>, <a href="../../../../index.html#key395">vwait</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/snit/snit.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | <li class="subsection"><a href="#subsection12">Defining Validation Types</a></li> </ul> </li> <li class="section"><a href="#section4">CAVEATS</a></li> <li class="section"><a href="#section5">KNOWN BUGS</a></li> <li class="section"><a href="#section6">HISTORY</a></li> <li class="section"><a href="#section7">CREDITS</a></li> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <li class="subsection"><a href="#subsection12">Defining Validation Types</a></li> </ul> </li> <li class="section"><a href="#section4">CAVEATS</a></li> <li class="section"><a href="#section5">KNOWN BUGS</a></li> <li class="section"><a href="#section6">HISTORY</a></li> <li class="section"><a href="#section7">CREDITS</a></li> <li class="section"><a href="#section8">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
246 247 248 249 250 251 252 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>Snit is a pure Tcl object and megawidget system. It's unique among Tcl object systems in that it's based not on inheritance but on delegation. Object systems based on inheritance only allow you to inherit from classes defined using the same system, which is | | | | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>Snit is a pure Tcl object and megawidget system. It's unique among Tcl object systems in that it's based not on inheritance but on delegation. Object systems based on inheritance only allow you to inherit from classes defined using the same system, which is limiting. In Tcl, an object is anything that acts like an object; it shouldn't matter how the object was implemented. Snit is intended to help you build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a <b class="package"><a href="../../../../index.html#key207">Tk</a></b> widget, an <b class="package"><a href="../../../../index.html#key238">Incr Tcl</a></b> object, a <b class="package"><a href="../../../../index.html#key235">BWidget</a></b> or almost anything else.</p> <p>This man page is intended to be a reference only; see the accompanying <b class="cmd"><a href="snitfaq.html">snitfaq</a></b> for a gentler, more tutorial introduction to Snit concepts.</p> </div> <div id="section2" class="section"><h2><a name="section2">SNIT VERSIONS</a></h2> <p>This man page covers both Snit 2.2 and Snit 1.3. The primary |
︙ | ︙ | |||
282 283 284 285 286 287 288 | new type, along with other activities.</p> <p>The <b class="cmd">snit::type</b> <i class="arg">definition</i> block is a script that may contain the following definitions:</p> <dl class="definitions"> <dt><a name="2"><b class="cmd">typevariable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Defines a type variable with the specified <i class="arg">name</i>, and optionally the specified <i class="arg">value</i>. Type variables are shared by all instances | | | | | | | | | | | | | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 | new type, along with other activities.</p> <p>The <b class="cmd">snit::type</b> <i class="arg">definition</i> block is a script that may contain the following definitions:</p> <dl class="definitions"> <dt><a name="2"><b class="cmd">typevariable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Defines a type variable with the specified <i class="arg">name</i>, and optionally the specified <i class="arg">value</i>. Type variables are shared by all instances of the type. If the <b class="const">-array</b> option is included, then <i class="arg">value</i> should be a dictionary; it will be assigned to the variable using <b class="cmd">array set</b>.</p></dd> <dt><a name="3"><b class="cmd">typemethod</b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p>Defines a type method, a subcommand of the new type command, with the specified name, argument list, and body. The <i class="arg">arglist</i> is a normal Tcl argument list and may contain default arguments and the <b class="variable">args</b> argument; however, it may not contain the argument names <b class="variable">type</b>, <b class="variable">self</b>, <b class="variable">selfns</b>, or <b class="variable">win</b>.</p> <p>The variable <b class="variable">type</b> is automatically defined in the <i class="arg">body</i> to the type's fully-qualified name. In addition, type variables are automatically visible in the <i class="arg">body</i> of every type method.</p> <p>If the <i class="arg">name</i> consists of two or more tokens, Snit handles it specially:</p> <pre class="example"> typemethod {a b} {arg} { puts "Got $arg" } </pre> <p>This statement implicitly defines a type method called <b class="const">a</b> which has a subcommand <b class="const">b</b>. <b class="const">b</b> is called like this:</p> <pre class="example"> $type a b "Hello, world!" </pre> <p><b class="const">a</b> may have any number of subcommands. This makes it possible to define a hierarchical command structure; see <b class="cmd"><a href="../../../../index.html#key355">method</a></b>, below, for more examples.</p> <p>Type methods can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the type's type methods can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p> <p><em>Snit 1.x Incompatibility:</em> In Snit 1.x, the following following two calls to this type method are equivalent:</p> <pre class="example"> $type a b "Hello, world!" $type {a b} "Hello, world!" </pre> <p>In Snit 2.2, the second form is invalid.</p></dd> <dt><a name="4"><b class="cmd">typeconstructor</b> <i class="arg">body</i></a></dt> <dd><p>The type constructor's <i class="arg">body</i> is executed once when the type is first defined; it is typically used to initialize array-valued type variables and to add entries to <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span>.</p> <p>The variable <b class="variable">type</b> is automatically defined in the <i class="arg">body</i>, and contains the type's fully-qualified name. In addition, type variables are automatically visible in the <i class="arg">body</i> of the type constructor.</p> <p>A type may define at most one type constructor.</p> <p>The type constructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the type constructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="5"><b class="cmd">variable</b> <i class="arg">name</i> <span class="opt">?<b class="const">-array</b>?</span> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Defines an instance variable, a private variable associated with each instance of this type, and optionally its initial value. If the <b class="const">-array</b> option is included, then <i class="arg">value</i> should be a dictionary; it will be assigned to the variable using <b class="cmd">array set</b>.</p></dd> <dt><a name="6"><b class="cmd"><a href="../../../../index.html#key355">method</a></b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p>Defines an instance method, a subcommand of each instance of this type, with the specified name, argument list and body. The <i class="arg">arglist</i> is a normal Tcl argument list and may contain default arguments and the <b class="variable">args</b> argument.</p> |
︙ | ︙ | |||
383 384 385 386 387 388 389 | Droop, droop % </pre> <p>What we've done is implicitly defined a "tail" method with subcommands "wag" and "droop". Consequently, it's an error to define "tail" explicitly.</p> <p>Methods can call commands from the namespace in which the type is | | | | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 | Droop, droop % </pre> <p>What we've done is implicitly defined a "tail" method with subcommands "wag" and "droop". Consequently, it's an error to define "tail" explicitly.</p> <p>Methods can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the type's methods can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p> <p><em>Snit 1.x Incompatibility:</em> In Snit 1.x, the following following two calls to this method are equivalent:</p> <pre class="example"> $self a b "Hello, world!" $self {a b} "Hello, world!" </pre> |
︙ | ︙ | |||
417 418 419 420 421 422 423 | to the previous example:</p> <pre class="example"> option -font {Courier 12} </pre> <p>See <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span> for more information about resource and class names.</p> <p>Options are normally set and retrieved using the standard instance methods <b class="method">configure</b> and <b class="method">cget</b>; within instance code | | | | | | | | | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | to the previous example:</p> <pre class="example"> option -font {Courier 12} </pre> <p>See <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span> for more information about resource and class names.</p> <p>Options are normally set and retrieved using the standard instance methods <b class="method">configure</b> and <b class="method">cget</b>; within instance code (method bodies, etc.), option values are available through the <b class="variable">options</b> array:</p> <pre class="example"> set myfont $options(-font) </pre> <p>If the type defines any option handlers (e.g., <b class="const">-configuremethod</b>), then it should probably use <b class="method">configure</b> and <b class="method">cget</b> to access its options to avoid subtle errors.</p> <p>The <b class="cmd">option</b> statement may include the following options:</p> <dl class="definitions"> <dt><b class="const">-default</b> <i class="arg">defvalue</i></dt> <dd><p>Defines the option's default value; the option's default value will be "" otherwise.</p></dd> <dt><b class="const">-readonly</b> <i class="arg">flag</i></dt> <dd><p>The <i class="arg">flag</i> can be any Boolean value recognized by Tcl. If <i class="arg">flag</i> is true, then the option is read-only--it can only be set using <b class="method">configure</b> or <b class="method">configurelist</b> at creation time, i.e., in the type's constructor.</p></dd> <dt><b class="const">-type</b> <i class="arg">type</i></dt> <dd><p>Every locally-defined option may define its validation type, which may be either the name of a validation type or a specification for a validation subtype</p> <p>For example, an option may declare that its value must be an integer by specifying <b class="cmd">snit::integer</b> as its validation type:</p> <pre class="example"> option -number -type snit::integer </pre> <p>It may also declare that its value is an integer between 1 and 10 by specifying a validation subtype:</p> <pre class="example"> option -number -type {snit::integer -min 1 -max 10} </pre> <p>If a validation type or subtype is defined for an option, then it will be used to validate the option's value whenever it is changed by the object's <b class="method">configure</b> or <b class="method">configurelist</b> methods. In addition, all such options will have their values validated automatically immediately after the constructor executes.</p> <p>Snit defines a family of validation types and subtypes, and it's quite simple to define new ones. See <span class="sectref"><a href="#subsection11">Validation Types</a></span> for the complete list, and <span class="sectref"><a href="#subsection12">Defining Validation Types</a></span> for an explanation of how |
︙ | ︙ | |||
470 471 472 473 474 475 476 | For example, this code is equivalent to (though slower than) Snit's default handling of <b class="cmd">cget</b>:</p> <pre class="example"> option -font -cgetmethod GetOption method GetOption {option} { return $options($option) } </pre> | | | | | | | | | | | | | | | | | | | | | | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | For example, this code is equivalent to (though slower than) Snit's default handling of <b class="cmd">cget</b>:</p> <pre class="example"> option -font -cgetmethod GetOption method GetOption {option} { return $options($option) } </pre> <p>Note that it's possible for any number of options to share a <b class="const">-cgetmethod</b>.</p></dd> <dt><b class="const">-configuremethod</b> <i class="arg">methodName</i></dt> <dd><p>Every locally-defined option may define a <b class="const">-configuremethod</b>; it is called when the option's value is set using the <b class="method">configure</b> or <b class="method">configurelist</b> methods. It is the named method's responsibility to save the option's value; in other words, the value will not be saved to the <b class="variable">options()</b> array unless the method saves it there.</p> <p>The named method must take two arguments, the option name and its new value. For example, this code is equivalent to (though slower than) Snit's default handling of <b class="cmd">configure</b>:</p> <pre class="example"> option -font -configuremethod SetOption method SetOption {option value} { set options($option) $value } </pre> <p>Note that it's possible for any number of options to share a single <b class="const">-configuremethod</b>.</p></dd> <dt><b class="const">-validatemethod</b> <i class="arg">methodName</i></dt> <dd><p>Every locally-defined option may define a <b class="const">-validatemethod</b>; it is called when the option's value is set using the <b class="method">configure</b> or <b class="method">configurelist</b> methods, just before the <b class="const">-configuremethod</b> (if any). It is the named method's responsibility to validate the option's new value, and to throw an error if the value is invalid.</p> <p>The named method must take two arguments, the option name and its new value. For example, this code verifies that <b class="const">-flag</b>'s value is a valid Boolean value:</p> <pre class="example"> option -font -validatemethod CheckBoolean method CheckBoolean {option value} { if {![string is boolean -strict $value]} { error "option $option must have a boolean value." } } </pre> <p>Note that it's possible for any number of options to share a single <b class="const">-validatemethod</b>.</p></dd> </dl></dd> <dt><a name="9"><b class="cmd">constructor</b> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p>The constructor definition specifies a <i class="arg">body</i> of code to be executed when a new instance is created. The <i class="arg">arglist</i> is a normal Tcl argument list and may contain default arguments and the <b class="variable">args</b> argument.</p> <p>As with methods, the arguments <b class="variable">type</b>, <b class="variable">self</b>, <b class="variable">selfns</b>, and <b class="variable">win</b> are defined implicitly, and all type and instance variables are automatically visible in its <i class="arg">body</i>.</p> <p>If the <i class="arg">definition</i> doesn't explicitly define the constructor, Snit defines one implicitly. If the type declares at least one option (whether locally or by delegation), the default constructor will be defined as follows:</p> <pre class="example"> constructor {args} { $self configurelist $args } </pre> <p>For standard Tk widget behavior, the argument list should be the single name <b class="const">args</b>, as shown.</p> <p>If the <i class="arg">definition</i> defines neither a constructor nor any options, the default constructor is defined as follows:</p> <pre class="example"> constructor {} {} </pre> <p>As with methods, the constructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the constructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="10"><b class="cmd">destructor</b> <i class="arg">body</i></a></dt> <dd><p>The destructor is used to code any actions that must take place when an instance of the type is destroyed: typically, the destruction of anything created in the constructor.</p> <p>The destructor takes no explicit arguments; as with methods, the arguments <b class="variable">type</b>, <b class="variable">self</b>, <b class="variable">selfns</b>, and <b class="variable">win</b>, are defined implicitly, and all type and instance variables are automatically visible in its <i class="arg">body</i>. As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the destructor can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="11"><b class="cmd"><a href="../../../../index.html#key570">proc</a></b> <i class="arg">name</i> <i class="arg">args</i> <i class="arg">body</i></a></dt> <dd><p>Defines a new Tcl procedure in the type's namespace.</p> <p>The defined proc differs from a normal Tcl proc in that all type variables are automatically visible. The proc can access instance variables as well, provided that it is passed <b class="variable">selfns</b> (with precisely that name) as one of its arguments.</p> <p>Although they are not implicitly defined for procs, the argument names <b class="const">type</b>, <b class="const">self</b>, and <b class="const">win</b> should be avoided.</p> <p>As with methods and typemethods, procs can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is <b class="cmd">::parentns::typename</b>, then the proc can call <b class="cmd">::parentns::someproc</b> just as <b class="cmd">someproc</b>. <em>Snit 1.x Incompatibility:</em> This does not work in Snit 1.x, as it depends on <b class="cmd">namespace path</b>, a new command in Tcl 8.5.</p></dd> <dt><a name="12"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <b class="const">to</b> <i class="arg">comp</i> <span class="opt">?<b class="const">as</b> <i class="arg">target</i>?</span></a></dt> <dd><p>Delegates method <i class="arg">name</i> to component <i class="arg">comp</i>. That is, when method <i class="arg">name</i> is called on an instance of this type, the method and its arguments will be passed to the named component's command instead. That is, the following statement</p> |
︙ | ︙ | |||
592 593 594 595 596 597 598 | <pre class="example"> delegate method wagtail to tail as "wag briskly" </pre> <p>A method cannot be both locally defined and delegated.</p> <p><b class="const">Note:</b> All forms of <b class="cmd">delegate method</b> can delegate to both instance components and type components.</p></dd> <dt><a name="13"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></dt> <dd><p>In this form of the <b class="cmd">delegate</b> statement, the <b class="const">using</b> clause | | | | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | <pre class="example"> delegate method wagtail to tail as "wag briskly" </pre> <p>A method cannot be both locally defined and delegated.</p> <p><b class="const">Note:</b> All forms of <b class="cmd">delegate method</b> can delegate to both instance components and type components.</p></dd> <dt><a name="13"><b class="cmd">delegate</b> <b class="const">method</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></dt> <dd><p>In this form of the <b class="cmd">delegate</b> statement, the <b class="const">using</b> clause is used to specify the precise form of the command to which method <i class="arg">name</i> name is delegated. In this form, the <b class="const">to</b> clause is optional, since the chosen command might not involve any particular component.</p> <p>The value of the <b class="const">using</b> clause is a list that may contain any or all of the following substitution codes; these codes are substituted with the described value to build the delegated command prefix. Note that the following two statements are equivalent:</p> <pre class="example"> delegate method wag to tail delegate method wag to tail using "%c %m" </pre> <p>Each element of the list becomes a single element of the delegated |
︙ | ︙ | |||
720 721 722 723 724 725 726 | <p>The optional <b class="const">as</b> clause allows you to specify the delegated method name and possibly add some arguments:</p> <pre class="example"> delegate typemethod lostdogs to pound as "get lostdogs" </pre> <p>A type method cannot be both locally defined and delegated.</p></dd> <dt><a name="21"><b class="cmd">delegate</b> <b class="const">typemethod</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></dt> <dd><p>In this form of the <b class="cmd">delegate</b> statement, the <b class="const">using</b> clause | | | | 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 | <p>The optional <b class="const">as</b> clause allows you to specify the delegated method name and possibly add some arguments:</p> <pre class="example"> delegate typemethod lostdogs to pound as "get lostdogs" </pre> <p>A type method cannot be both locally defined and delegated.</p></dd> <dt><a name="21"><b class="cmd">delegate</b> <b class="const">typemethod</b> <i class="arg">name</i> <span class="opt">?<b class="const">to</b> <i class="arg">comp</i>?</span> <b class="const">using</b> <i class="arg">pattern</i></a></dt> <dd><p>In this form of the <b class="cmd">delegate</b> statement, the <b class="const">using</b> clause is used to specify the precise form of the command to which type method <i class="arg">name</i> name is delegated. In this form, the <b class="const">to</b> clause is optional, since the chosen command might not involve any particular type component.</p> <p>The value of the <b class="const">using</b> clause is a list that may contain any or all of the following substitution codes; these codes are substituted with the described value to build the delegated command prefix. Note that the following two statements are equivalent:</p> <pre class="example"> delegate typemethod lostdogs to pound delegate typemethod lostdogs to pound using "%c %m" </pre> <p>Each element of the list becomes a single element of the delegated |
︙ | ︙ | |||
763 764 765 766 767 768 769 | specify a list of <i class="arg">exceptions</i>, i.e., type method names that will not be so delegated. The <b class="const">using</b> clause is defined as given above. In this form, the statement must contain the <b class="const">to</b> clause, the <b class="const">using</b> clause, or both.</p> <p><b class="const">Note:</b> By default, Snit interprets <b class="cmd">$type foo</b>, where <b class="const">foo</b> is not a defined type method, as equivalent to <b class="cmd">$type create foo</b>, where | | | | | | | | | | | | | | 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 | specify a list of <i class="arg">exceptions</i>, i.e., type method names that will not be so delegated. The <b class="const">using</b> clause is defined as given above. In this form, the statement must contain the <b class="const">to</b> clause, the <b class="const">using</b> clause, or both.</p> <p><b class="const">Note:</b> By default, Snit interprets <b class="cmd">$type foo</b>, where <b class="const">foo</b> is not a defined type method, as equivalent to <b class="cmd">$type create foo</b>, where <b class="const">foo</b> is the name of a new instance of the type. If you use <b class="const">delegate typemethod *</b>, then the <b class="method">create</b> type method must always be used explicitly.</p> <p>The "*" can be a list of two or more tokens whose last element is "*", as in the following example:</p> <pre class="example"> delegate typemethod {tail *} to tail </pre> <p>This implicitly defines the type method <b class="cmd">tail</b> whose subcommands will be delegated to the <b class="variable">tail</b> type component.</p></dd> <dt><a name="23"><b class="cmd">typecomponent</b> <i class="arg">comp</i> <span class="opt">?<b class="const">-public</b> <i class="arg">typemethod</i>?</span> <span class="opt">?<b class="const">-inherit</b> <i class="arg">flag</i>?</span></a></dt> <dd><p>Explicitly declares a type component called <i class="arg">comp</i>, and automatically defines the component's type variable. A type component is an arbitrary command to which type methods and instance methods can be delegated; the command's name is stored in a type variable.</p> <p>If the <b class="const">-public</b> option is specified, then the type component is made public by defining a <i class="arg">typemethod</i> whose subcommands are delegated to the type component, e.g., specifying <b class="const">-public mytypemethod</b> is equivalent to the following:</p> <pre class="example"> typecomponent mycomp delegate typemethod {mytypemethod *} to mycomp </pre> <p>If the <b class="const">-inherit</b> option is specified, then <i class="arg">flag</i> must be a Boolean value; if <i class="arg">flag</i> is true then all unknown type methods will be delegated to this type component. (See the note on "delegate typemethod *", above.) The name <b class="const">-inherit</b> implies that this type inherits, in a sense, the behavior of the type component. That is, <b class="const">-inherit yes</b> is equivalent to:</p> <pre class="example"> typecomponent mycomp delegate typemethod * to mycomp </pre> </dd> <dt><a name="24"><b class="cmd">pragma</b> <span class="opt">?<i class="arg">options...</i>?</span></a></dt> <dd><p>The <b class="cmd">pragma</b> statement provides control over how Snit generates a type. It takes the following options; in each case, <i class="arg">flag</i> must be a Boolean value recognized by Tcl, e.g., <b class="const">0</b>, <b class="const">1</b>, <b class="const">yes</b>, <b class="const">no</b>, and so on.</p> <p>By setting the <b class="const">-hastypeinfo</b>, <b class="const">-hastypedestroy</b>, and <b class="const">-hasinstances</b> pragmas to false and defining appropriate type methods, you can create an ensemble command without any extraneous behavior.</p> <dl class="definitions"> <dt><b class="const">-canreplace</b> <i class="arg">flag</i></dt> <dd><p>If false (the default) Snit will not create an instance of a <b class="cmd">snit::type</b> that has the same name as an existing command; this prevents subtle errors. Setting this pragma to true restores the behavior of Snit V0.93 and earlier versions.</p></dd> <dt><b class="const">-hastypeinfo</b> <i class="arg">flag</i></dt> <dd><p>If true (the default), the generated type will have a type method called <b class="cmd"><a href="../../../../index.html#key91">info</a></b> that is used for type introspection; the <b class="cmd"><a href="../../../../index.html#key91">info</a></b> type method is documented below. If false, it will not.</p></dd> <dt><b class="const">-hastypedestroy</b> <i class="arg">flag</i></dt> <dd><p>If true (the default), the generated type will have a type method called <b class="cmd">destroy</b> that is used to destroy the type and all of its instances. The <b class="cmd">destroy</b> type method is documented below. If false, it will not.</p></dd> <dt><b class="const">-hastypemethods</b> <i class="arg">flag</i></dt> <dd><p>If true (the default), the generated type's type command will have subcommands (type methods) as usual. If false, the type command will serve only to create instances of the type; the first argument is the instance name.</p> <p>This pragma and <b class="const">-hasinstances</b> cannot both be set false.</p></dd> <dt><b class="const">-hasinstances</b> <i class="arg">flag</i></dt> <dd><p>If true (the default), the generated type will have a type method called <b class="cmd">create</b> that is used to create instances of the type, along with a variety of instance-related features. If false, it will not.</p> <p>This pragma and <b class="const">-hastypemethods</b> cannot both be set false.</p></dd> <dt><b class="const">-hasinfo</b> <i class="arg">flag</i></dt> <dd><p>If true (the default), instances of the generated type will have an instance method called <b class="method">info</b> that is used for instance introspection; the <b class="method">info</b> method is documented below. If false, it will not.</p></dd> <dt><b class="const">-simpledispatch</b> <i class="arg">flag</i></dt> <dd><p>This pragma is intended to make simple, heavily-used abstract data types (e.g., stacks and queues) more efficient.</p> <p>If false (the default), instance methods are dispatched normally. If true, a faster dispatching scheme is used instead. The speed comes at a price; with <b class="const">-simpledispatch yes</b> you get the following limitations:</p> <ul class="itemized"> <li><p>Methods cannot be delegated.</p></li> <li><p><b class="cmd">uplevel</b> and <b class="cmd">upvar</b> do not work as expected: the caller's scope is two levels up rather than one.</p></li> <li><p>The option-handling methods (<b class="cmd">cget</b>, <b class="cmd">configure</b>, and <b class="cmd">configurelist</b>) are very slightly slower.</p></li> </ul></dd> </dl></dd> <dt><a name="25"><b class="cmd">expose</b> <i class="arg">comp</i></a></dt> <dd></dd> <dt><a name="26"><b class="cmd">expose</b> <i class="arg">comp</i> <b class="const">as</b> <i class="arg">method</i></a></dt> <dd><p><b class="const">Deprecated.</b> To expose component <i class="arg">comp</i> publicly, use <b class="cmd">component</b>'s <b class="const">-public</b> option.</p></dd> <dt><a name="27"><b class="cmd">onconfigure</b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p><b class="const">Deprecated.</b> Define <b class="cmd">option</b>'s <b class="const">-configuremethod</b> option instead.</p> <p>As of version 0.95, the following definitions,</p> <pre class="example"> option -myoption onconfigure -myoption {value} { # Code to save the option's value } </pre> <p>are implemented as follows:</p> <pre class="example"> option -myoption -configuremethod _configure-myoption method _configure-myoption {_option value} { # Code to save the option's value } </pre> </dd> <dt><a name="28"><b class="cmd">oncget</b> <i class="arg">name</i> <i class="arg">body</i></a></dt> <dd><p><b class="const">Deprecated.</b> Define <b class="cmd">option</b>'s <b class="const">-cgetmethod</b> option instead.</p> <p>As of version 0.95, the following definitions,</p> <pre class="example"> option -myoption oncget -myoption { # Code to return the option's value } </pre> |
︙ | ︙ | |||
918 919 920 921 922 923 924 | <dt><a name="30"><b class="cmd">widgetclass</b> <i class="arg">name</i></a></dt> <dd><p>Sets the <b class="cmd">snit::widget</b>'s widget class to <i class="arg">name</i>, overriding the default. See <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span> for more information.</p></dd> <dt><a name="31"><b class="cmd">hulltype</b> <i class="arg">type</i></a></dt> <dd><p>Determines the kind of widget used as the <b class="cmd">snit::widget</b>'s hull. The <i class="arg">type</i> may be <b class="const">frame</b> (the default), <b class="const">toplevel</b>, | | | | | 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 | <dt><a name="30"><b class="cmd">widgetclass</b> <i class="arg">name</i></a></dt> <dd><p>Sets the <b class="cmd">snit::widget</b>'s widget class to <i class="arg">name</i>, overriding the default. See <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span> for more information.</p></dd> <dt><a name="31"><b class="cmd">hulltype</b> <i class="arg">type</i></a></dt> <dd><p>Determines the kind of widget used as the <b class="cmd">snit::widget</b>'s hull. The <i class="arg">type</i> may be <b class="const">frame</b> (the default), <b class="const">toplevel</b>, <b class="const">labelframe</b>; the qualified equivalents of these, <b class="const">tk::frame</b>, <b class="const">tk::toplevel</b>, and <b class="const">tk::labelframe</b>; or, if available, the equivalent Tile widgets: <b class="const">ttk::frame</b>, <b class="const">ttk::toplevel</b>, and <b class="const">ttk::labelframe</b>. In practice, any widget that supports the <b class="const">-class</b> option can be used as a hull widget by <b class="cmd">lappend</b>'ing its name to the variable <b class="variable">snit::hulltypes</b>.</p></dd> </dl></dd> <dt><a name="32"><b class="cmd">snit::widgetadaptor</b> <i class="arg">name</i> <i class="arg">definition</i></a></dt> <dd><p>This command defines a Snit megawidget type with the specified name. It differs from <b class="cmd">snit::widget</b> in that the instance's <b class="variable">hull</b> component is not created automatically, but is created in the constructor and installed using the <b class="cmd">installhull</b> command. Once |
︙ | ︙ | |||
951 952 953 954 955 956 957 | instance methods can't be redefined.</p></dd> <dt><a name="35"><b class="cmd">snit::macro</b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p>Defines a Snit macro with the specified <i class="arg">name</i>, <i class="arg">arglist</i>, and <i class="arg">body</i>. Macros are used to define new type and widget definition statements in terms of the statements defined in this man page.</p> <p>A macro is simply a Tcl proc that is defined in the slave interpreter | | | | | | | | | | | | | 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 | instance methods can't be redefined.</p></dd> <dt><a name="35"><b class="cmd">snit::macro</b> <i class="arg">name</i> <i class="arg">arglist</i> <i class="arg">body</i></a></dt> <dd><p>Defines a Snit macro with the specified <i class="arg">name</i>, <i class="arg">arglist</i>, and <i class="arg">body</i>. Macros are used to define new type and widget definition statements in terms of the statements defined in this man page.</p> <p>A macro is simply a Tcl proc that is defined in the slave interpreter used to compile type and widget definitions. Thus, macros have access to all of the type and widget definition statements. See <span class="sectref"><a href="#subsection10">Macros and Meta-programming</a></span> for more details.</p> <p>The macro <i class="arg">name</i> cannot be the same as any standard Tcl command, or any Snit type or widget definition statement, e.g., you can't redefine the <b class="cmd"><a href="../../../../index.html#key355">method</a></b> or <b class="cmd">delegate</b> statements, or the standard <b class="cmd"><a href="../../../../index.html#key279">set</a></b>, <b class="cmd"><a href="../../../../index.html#key280">list</a></b>, or <b class="cmd"><a href="../../../../index.html#key270">string</a></b> commands.</p></dd> <dt><a name="36"><b class="cmd">snit::compile</b> <i class="arg">which</i> <i class="arg">type</i> <i class="arg">body</i></a></dt> <dd><p>Snit defines a type, widget, or widgetadaptor by "compiling" the definition into a Tcl script; this script is then evaluated in the Tcl interpreter, which actually defines the new type.</p> <p>This command exposes the "compiler". Given a definition <i class="arg">body</i> for the named <i class="arg">type</i>, where <i class="arg">which</i> is <b class="const">type</b>, <b class="const">widget</b>, or <b class="const">widgetadaptor</b>, <b class="cmd">snit::compile</b> returns a list of two elements. The first element is the fully qualified type name; the second element is the definition script.</p> <p><b class="cmd">snit::compile</b> is useful when additional processing must be done on the Snit-generated code--if it must be instrumented, for example, or run through the TclDevKit compiler. In addition, the returned script could be saved in a ".tcl" file and used to define the type as part of an application or library, thus saving the compilation overhead at application start-up. Note that the same version of Snit must be used at run-time as at compile-time.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">The Type Command</a></h3> <p>A type or widget definition creates a type command, which is used to create instances of the type. The type command has this form:</p> <dl class="definitions"> <dt><a name="37"><b class="cmd">$type</b> <i class="arg">typemethod</i> <i class="arg">args</i>...</a></dt> <dd><p>The <i class="arg">typemethod</i> can be any of the <span class="sectref"><a href="#subsection3">Standard Type Methods</a></span> (e.g., <b class="method">create</b>), or any type method defined in the type definition. The subsequent <i class="arg">args</i> depend on the specific <i class="arg">typemethod</i> chosen.</p> <p>The type command is most often used to create new instances of the type; hence, the <b class="method">create</b> method is assumed if the first argument to the type command doesn't name a valid type method, unless the type definition includes <b class="cmd">delegate typemethod *</b> or the <b class="const">-hasinstances</b> pragma is set to false.</p> <p>Furthermore, if the <b class="const">-hastypemethods</b> pragma is false, then Snit type commands can be called with no arguments at all; in this case, the type command creates an instance with an automatically generated name. In other words, provided that the <b class="const">-hastypemethods</b> pragma is false and the type has instances, the following commands are equivalent:</p> <pre class="example">snit::type dog { ... } set mydog [dog create %AUTO%] set mydog [dog %AUTO%] set mydog [dog] </pre> |
︙ | ︙ | |||
1023 1024 1025 1026 1027 1028 1029 | name, it is assumed to be a name in the namespace in which the call to <b class="cmd">snit::type</b> appears. The method returns the fully-qualified instance name.</p> <p>For <b class="cmd">snit::widget</b>s and <b class="cmd">snit::widgetadaptor</b>s, <i class="arg">name</i> must be a valid widget name; the method returns the widget name.</p> <p>So long as <i class="arg">name</i> does not conflict with any defined type method name the <b class="method">create</b> keyword may be omitted, unless | | | | | | 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 | name, it is assumed to be a name in the namespace in which the call to <b class="cmd">snit::type</b> appears. The method returns the fully-qualified instance name.</p> <p>For <b class="cmd">snit::widget</b>s and <b class="cmd">snit::widgetadaptor</b>s, <i class="arg">name</i> must be a valid widget name; the method returns the widget name.</p> <p>So long as <i class="arg">name</i> does not conflict with any defined type method name the <b class="method">create</b> keyword may be omitted, unless the type definition includes <b class="cmd">delegate typemethod *</b> or the <b class="const">-hasinstances</b> pragma is set to false.</p> <p>If the <i class="arg">name</i> includes the string <b class="const">%AUTO%</b>, it will be replaced with the string <b class="const">$type$counter</b> where <b class="const">$type</b> is the type name and <b class="const">$counter</b> is a counter that increments each time <b class="const">%AUTO%</b> is used for this type.</p> <p>By default, any arguments following the <i class="arg">name</i> will be a list of <i class="arg">option</i> names and their <i class="arg">value</i>s; however, a type's constructor can specify a different argument list.</p> <p>As of Snit V0.95, <b class="method">create</b> will throw an error if the <i class="arg">name</i> is the same as any existing command--note that this was always true for <b class="cmd">snit::widget</b>s and <b class="cmd">snit::widgetadaptor</b>s. You can restore the previous behavior using the <b class="const">-canreplace</b> pragma.</p></dd> <dt><a name="39"><b class="cmd">$type</b> <b class="method">info typevars</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the type's type variables (excluding Snit internal variables); all variable names are fully-qualified.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p></dd> <dt><a name="40"><b class="cmd">$type</b> <b class="method">info typemethods</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the names of the type's type methods. If the type has hierarchical type methods, whether locally-defined or delegated, only the first word of each will be included in the list.</p> <p>If the type definition includes <b class="cmd">delegate typemethod *</b>, the list will include only the names of those implicitly delegated type methods that have been called at least once and are still in the type method cache.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p></dd> <dt><a name="41"><b class="cmd">$type</b> <b class="method">info args</b> <i class="arg">method</i></a></dt> <dd><p>Returns a list containing the names of the arguments to the type's <i class="arg">method</i>, in order. This method cannot be applied to delegated type methods.</p></dd> |
︙ | ︙ | |||
1084 1085 1086 1087 1088 1089 1090 | <div id="subsection4" class="subsection"><h3><a name="subsection4">The Instance Command</a></h3> <p>A Snit type or widget's <b class="method">create</b> type method creates objects of the type; each object has a unique name that is also a Tcl command. This command is used to access the object's methods and data, and has this form:</p> <dl class="definitions"> <dt><a name="46"><b class="cmd">$object</b> <i class="arg">method</i> <i class="arg">args...</i></a></dt> | | | | 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 | <div id="subsection4" class="subsection"><h3><a name="subsection4">The Instance Command</a></h3> <p>A Snit type or widget's <b class="method">create</b> type method creates objects of the type; each object has a unique name that is also a Tcl command. This command is used to access the object's methods and data, and has this form:</p> <dl class="definitions"> <dt><a name="46"><b class="cmd">$object</b> <i class="arg">method</i> <i class="arg">args...</i></a></dt> <dd><p>The <i class="arg">method</i> can be any of the <span class="sectref"><a href="#subsection5">Standard Instance Methods</a></span>, or any instance method defined in the type definition. The subsequent <i class="arg">args</i> depend on the specific <i class="arg">method</i> chosen.</p></dd> </dl> </div> <div id="subsection5" class="subsection"><h3><a name="subsection5">Standard Instance Methods</a></h3> <p>In addition to any delegated or locally-defined instance methods in the type's definition, all Snit objects will have at least the |
︙ | ︙ | |||
1136 1137 1138 1139 1140 1141 1142 | pattern; only names that match the pattern are returned.</p></dd> <dt><a name="53"><b class="cmd">$object</b> <b class="method">info typevars</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the object's type's type variables (excluding Snit internal variables). The names are fully qualified.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p></dd> <dt><a name="54"><b class="cmd">$object</b> <b class="method">info typemethods</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> | | | | | | 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 | pattern; only names that match the pattern are returned.</p></dd> <dt><a name="53"><b class="cmd">$object</b> <b class="method">info typevars</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the object's type's type variables (excluding Snit internal variables). The names are fully qualified.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p></dd> <dt><a name="54"><b class="cmd">$object</b> <b class="method">info typemethods</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the names of the type's type methods. If the type has hierarchical type methods, whether locally-defined or delegated, only the first word of each will be included in the list.</p> <p>If the type definition includes <b class="cmd">delegate typemethod *</b>, the list will include only the names of those implicitly delegated type methods that have been called at least once and are still in the type method cache.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p> <p><em>Snit 1.x Incompatibility:</em> In Snit 1.x, the full multi-word names of hierarchical type methods are included in the return value.</p></dd> <dt><a name="55"><b class="cmd">$object</b> <b class="method">info options</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the object's option names. This always includes local options and explicitly delegated options. If unknown options are delegated as well, and if the component to which they are delegated responds to <b class="cmd">$object configure</b> like Tk widgets do, then the result will include all possible unknown options that can be delegated to the component.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p> <p>Note that the return value might be different for different instances of the same type, if component object types can vary from one instance to another.</p></dd> <dt><a name="56"><b class="cmd">$object</b> <b class="method">info methods</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> <dd><p>Returns a list of the names of the instance's methods. If the type has hierarchical methods, whether locally-defined or delegated, only the first word of each will be included in the list.</p> <p>If the type definition includes <b class="cmd">delegate method *</b>, the list will include only the names of those implicitly delegated methods that have been called at least once and are still in the method cache.</p> <p>If <i class="arg">pattern</i> is given, it's used as a <b class="cmd">string match</b> pattern; only names that match the pattern are returned.</p> |
︙ | ︙ | |||
1197 1198 1199 1200 1201 1202 1203 | created with the type, and can be used without qualification.</p> <dl class="definitions"> <dt><a name="60"><b class="cmd">mymethod</b> <i class="arg">name</i> <span class="opt">?<i class="arg">args...</i>?</span></a></dt> <dd><p>The <b class="cmd">mymethod</b> command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke method <i class="arg">name</i> with the specified arguments, plus of course any arguments added by the caller. In other words, both of the | | < < < | 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 | created with the type, and can be used without qualification.</p> <dl class="definitions"> <dt><a name="60"><b class="cmd">mymethod</b> <i class="arg">name</i> <span class="opt">?<i class="arg">args...</i>?</span></a></dt> <dd><p>The <b class="cmd">mymethod</b> command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke method <i class="arg">name</i> with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's <b class="method">dosomething</b> method to be called when the <b class="cmd">$button</b> is pressed:</p> <pre class="example"> $button configure -command [list $self dosomething myargument] $button configure -command [mymethod dosomething myargument] </pre> <p>The chief distinction between the two is that the latter form will not break if the object's command is renamed.</p></dd> <dt><a name="61"><b class="cmd">mytypemethod</b> <i class="arg">name</i> <span class="opt">?<i class="arg">args...</i>?</span></a></dt> <dd><p>The <b class="cmd">mytypemethod</b> command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke type method <i class="arg">name</i> with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's <b class="method">dosomething</b> type method to be called when <b class="cmd">$button</b> is pressed:</p> <pre class="example"> $button configure -command [list $type dosomething myargument] $button configure -command [mytypemethod dosomething myargument] </pre> <p>Type commands cannot be renamed, so in practice there's little difference between the two forms. <b class="cmd">mytypemethod</b> is provided for parallelism with <b class="cmd">mymethod</b>.</p></dd> <dt><a name="62"><b class="cmd">myproc</b> <i class="arg">name</i> <span class="opt">?<i class="arg">args...</i>?</span></a></dt> <dd><p>The <b class="cmd">myproc</b> command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke the type proc <i class="arg">name</i> with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's <b class="method">dosomething</b> proc to be called when <b class="cmd">$button</b> is pressed:</p> <pre class="example"> $button configure -command [list ${type}::dosomething myargument] $button configure -command [myproc dosomething myargument] </pre> </dd> <dt><a name="63"><b class="cmd">myvar</b> <i class="arg">name</i></a></dt> <dd><p>Given an instance variable name, returns the fully qualified name. Use this if you're passing the variable to some other object, e.g., as a <b class="option">-textvariable</b> to a Tk label widget.</p></dd> |
︙ | ︙ | |||
1253 1254 1255 1256 1257 1258 1259 | If <i class="arg">option</i> doesn't appear in the list, then the <i class="arg">defvalue</i> is returned. If the option is locally-defined option, and <i class="arg">defvalue</i> is not specified, then the option's default value as specified in the type definition will be returned instead.</p></dd> <dt><a name="66"><b class="cmd">install</b> <i class="arg">compName</i> <b class="const">using</b> <i class="arg">objType</i> <i class="arg">objName</i> <i class="arg">args...</i></a></dt> <dd><p>Creates a new object of type <i class="arg">objType</i> called <i class="arg">objName</i> | | | 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 | If <i class="arg">option</i> doesn't appear in the list, then the <i class="arg">defvalue</i> is returned. If the option is locally-defined option, and <i class="arg">defvalue</i> is not specified, then the option's default value as specified in the type definition will be returned instead.</p></dd> <dt><a name="66"><b class="cmd">install</b> <i class="arg">compName</i> <b class="const">using</b> <i class="arg">objType</i> <i class="arg">objName</i> <i class="arg">args...</i></a></dt> <dd><p>Creates a new object of type <i class="arg">objType</i> called <i class="arg">objName</i> and installs it as component <i class="arg">compName</i>, as described in <span class="sectref"><a href="#subsection7">Components and Delegation</a></span>. Any additional <i class="arg">args...</i> are passed along with the name to the <i class="arg">objType</i> command. If this is a <b class="cmd">snit::type</b>, then the following two commands are equivalent:</p> <pre class="example"> install myComp using myObjType $self.myComp args... set myComp [myObjType $self.myComp args...] |
︙ | ︙ | |||
1305 1306 1307 1308 1309 1310 1311 | with the options, methods, and so forth; such instance variables are automatically visible in all instance code (e.g., method bodies). However, instance code can use the <b class="cmd">variable</b> command to declare instance variables that don't appear in the type definition, and also to bring variables from other namespaces into scope in the usual way.</p> <p>It's generally clearest to define all instance variables in the type definition, and omit declaring them in methods and so forth.</p> | | | | 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 | with the options, methods, and so forth; such instance variables are automatically visible in all instance code (e.g., method bodies). However, instance code can use the <b class="cmd">variable</b> command to declare instance variables that don't appear in the type definition, and also to bring variables from other namespaces into scope in the usual way.</p> <p>It's generally clearest to define all instance variables in the type definition, and omit declaring them in methods and so forth.</p> <p>Note that this is an instance-specific version of the standard Tcl <b class="cmd">::variable</b> command.</p></dd> <dt><a name="70"><b class="cmd">typevariable</b> <i class="arg">name</i></a></dt> <dd><p>Normally, type variables are defined in the type definition, along with the instance variables; such type variables are automatically visible in all of the type's code. However, type methods, instance methods and so forth can use <b class="cmd">typevariable</b> to declare type variables that don't appear in the type definition.</p> <p>It's generally clearest to declare all type variables in the type definition, and omit declaring them in methods, type methods, etc.</p></dd> <dt><a name="71"><b class="cmd">varname</b> <i class="arg">name</i></a></dt> <dd><p><b class="const">Deprecated.</b> Use <b class="cmd">myvar</b> instead.</p> <p>Given an instance variable name, returns the fully qualified name. Use this if you're passing the variable to some other object, e.g., as |
︙ | ︙ | |||
1336 1337 1338 1339 1340 1341 1342 | </dl> </div> <div id="subsection7" class="subsection"><h3><a name="subsection7">Components and Delegation</a></h3> <p>When an object includes other objects, as when a toolbar contains buttons or a GUI object contains an object that references a database, the included object is called a component. The standard way to handle component objects owned by a Snit object is to declare them using | | < < < | 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 | </dl> </div> <div id="subsection7" class="subsection"><h3><a name="subsection7">Components and Delegation</a></h3> <p>When an object includes other objects, as when a toolbar contains buttons or a GUI object contains an object that references a database, the included object is called a component. The standard way to handle component objects owned by a Snit object is to declare them using <b class="cmd">component</b>, which creates a component instance variable. In the following example, a <b class="cmd">dog</b> object has a <b class="cmd">tail</b> object:</p> <pre class="example"> snit::type dog { component mytail constructor {args} { set mytail [tail %AUTO% -partof $self] $self configurelist $args } method wag {} { $mytail wag } } snit::type tail { option -length 5 option -partof method wag {} { return "Wag, wag, wag."} } </pre> <p>Because the <b class="cmd">tail</b> object's name is stored in an instance |
︙ | ︙ | |||
1383 1384 1385 1386 1387 1388 1389 | <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span>.</p> <p>In the above examples, the <b class="cmd">dog</b> object's <b class="method">wag</b> method simply calls the <b class="cmd">tail</b> component's <b class="method">wag</b> method. In OO jargon, this is called delegation. Snit provides an easier way to do this:</p> <pre class="example"> snit::type dog { delegate method wag to mytail | < | 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 | <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span>.</p> <p>In the above examples, the <b class="cmd">dog</b> object's <b class="method">wag</b> method simply calls the <b class="cmd">tail</b> component's <b class="method">wag</b> method. In OO jargon, this is called delegation. Snit provides an easier way to do this:</p> <pre class="example"> snit::type dog { delegate method wag to mytail constructor {args} { install mytail using tail %AUTO% -partof $self $self configurelist $args } } </pre> <p>The <b class="cmd">delegate</b> statement in the type definition implicitly defines |
︙ | ︙ | |||
1412 1413 1414 1415 1416 1417 1418 | } </pre> <p>In this case, a <b class="cmd">dog</b> object will handle its own <b class="method">bark</b> method; but <b class="method">wag</b> will be passed along to <b class="cmd">mytail</b>. Any other method, being recognized by neither <b class="cmd">dog</b> nor <b class="cmd">tail</b>, will simply raise an error.</p> <p>Option delegation is similar to method delegation, except for the | | | | 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 | } </pre> <p>In this case, a <b class="cmd">dog</b> object will handle its own <b class="method">bark</b> method; but <b class="method">wag</b> will be passed along to <b class="cmd">mytail</b>. Any other method, being recognized by neither <b class="cmd">dog</b> nor <b class="cmd">tail</b>, will simply raise an error.</p> <p>Option delegation is similar to method delegation, except for the interactions with the Tk option database; this is described in <span class="sectref"><a href="#subsection9">The Tk Option Database</a></span>.</p> </div> <div id="subsection8" class="subsection"><h3><a name="subsection8">Type Components and Delegation</a></h3> <p>The relationship between type components and instance components is identical to that between type variables and instance variables, and that between type methods and instance methods. Just as an instance component is an instance variable that holds the name of a command, so a type component is a type variable that holds the name of a command. In essence, a type component is a component that's shared by every instance of the type.</p> <p>Just as <b class="cmd">delegate method</b> can be used to delegate methods to instance components, as described in <span class="sectref"><a href="#subsection7">Components and Delegation</a></span>, so <b class="cmd">delegate typemethod</b> can be used to delegate type methods to type components.</p> <p>Note also that as of Snit 0.95 <b class="cmd">delegate method</b> can delegate methods to both instance components and type components.</p> </div> <div id="subsection9" class="subsection"><h3><a name="subsection9">The Tk Option Database</a></h3> <p>This section describes how Snit interacts with the Tk option database, |
︙ | ︙ | |||
1484 1485 1486 1487 1488 1489 1490 | <b class="cmd">cget</b> commands.</p> <p>The resource and class names are used to initialize option default values by querying the Tk option database. The resource name is usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several | | | | | | | | | | | 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 | <b class="cmd">cget</b> commands.</p> <p>The resource and class names are used to initialize option default values by querying the Tk option database. The resource name is usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget options:</p> <pre class="example"> -background background Background -borderwidth borderWidth BorderWidth -insertborderwidth insertBorderWidth BorderWidth -padx padX Pad </pre> <p>As is easily seen, sometimes the resource and class names can be inferred from the option name, but not always.</p> <p>Snit options also have a resource name and a class name. By default, these names follow the rule given above: the resource name is the option name without the hyphen, and the class name is the resource name with an initial capital. This is true for both locally-defined options and explicitly delegated options:</p> <pre class="example"> snit::widget mywidget { option -background delegate option -borderwidth to hull delegate option * to text # ... } </pre> <p>In this case, the widget class name is "Mywidget". The widget has the following options: <b class="option">-background</b>, which is locally defined, and <b class="option">-borderwidth</b>, which is explicitly delegated; all other widgets are delegated to a component called "text", which is probably a Tk <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget. If so, <b class="cmd">mywidget</b> has all the same options as a <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget. The option, resource, and class names are as follows:</p> <pre class="example"> -background background Background -borderwidth borderwidth Borderwidth -padx padX Pad </pre> <p>Note that the locally defined option, <b class="option">-background</b>, happens to have the same three names as the standard Tk <b class="option">-background</b> option; and <b class="option">-pad</b>, which is delegated implicitly to the <b class="variable">text</b> component, has the same three names for <b class="cmd">mywidget</b> as it does for the <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget. <b class="option">-borderwidth</b>, on the other hand, has different resource and class names than usual, because the internal word "width" isn't capitalized. For consistency, it should be; this is done as follows:</p> <pre class="example"> snit::widget mywidget { option -background delegate option {-borderwidth borderWidth} to hull delegate option * to text # ... } </pre> <p>The class name will default to "BorderWidth", as expected.</p> <p>Suppose, however, that <b class="cmd">mywidget</b> also delegated <b class="option">-padx</b> and <b class="option">-pady</b> to the hull. In this case, both the resource name and the class name must be specified explicitly:</p> <pre class="example"> snit::widget mywidget { option -background delegate option {-borderwidth borderWidth} to hull delegate option {-padx padX Pad} to hull |
︙ | ︙ | |||
1595 1596 1597 1598 1599 1600 1601 | <p>The question is, what are the values of variables A, B, C and D?</p> <p>The value of A is "sunken". The hull is a Tk frame that has been given the widget class "Mywidget"; it will automatically query the option database and pick up this value. Since the <b class="option">-relief</b> option is implicitly delegated to the hull, Snit takes no action.</p> <p>The value of B is "red". The hull will automatically pick up the value "green" for its <b class="option">-background</b> option, just as it picked up the | | | | | | | | 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 | <p>The question is, what are the values of variables A, B, C and D?</p> <p>The value of A is "sunken". The hull is a Tk frame that has been given the widget class "Mywidget"; it will automatically query the option database and pick up this value. Since the <b class="option">-relief</b> option is implicitly delegated to the hull, Snit takes no action.</p> <p>The value of B is "red". The hull will automatically pick up the value "green" for its <b class="option">-background</b> option, just as it picked up the <b class="option">-relief</b> value. However, Snit knows that <b class="option">-hullbackground</b> is mapped to the hull's <b class="option">-background</b> option; hence, it queries the option database for <b class="option">-hullbackground</b> and gets "red" and updates the hull accordingly.</p> <p>The value of C is also "red", because <b class="option">-background</b> is implicitly delegated to the hull; thus, retrieving it is the same as retrieving <b class="option">-hullbackground</b>. Note that this case is unusual; in practice, <b class="option">-background</b> would probably be explicitly delegated to some other component.</p> <p>The value of D is "5", but not for the reason you think. Note that as it is defined above, the resource name for <b class="option">-borderwidth</b> defaults to "borderwidth", whereas the option database entry is "borderWidth". As with <b class="option">-relief</b>, the hull picks up its own <b class="option">-borderwidth</b> option before Snit does anything. Because the option is delegated under its own name, Snit assumes that the correct thing has happened, and doesn't worry about it any further.</p> <p>For <b class="cmd">snit::widgetadaptor</b>s, the case is somewhat altered. Widget adaptors retain the widget class of their hull, and the hull is not created automatically by Snit. Instead, the <b class="cmd">snit::widgetadaptor</b> must call <b class="cmd">installhull</b> in its constructor. The normal way to do this is as follows:</p> <pre class="example"> snit::widgetadaptor mywidget { # ... constructor {args} { # ... installhull using text -foreground white # } #... } </pre> <p>In this case, the <b class="cmd">installhull</b> command will create the hull using a command like this:</p> <pre class="example"> set hull [text $win -foreground white] </pre> <p>The hull is a <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget, so its widget class is "Text". Just as with <b class="cmd">snit::widget</b> hulls, Snit assumes that it will pick up all of its normal option values automatically; options delegated from a different name are initialized from the option database in the same way.</p> <p><b class="const">Initializing options delegated to other components:</b> Non-hull components are matched against the option database in two ways. First, a component widget remains a widget still, and therefore |
︙ | ︙ | |||
1738 1739 1740 1741 1742 1743 1744 | mypkg::property mood happy } </pre> <p>This leaves the global namespace open for application authors.</p> </div> <div id="subsection11" class="subsection"><h3><a name="subsection11">Validation Types</a></h3> <p>A validation type is an object that can be used to validate | | | 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 | mypkg::property mood happy } </pre> <p>This leaves the global namespace open for application authors.</p> </div> <div id="subsection11" class="subsection"><h3><a name="subsection11">Validation Types</a></h3> <p>A validation type is an object that can be used to validate Tcl values of a particular kind. For example, <b class="cmd">snit::integer</b> is used to validate that a Tcl value is an integer.</p> <p>Every validation type has a <b class="method">validate</b> method which is used to do the validation. This method must take a single argument, the value to be validated; further, it must do nothing if the value is valid, but throw an error if the value is invalid:</p> <pre class="example"> snit::integer validate 5 ;# Does nothing |
︙ | ︙ | |||
1773 1774 1775 1776 1777 1778 1779 | <pre class="example"> snit::enum ::dog::breed -values {mutt retriever sheepdog} snit::type dog { # Define subtypes on the fly... option -breed -type { snit::enum -values {mutt retriever sheepdog} } # Or use predefined subtypes... | | | | 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 | <pre class="example"> snit::enum ::dog::breed -values {mutt retriever sheepdog} snit::type dog { # Define subtypes on the fly... option -breed -type { snit::enum -values {mutt retriever sheepdog} } # Or use predefined subtypes... option -breed -type ::dog::breed } </pre> <p>Any object that has a <b class="method">validate</b> method with the semantics described above can be used as a validation type; see <span class="sectref"><a href="#subsection12">Defining Validation Types</a></span> for information on how to define new ones.</p> <p>Snit defines the following validation types:</p> <dl class="definitions"> <dt><a name="74"><b class="cmd">snit::boolean</b> <b class="const">validate</b> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd></dd> <dt><a name="75"><b class="cmd">snit::boolean</b> <i class="arg">name</i></a></dt> |
︙ | ︙ | |||
1824 1825 1826 1827 1828 1829 1830 | <dt><a name="81"><b class="cmd">snit::fpixels</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p><em>Tk programs only.</em> Validates screen distances, in any of the forms accepted by <b class="cmd">winfo fpixels</b>. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-min</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum bound; a value is invalid if it is strictly | | | | 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 | <dt><a name="81"><b class="cmd">snit::fpixels</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p><em>Tk programs only.</em> Validates screen distances, in any of the forms accepted by <b class="cmd">winfo fpixels</b>. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-min</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum bound; a value is invalid if it is strictly less than <i class="arg">min</i>. The bound may be expressed in any of the forms accepted by <b class="cmd">winfo fpixels</b>.</p></dd> <dt><b class="const">-max</b> <i class="arg">max</i></dt> <dd><p>Specifies a maximum bound; a value is invalid if it is strictly greater than <i class="arg">max</i>. The bound may be expressed in any of the forms accepted by <b class="cmd">winfo fpixels</b>.</p></dd> </dl></dd> <dt><a name="82"><b class="cmd">snit::integer</b> <b class="const">validate</b> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd></dd> <dt><a name="83"><b class="cmd">snit::integer</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p>Validates integer values. Subtypes may be created with the following options:</p> |
︙ | ︙ | |||
1854 1855 1856 1857 1858 1859 1860 | <dd><p>Validates Tcl lists. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-minlen</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum list length; the value is invalid if it has fewer than <i class="arg">min</i> elements. Defaults to 0.</p></dd> <dt><b class="const">-maxlen</b> <i class="arg">max</i></dt> | | | 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 | <dd><p>Validates Tcl lists. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-minlen</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum list length; the value is invalid if it has fewer than <i class="arg">min</i> elements. Defaults to 0.</p></dd> <dt><b class="const">-maxlen</b> <i class="arg">max</i></dt> <dd><p>Specifies a maximum list length; the value is invalid if it more than <i class="arg">max</i> elements.</p></dd> <dt><b class="const">-type</b> <i class="arg">type</i></dt> <dd><p>Specifies the type of the list elements; <i class="arg">type</i> must be the name of a validation type or subtype. In the following example, the value of <b class="const">-numbers</b> must be a list of integers.</p> <pre class="example"> option -numbers -type {snit::listtype -type snit::integer} |
︙ | ︙ | |||
1886 1887 1888 1889 1890 1891 1892 | <dt><a name="87"><b class="cmd">snit::pixels</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p><em>Tk programs only.</em> Validates screen distances, in any of the forms accepted by <b class="cmd">winfo pixels</b>. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-min</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum bound; a value is invalid if it is strictly | | | | 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 | <dt><a name="87"><b class="cmd">snit::pixels</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p><em>Tk programs only.</em> Validates screen distances, in any of the forms accepted by <b class="cmd">winfo pixels</b>. Subtypes may be created with the following options:</p> <dl class="definitions"> <dt><b class="const">-min</b> <i class="arg">min</i></dt> <dd><p>Specifies a minimum bound; a value is invalid if it is strictly less than <i class="arg">min</i>. The bound may be expressed in any of the forms accepted by <b class="cmd">winfo pixels</b>.</p></dd> <dt><b class="const">-max</b> <i class="arg">max</i></dt> <dd><p>Specifies a maximum bound; a value is invalid if it is strictly greater than <i class="arg">max</i>. The bound may be expressed in any of the forms accepted by <b class="cmd">winfo pixels</b>.</p></dd> </dl></dd> <dt><a name="88"><b class="cmd">snit::stringtype</b> <b class="const">validate</b> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd></dd> <dt><a name="89"><b class="cmd">snit::stringtype</b> <i class="arg">name</i> <span class="opt">?<i class="arg">option</i> <i class="arg">value</i>...?</span></a></dt> <dd><p>Validates Tcl strings. The base type is of little use by itself, since very Tcl value is also a valid string. Subtypes may be created with the |
︙ | ︙ | |||
1923 1924 1925 1926 1927 1928 1929 | </dl></dd> <dt><a name="90"><b class="cmd">snit::window</b> <b class="const">validate</b> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd></dd> <dt><a name="91"><b class="cmd">snit::window</b> <i class="arg">name</i></a></dt> <dd><p><em>Tk programs only.</em> Validates Tk window names. The value must cause <b class="cmd">winfo exists</b> to return true; otherwise, the value is invalid. It's possible to define subtypes--that is, instances--of | | | < | | | < | 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 | </dl></dd> <dt><a name="90"><b class="cmd">snit::window</b> <b class="const">validate</b> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd></dd> <dt><a name="91"><b class="cmd">snit::window</b> <i class="arg">name</i></a></dt> <dd><p><em>Tk programs only.</em> Validates Tk window names. The value must cause <b class="cmd">winfo exists</b> to return true; otherwise, the value is invalid. It's possible to define subtypes--that is, instances--of <b class="cmd">snit::window</b>, but as it has no options at present there's no reason to do so.</p></dd> </dl> </div> <div id="subsection12" class="subsection"><h3><a name="subsection12">Defining Validation Types</a></h3> <p>There are three ways to define a new validation type: as a subtype of one of Snit's validation types, as a validation type command, and as a full-fledged validation type similar to those provided by Snit. Defining subtypes of Snit's validation types is described above, under <span class="sectref"><a href="#subsection11">Validation Types</a></span>.</p> <p>The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a <b class="method">validate</b> method; the <b class="method">validate</b> method must take one argument, a value, return the value if it is valid, and throw an error with <b class="cmd">-errorcode</b> INVALID if the value is invalid. This can be done with a simple <b class="cmd"><a href="../../../../index.html#key570">proc</a></b>. For example, the <b class="cmd">snit::boolean</b> validate type could have been implemented like this:</p> <pre class="example"> proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { return -code error -errorcode INVALID "invalid boolean \"$value\", should be one of: 1, 0, ..." } return $value } </pre> <p>A validation type defined in this way cannot be subtyped, of course; but for many applications this will be sufficient.</p> <p>Finally, one can define a full-fledged, subtype-able validation type as a <b class="cmd">snit::type</b>. Here's a skeleton to get you started:</p> <pre class="example"> snit::type myinteger { # First, define any options you'd like to use to define # subtypes. Give them defaults such that they won't take # effect if they aren't used, and marked them "read-only". # After all, you shouldn't be changing their values after # a subtype is defined. # # For example: option -min -default "" -readonly 1 option -max -default "" -readonly 1 # Next, define a "validate" type method which should do the # validation in the basic case. This will allow the # type command to be used as a validation type. typemethod validate {value} { if {![string is integer -strict $value]} { return -code error -errorcode INVALID "invalid value \"$value\", expected integer" } return $value } # Next, the constructor should validate the subtype options, # if any. Since they are all readonly, we don't need to worry # about validating the options on change. constructor {args} { |
︙ | ︙ | |||
1993 1994 1995 1996 1997 1998 1999 | $type validate $value # Now we know it's a valid integer. if {("" != $options(-min) && $value < $options(-min)) || ("" != $options(-max) && $value > $options(-max))} { # It's out of range; format a detailed message about # the error, and throw it. set msg "...." | < | | | < < | | | 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 | $type validate $value # Now we know it's a valid integer. if {("" != $options(-min) && $value < $options(-min)) || ("" != $options(-max) && $value > $options(-max))} { # It's out of range; format a detailed message about # the error, and throw it. set msg "...." return -code error -errorcode INVALID $msg } # Otherwise, if it's valid just return it. return $valid } } </pre> <p>And now you have a type that can be subtyped.</p> <p>The file "validate.tcl" in the Snit distribution defines all of Snit's validation types; you can find the complete implementation for <b class="cmd">snit::integer</b> and the other types there, to use as examples for your own types.</p> </div> </div> <div id="section4" class="section"><h2><a name="section4">CAVEATS</a></h2> <p>If you have problems, find bugs, or new ideas you are hereby cordially invited to submit a report of your problem, bug, or idea as explained in the section <span class="sectref"><a href="#section8">Bugs, Ideas, Feedback</a></span> below.</p> <p>Additionally, you might wish to join the Snit mailing list; see <a href="http://www.wjduquette.com/snit">http://www.wjduquette.com/snit</a> for details.</p> <p>One particular area to watch is using <b class="cmd">snit::widgetadaptor</b> to adapt megawidgets created by other megawidget packages; correct widget destruction depends on the order of the <Destroy> bindings. The wisest course is simply not to do this.</p> </div> <div id="section5" class="section"><h2><a name="section5">KNOWN BUGS</a></h2> <ul class="itemized"> <li><p>Error stack traces returned by Snit 1.x are extremely ugly and typically contain far too much information about Snit internals. The error messages are much improved in Snit 2.2.</p></li> <li><p>Also see the Project Trackers as explained in the section <span class="sectref"><a href="#section8">Bugs, Ideas, Feedback</a></span> below.</p></li> </ul> </div> <div id="section6" class="section"><h2><a name="section6">HISTORY</a></h2> <p>During the course of developing Notebook (See <a href="http://www.wjduquette.com/notebook">http://www.wjduquette.com/notebook</a>), my Tcl-based personal notebook application, I found I was writing it as a collection of objects. I wasn't using any particular object-oriented framework; I |
︙ | ︙ | |||
2060 2061 2062 2063 2064 2065 2066 | Snit home page (see <a href="http://www.wjduquette.com/snit">http://www.wjduquette.com/snit</a>).</p> </div> <div id="section7" class="section"><h2><a name="section7">CREDITS</a></h2> <p>Snit has been designed and implemented from the very beginning by William H. Duquette. However, much credit belongs to the following people for using Snit and providing me with valuable feedback: Rolf Ade, Colin McCormack, Jose Nazario, Jeff Godfrey, Maurice Diamanti, | | | | | | | | | 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 | Snit home page (see <a href="http://www.wjduquette.com/snit">http://www.wjduquette.com/snit</a>).</p> </div> <div id="section7" class="section"><h2><a name="section7">CREDITS</a></h2> <p>Snit has been designed and implemented from the very beginning by William H. Duquette. However, much credit belongs to the following people for using Snit and providing me with valuable feedback: Rolf Ade, Colin McCormack, Jose Nazario, Jeff Godfrey, Maurice Diamanti, Egon Pasztor, David S. Cargo, Tom Krehbiel, Michael Cleverly, Andreas Kupries, Marty Backe, Andy Goth, Jeff Hobbs, Brian Griffin, Donal Fellows, Miguel Sofer, Kenneth Green, and Anton Kovalenko. If I've forgotten anyone, my apologies; let me know and I'll add your name to the list.</p> </div> <div id="section8" class="section"><h2><a name="section8">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>snit</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key235">BWidget</a>, <a href="../../../../index.html#key231">C++</a>, <a href="../../../../index.html#key238">Incr Tcl</a>, <a href="../../../../index.html#key779">Snit</a>, <a href="../../../../index.html#key236">adaptors</a>, <a href="../../../../index.html#key234">class</a>, <a href="../../../../index.html#key233">mega widget</a>, <a href="../../../../index.html#key237">object</a>, <a href="../../../../index.html#key230">object oriented</a>, <a href="../../../../index.html#key123">type</a>, <a href="../../../../index.html#key229">widget</a>, <a href="../../../../index.html#key232">widget adaptors</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2009, by William H. Duquette</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/snit/snitfaq.html.
︙ | ︙ | |||
358 359 360 361 362 363 364 | <li class="subsection"><a href="#subsection158">What is a macro?</a></li> <li class="subsection"><a href="#subsection159">What are macros good for?</a></li> <li class="subsection"><a href="#subsection160">How do I do conditional compilation?</a></li> <li class="subsection"><a href="#subsection161">How do I define new type definition syntax?</a></li> <li class="subsection"><a href="#subsection162">Are there are restrictions on macro names?</a></li> </ul> </li> | | | | | 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 | <li class="subsection"><a href="#subsection158">What is a macro?</a></li> <li class="subsection"><a href="#subsection159">What are macros good for?</a></li> <li class="subsection"><a href="#subsection160">How do I do conditional compilation?</a></li> <li class="subsection"><a href="#subsection161">How do I define new type definition syntax?</a></li> <li class="subsection"><a href="#subsection162">Are there are restrictions on macro names?</a></li> </ul> </li> <li class="section"><a href="#section23">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> </div> <div id="section2" class="section"><h2><a name="section2">OVERVIEW</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">What is this document?</a></h3> <p>This is an atypical FAQ list, in that few of the questions are frequently asked. Rather, these are the questions I think a newcomer to Snit should be asking. This file is not a complete reference to Snit, however; that information is in the <b class="cmd"><a href="snit.html">snit</a></b> man page.</p> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">What is Snit?</a></h3> <p>Snit is a framework for defining abstract data types and megawidgets in pure Tcl. The name "Snit" stands for "Snit's Not Incr Tcl", signifying that Snit takes a different approach to defining objects than does Incr Tcl, the best known object framework for Tcl. Had I realized that Snit would become at all popular, I'd probably have chosen something else.</p> <p>The primary purpose of Snit is to be <i class="term">object glue</i>--to help you compose diverse objects from diverse sources into types and megawidgets with clean, convenient interfaces so that you can more easily build your application.</p> |
︙ | ︙ | |||
438 439 440 441 442 443 444 | systems based on inheritance only allow you to inherit from classes defined using the same system, and that's a shame. In Tcl, an object is anything that acts like an object; it shouldn't matter how the object was implemented. I designed Snit to help me build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a Tk widget, an Incr Tcl object, a BWidget or almost anything else.</p> | | | 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | systems based on inheritance only allow you to inherit from classes defined using the same system, and that's a shame. In Tcl, an object is anything that acts like an object; it shouldn't matter how the object was implemented. I designed Snit to help me build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a Tk widget, an Incr Tcl object, a BWidget or almost anything else.</p> <p>Note that you can achieve the effect of inheritance using <span class="sectref"><a href="#section14">COMPONENTS</a></span> and <span class="sectref"><a href="#section16">DELEGATION</a></span>--and you can inherit from anything that looks like a Tcl object.</p> </div> <div id="subsection7" class="subsection"><h3><a name="subsection7">What can I do with Snit?</a></h3> <p>Using Snit, a programmer can:</p> <ul class="itemized"> <li><p>Create abstract data types and Tk megawidgets.</p></li> |
︙ | ︙ | |||
492 493 494 495 496 497 498 | <p>Tcl will find and load the latest version that's available relative to the version of Tcl being used. In this case, be careful to avoid using any incompatible features.</p> </div> <div id="subsection10" class="subsection"><h3><a name="subsection10">How are Snit 1.3 and Snit 2.2 incompatible?</a></h3> <p>To the extent possible, Snit 2.2 is intended to be a drop-in replacement for Snit 1.3. Unfortunately, some incompatibilities were | | | | | | | | | | | | | 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 | <p>Tcl will find and load the latest version that's available relative to the version of Tcl being used. In this case, be careful to avoid using any incompatible features.</p> </div> <div id="subsection10" class="subsection"><h3><a name="subsection10">How are Snit 1.3 and Snit 2.2 incompatible?</a></h3> <p>To the extent possible, Snit 2.2 is intended to be a drop-in replacement for Snit 1.3. Unfortunately, some incompatibilities were inevitable because Snit 2.2 uses Tcl 8.5's new <b class="cmd">namespace ensemble</b> mechanism to implement subcommand dispatch. This approach is much faster than the mechanism used in Snit 1.3, and also results in much better error messages; however, it also places new constraints on the implementation.</p> <p>There are four specific incompatibilities between Snit 1.3 and Snit 2.2.</p> <ul class="itemized"> <li><p>Snit 1.3 supports implicit naming of objects. Suppose you define a new <b class="cmd">snit::type</b> called <b class="cmd">dog</b>. You can create instances of <b class="cmd">dog</b> in three ways:</p> <pre class="example">dog spot ;# Explicit naming set obj1 [dog %AUTO%] ;# Automatic naming set obj2 [dog] ;# Implicit naming </pre> <p>In Snit 2.2, type commands are defined using the <b class="cmd">namespace ensemble</b> mechanism; and <b class="cmd">namespace ensemble</b> doesn't allow an ensemble command to be called without a subcommand. In short, using <b class="cmd">namespace ensemble</b> there's no way to support implicit naming.</p> <p>All is not lost, however. If the type has no type methods, then the type command is a simple command rather than an ensemble, and <b class="cmd">namespace ensemble</b> is not used. In this case, implicit naming is still possible.</p> <p>In short, you can have implicit naming if you're willing to do without type methods (including the standard type methods, like <b class="cmd">$type info</b>). To do so, use the <b class="const">-hastypemethods</b> pragma:</p> <pre class="example">pragma -hastypemethods 0</pre> </li> <li><p>Hierarchical methods and type methods are implemented differently in Snit 2.2.</p> <p>A hierarchical method is an instance method which has subcommands; these subcommands are themselves methods. The Tk text widget's <b class="cmd">tag</b> command and its subcommands are examples of hierarchical methods. You can implement such subcommands in Snit simply by including multiple words in the method names:</p> <pre class="example">method {tag configure} {tag args} { ... } method {tag cget} {tag option} {...} </pre> <p>Here we've implicitly defined a <b class="cmd">tag</b> method which has two subcommands, <b class="cmd">configure</b> and <b class="cmd">cget</b>.</p> <p>In Snit 1.3, hierarchical methods could be called in two ways:</p> <pre class="example">$obj tag cget -myoption ;# The good way $obj {tag cget} -myoption ;# The weird way </pre> <p>In the second call, we see that a hierarchical method or type method is simply one whose name contains multiple words.</p> <p>In Snit 2.2 this is no longer the case, and the "weird" way of calling hierarchical methods and type methods no longer works.</p></li> <li><p>The third incompatibility derives from the second. In Snit 1.3, hierarchical methods were also simply methods whose name contains multiple words. As a result, <b class="cmd">$obj info methods</b> returned the full names of all hierarchical methods. In the example above, the list returned by <b class="cmd">$obj info methods</b> would include <b class="cmd">tag configure</b> and <b class="cmd">tag cget</b> but not <b class="cmd">tag</b>, since <b class="cmd">tag</b> is defined only implicitly.</p> <p>In Snit 2.2, hierarchical methods and type methods are no longer simply ones whose name contains multiple words; in the above example, the list returned by <b class="cmd">$obj info methods</b> would include <b class="cmd">tag</b> but not <b class="cmd">tag configure</b> or <b class="cmd">tag cget</b>.</p></li> <li><p>The fourth incompatibility is due to a new feature. Snit 2.2 uses the new <b class="cmd">namespace path</b> command so that a type's code can call any command defined in the type's parent namespace without qualification or importation. For example, suppose you have a package called <b class="cmd">mypackage</b> which defines a number of commands including a type, <b class="cmd">::mypackage::mytype</b>. Thanks to <b class="cmd">namespace path</b>, the type's code can call any of the other commands defined in <b class="cmd">::mypackage::</b>.</p> <p>This is extremely convenient. However, it also means that commands defined in the parent namespace, <b class="cmd">::mypackage::</b> can block the type's access to identically named commands in the global namespace. This can lead to bugs. For example, Tcllib includes a type called <b class="cmd">::tie::std::file</b>. This type's code calls the standard <b class="cmd"><a href="../../../../index.html#key35">file</a></b> command. When run with Snit 2.2, the code broke-- the type's command, <b class="cmd">::tie::std::file</b>, is itself a command in the type's parent namespace, and so instead of calling the standard <b class="cmd"><a href="../../../../index.html#key35">file</a></b> command, the type found itself calling itself.</p></li> </ul> </div> <div id="subsection11" class="subsection"><h3><a name="subsection11">Are there other differences between Snit 1.x and Snit 2.2?</a></h3> <p>Yes.</p> <ul class="itemized"> <li><p>Method dispatch is considerably faster.</p></li> <li><p>Many error messages and stack traces are cleaner.</p></li> <li><p>The <b class="const">-simpledispatch</b> pragma is obsolete, and ignored if present. In Snit 1.x, <b class="const">-simpledispatch</b> substitutes a faster mechanism for method dispatch, at the cost of losing certain features. Snit 2.2 method dispatch is faster still in all cases, so <b class="const">-simpledispatch</b> is no longer needed.</p></li> <li><p>In Snit 2.2, a type's code (methods, type methods, etc.) can call commands from the type's parent namespace without qualifying or importing them, i.e., type <b class="cmd">::parentns::mytype</b>'s code can call <b class="cmd">::parentns::someproc</b> as just <b class="cmd">someproc</b>.</p> <p>This is extremely useful when a type is defined as part of a larger package, and shares a parent namespace with the rest of the package; |
︙ | ︙ | |||
606 607 608 609 610 611 612 | <div id="section4" class="section"><h2><a name="section4">OBJECTS</a></h2> <div id="subsection12" class="subsection"><h3><a name="subsection12">What is an object?</a></h3> <p>A full description of object-oriented programming is beyond the scope of this FAQ, obviously. In simple terms, an object is an instance of an abstract data type--a coherent bundle of code and data. There are many ways to represent objects in Tcl/Tk; the best known examples are the Tk widgets.</p> | | | | | | | | | | 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 | <div id="section4" class="section"><h2><a name="section4">OBJECTS</a></h2> <div id="subsection12" class="subsection"><h3><a name="subsection12">What is an object?</a></h3> <p>A full description of object-oriented programming is beyond the scope of this FAQ, obviously. In simple terms, an object is an instance of an abstract data type--a coherent bundle of code and data. There are many ways to represent objects in Tcl/Tk; the best known examples are the Tk widgets.</p> <p>A Tk widget is an object; it is represented by a Tcl command. The object's methods are subcommands of the Tcl command. The object's properties are options accessed using the <b class="method">configure</b> and <b class="method">cget</b> methods. Snit uses the same conventions as Tk widgets do.</p> </div> <div id="subsection13" class="subsection"><h3><a name="subsection13">What is an abstract data type?</a></h3> <p>In computer science terms, an abstract data type is a complex data structure along with a set of operations--a stack, a queue, a binary tree, etc--that is to say, in modern terms, an object. In systems that include some form of inheritance the word <i class="term"><a href="../../../../index.html#key234">class</a></i> is usually used instead of <i class="term">abstract data type</i>, but as Snit doesn't implement inheritance as it's ordinarily understood the older term seems more appropriate. Sometimes this is called <i class="term">object-based</i> programming as opposed to object-oriented programming. Note that you can easily create the effect of inheritance using <span class="sectref"><a href="#section14">COMPONENTS</a></span> and <span class="sectref"><a href="#section16">DELEGATION</a></span>.</p> <p>In Snit, as in Tk, a <i class="term"><a href="../../../../index.html#key123">type</a></i> is a command that creates instances -- objects -- which belong to the type. Most types define some number of <i class="term">options</i> which can be set at creation time, and usually can be changed later.</p> <p>Further, an <i class="term">instance</i> is also a Tcl command--a command that gives access to the operations which are defined for that abstract data type. Conventionally, the operations are defined as subcommands of the instance command. For example, to insert text into a Tk text widget, you use the text widget's <b class="method">insert</b> subcommand:</p> <pre class="example"> # Create a text widget and insert some text in it. text .mytext -width 80 -height 24 .mytext insert end "Howdy!" </pre> <p>In this example, <b class="cmd"><a href="../../../../index.html#key480">text</a></b> is the <i class="term"><a href="../../../../index.html#key123">type</a></i> command and <b class="cmd">.mytext</b> is the <i class="term">instance</i> command.</p> <p>In Snit, object subcommands are generally called <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>.</p> </div> <div id="subsection14" class="subsection"><h3><a name="subsection14">What kinds of abstract data types does Snit provide?</a></h3> <p>Snit allows you to define three kinds of abstract data type:</p> <ul class="itemized"> <li><p><b class="cmd">snit::type</b></p></li> <li><p><b class="cmd">snit::widget</b></p></li> |
︙ | ︙ | |||
665 666 667 668 669 670 671 | % </pre> <p>This definition defines a new command (<b class="cmd">::dog</b>, in this case) that can be used to define dog objects.</p> <p>An instance of a <b class="cmd">snit::type</b> can have <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>, <span class="sectref"><a href="#section6">INSTANCE VARIABLES</a></span>, <span class="sectref"><a href="#section7">OPTIONS</a></span>, and <span class="sectref"><a href="#section14">COMPONENTS</a></span>. The type itself can have <span class="sectref"><a href="#section9">TYPE METHODS</a></span>, | | | 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 | % </pre> <p>This definition defines a new command (<b class="cmd">::dog</b>, in this case) that can be used to define dog objects.</p> <p>An instance of a <b class="cmd">snit::type</b> can have <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>, <span class="sectref"><a href="#section6">INSTANCE VARIABLES</a></span>, <span class="sectref"><a href="#section7">OPTIONS</a></span>, and <span class="sectref"><a href="#section14">COMPONENTS</a></span>. The type itself can have <span class="sectref"><a href="#section9">TYPE METHODS</a></span>, <span class="sectref"><a href="#section8">TYPE VARIABLES</a></span>, <span class="sectref"><a href="#section15">TYPE COMPONENTS</a></span>, and <span class="sectref"><a href="#section10">PROCS</a></span>.</p> </div> <div id="subsection16" class="subsection"><h3><a name="subsection16">What is a snit::widget?, the short story</a></h3> <p>A <b class="cmd">snit::widget</b> is a Tk megawidget built using Snit; it is very similar to a <b class="cmd">snit::type</b>. See <span class="sectref"><a href="#section17">WIDGETS</a></span>.</p> </div> <div id="subsection17" class="subsection"><h3><a name="subsection17">What is a snit::widgetadaptor?, the short story</a></h3> |
︙ | ︙ | |||
691 692 693 694 695 696 697 | } ::dog % dog create spot ::spot % </pre> <p>In general, the <b class="method">create</b> method name can be omitted so long as | | | | 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 | } ::dog % dog create spot ::spot % </pre> <p>In general, the <b class="method">create</b> method name can be omitted so long as the instance name doesn't conflict with any defined <span class="sectref"><a href="#section9">TYPE METHODS</a></span>. (See <span class="sectref"><a href="#section15">TYPE COMPONENTS</a></span> for the special case in which this doesn't work.) So the following example is identical to the previous example:</p> <pre class="example">% snit::type dog { # .... } ::dog % dog spot ::spot % </pre> <p>This document generally uses the shorter form.</p> <p>If the <b class="cmd">dog</b> type defines <span class="sectref"><a href="#section7">OPTIONS</a></span>, these can usually be given defaults at creation time:</p> <pre class="example">% snit::type dog { option -breed mongrel option -color brown method bark {} { return "$self barks." } } ::dog |
︙ | ︙ | |||
784 785 786 787 788 789 790 | <p>All Snit objects (including <i class="term">widgets</i> and <i class="term">widgetadaptors</i>) can be renamed, though this flexibility has some consequences:</p> <ul class="itemized"> <li><p>In an instance method, the implicit argument <b class="variable">self</b> will always contain the object's current name, so instance methods can always call other instance methods using <b class="variable">$self</b>.</p></li> <li><p>If the object is renamed, however, then <b class="variable">$self</b>'s value will change. | | | | | | 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 | <p>All Snit objects (including <i class="term">widgets</i> and <i class="term">widgetadaptors</i>) can be renamed, though this flexibility has some consequences:</p> <ul class="itemized"> <li><p>In an instance method, the implicit argument <b class="variable">self</b> will always contain the object's current name, so instance methods can always call other instance methods using <b class="variable">$self</b>.</p></li> <li><p>If the object is renamed, however, then <b class="variable">$self</b>'s value will change. Therefore, don't use <b class="variable">$self</b> for anything that will break if <b class="variable">$self</b> changes. For example, don't pass a callback command to another object like this:</p> <pre class="example"> .btn configure -command [list $self ButtonPress] </pre> <p>You'll get an error if <b class="cmd">.btn</b> calls your command after your object is renamed.</p></li> <li><p>Instead, your object should define its callback command like this:</p> <pre class="example"> .btn configure -command [mymethod ButtonPress] </pre> <p>The <b class="cmd">mymethod</b> command returns code that will call the desired method safely; the caller of the callback can add additional arguments to the end of the command as usual.</p></li> <li><p>Every object has a private namespace; the name of this namespace is available in method bodies, etc., as the value of the implicit argument <b class="variable">selfns</b>. This value is constant for the life of the object. Use <b class="variable">$selfns</b> instead of <b class="variable">$self</b> if you need a unique token to identify the object.</p></li> <li><p>When a <b class="cmd">snit::widget</b>'s instance command is renamed, its Tk window name remains the same -- and is still extremely important. Consequently, the Tk window name is available in method bodies as the value of the implicit argument <b class="variable">win</b>. This value is constant for the life of the object. When creating child windows, it's best to use <b class="variable">$win.child</b> rather than <b class="variable">$self.child</b> as the name of the child window.</p></li> </ul> </div> <div id="subsection23" class="subsection"><h3><a name="subsection23">How do I destroy a Snit object?</a></h3> |
︙ | ︙ | |||
918 919 920 921 922 923 924 | ::spot chases cat. ::spot barks. % </pre> </div> <div id="subsection28" class="subsection"><h3><a name="subsection28">Are there any limitations on instance method names?</a></h3> <p>Not really, so long as you avoid the standard instance method names: <b class="method">configure</b>, <b class="method">configurelist</b>, <b class="method">cget</b>, | | | | | | 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 | ::spot chases cat. ::spot barks. % </pre> </div> <div id="subsection28" class="subsection"><h3><a name="subsection28">Are there any limitations on instance method names?</a></h3> <p>Not really, so long as you avoid the standard instance method names: <b class="method">configure</b>, <b class="method">configurelist</b>, <b class="method">cget</b>, <b class="method">destroy</b>, and <b class="method">info</b>. Also, method names consisting of multiple words define hierarchical methods.</p> </div> <div id="subsection29" class="subsection"><h3><a name="subsection29">What is a hierarchical method?</a></h3> <p>An object's methods are subcommands of the object's instance command. Hierarchical methods allow an object's methods to have subcommands of their own; and these can in turn have subcommands, and so on. This allows the programmer to define a tree-shaped command structure, such as is used by many of the Tk widgets--the subcommands of the Tk <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget's <b class="cmd">tag</b> method are hierarchical methods.</p> </div> <div id="subsection30" class="subsection"><h3><a name="subsection30">How do I define a hierarchical method?</a></h3> <p>Define methods whose names consist of multiple words. These words define the hierarchy implicitly. For example, the following code defines a <b class="cmd">tag</b> method with subcommands <b class="cmd">cget</b> and <b class="cmd">configure</b>:</p> <pre class="example">snit::widget mytext { method {tag configure} {tag args} { ... } method {tag cget} {tag option} {...} } </pre> <p>Note that there is no explicit definition for the <b class="cmd">tag</b> method; |
︙ | ︙ | |||
1059 1060 1061 1062 1063 1064 1065 | </pre> <p>The above example reveals how Snit names an instance's private namespace; however, you should not write code that depends on the specific naming convention, as it might change in future releases.</p> </div> <div id="subsection38" class="subsection"><h3><a name="subsection38">What is $win?</a></h3> <p>The implicit argument <b class="variable">win</b> is defined for all Snit methods, | | | | | 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 | </pre> <p>The above example reveals how Snit names an instance's private namespace; however, you should not write code that depends on the specific naming convention, as it might change in future releases.</p> </div> <div id="subsection38" class="subsection"><h3><a name="subsection38">What is $win?</a></h3> <p>The implicit argument <b class="variable">win</b> is defined for all Snit methods, though it really makes sense only for those of <span class="sectref"><a href="#section17">WIDGETS</a></span> and <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>. <b class="variable">$win</b> is simply the original name of the object, whether it's been renamed or not. For widgets and widgetadaptors, it is also therefore the name of a Tk window.</p> <p>When a <b class="cmd">snit::widgetadaptor</b> is used to modify the interface of a widget or megawidget, it must rename the widget's original command and replace it with its own.</p> <p>Thus, using <b class="variable">win</b> whenever the Tk window name is called for means that a <b class="cmd">snit::widget</b> or <b class="cmd">snit::widgetadaptor</b> can be adapted by a <b class="cmd">snit::widgetadaptor</b>. See <span class="sectref"><a href="#section17">WIDGETS</a></span> for more information.</p> </div> <div id="subsection39" class="subsection"><h3><a name="subsection39">How do I pass an instance method as a callback?</a></h3> <p>It depends on the context.</p> <p>Suppose in my application I have a <b class="cmd">dog</b> object named <b class="cmd">fido</b>, and I want <b class="cmd">fido</b> to bark when a Tk button called <b class="cmd">.bark</b> is pressed. In this case, I create the callback command in the usual way, using <b class="cmd"><a href="../../../../index.html#key280">list</a></b>:</p> <pre class="example"> button .bark -text "Bark!" -command [list fido bark] </pre> <p>In typical Tcl style, we use a callback to hook two independent components together. But suppose that the <b class="cmd">dog</b> object has a graphical interface and owns the button itself? In this case, the <b class="cmd">dog</b> must pass one of its own instance methods to the button it owns. The obvious thing to do is this:</p> |
︙ | ︙ | |||
1120 1121 1122 1123 1124 1125 1126 | #... } } ::dog % </pre> <p>The command <b class="cmd">mymethod</b> takes any number of arguments, and can be | | | | | | 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 | #... } } ::dog % </pre> <p>The command <b class="cmd">mymethod</b> takes any number of arguments, and can be used like <b class="cmd"><a href="../../../../index.html#key280">list</a></b> to build up a callback command; the only difference is that <b class="cmd">mymethod</b> returns a form of the command that won't change even if the instance's name changes.</p> <p>On the other hand, you might prefer to allow a widgetadaptor to override a method such that your renamed widget will call the widgetadaptor's method instead of its own. In this case, using <b class="cmd">[list $self bark]</b> will do what you want...but this is a technique which should be used only in carefully controlled circumstances.</p> </div> <div id="subsection40" class="subsection"><h3><a name="subsection40">How do I delegate instance methods to a component?</a></h3> <p>See <span class="sectref"><a href="#section16">DELEGATION</a></span>.</p> </div> |
︙ | ︙ | |||
1164 1165 1166 1167 1168 1169 1170 | formal "Good Evening" casual "Howdy!" } } </pre> </div> <div id="subsection44" class="subsection"><h3><a name="subsection44">What happens if I don't initialize an instance variable?</a></h3> | | | | | 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 | formal "Good Evening" casual "Howdy!" } } </pre> </div> <div id="subsection44" class="subsection"><h3><a name="subsection44">What happens if I don't initialize an instance variable?</a></h3> <p>Variables do not really exist until they are given values. If you do not initialize a variable when you define it, then you must be sure to assign a value to it (in the constructor, say, or in some method) before you reference it.</p> </div> <div id="subsection45" class="subsection"><h3><a name="subsection45">Are there any limitations on instance variable names?</a></h3> <p>Just a few.</p> <p>First, every Snit object has a built-in instance variable called <b class="variable">options</b>, which should never be redefined.</p> <p>Second, all names beginning with "Snit_" are reserved for use by Snit internal code.</p> <p>Third, instance variable names containing the namespace delimiter (<b class="const">::</b>) are likely to cause great confusion.</p> </div> <div id="subsection46" class="subsection"><h3><a name="subsection46">Do I need to declare my instance variables in my methods?</a></h3> <p>No. Once you've defined an instance variable in the type definition, it can be used in any instance code (instance methods, the constructor, and the destructor) without declaration. This differs from normal Tcl practice, in which all non-local variables in a proc need to be declared.</p> <p>There is a speed penalty to having all instance variables implicitly available in all instance code. Even though your code need not declare the variables explicitly, Snit must still declare them, and that takes time. If you have ten instance variables, a method that uses none of them must still pay the declaration penalty for all ten. In most cases, the additional runtime cost is negligible. If extreme cases, you might wish to avoid it; there are two methods for doing so.</p> <p>The first is to define a single instance variable, an array, and store all of your instance data in the array. This way, you're only paying the declaration penalty for one variable--and you probably need the variable most of the time anyway. This method breaks down if your |
︙ | ︙ | |||
1255 1256 1257 1258 1259 1260 1261 | <div id="section7" class="section"><h2><a name="section7">OPTIONS</a></h2> <div id="subsection49" class="subsection"><h3><a name="subsection49">What is an option?</a></h3> <p>A type's options are the equivalent of what other object-oriented languages would call public member variables or properties: they are data values which can be retrieved and (usually) set by the clients of an object.</p> <p>Snit's implementation of options follows the Tk model fairly exactly, | | | | | 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 | <div id="section7" class="section"><h2><a name="section7">OPTIONS</a></h2> <div id="subsection49" class="subsection"><h3><a name="subsection49">What is an option?</a></h3> <p>A type's options are the equivalent of what other object-oriented languages would call public member variables or properties: they are data values which can be retrieved and (usually) set by the clients of an object.</p> <p>Snit's implementation of options follows the Tk model fairly exactly, except that <b class="cmd">snit::type</b> objects usually don't interact with <span class="sectref"><a href="#section19">THE TK OPTION DATABASE</a></span>; <b class="cmd">snit::widget</b> and <b class="cmd">snit::widgetadaptor</b> objects, on the other hand, always do.</p> </div> <div id="subsection50" class="subsection"><h3><a name="subsection50">How do I define an option?</a></h3> <p>Options are defined in the type definition using the <b class="cmd">option</b> statement. Consider the following type, to be used in an application that manages a list of dogs for a pet store:</p> <pre class="example">snit::type dog { option -breed -default mongrel option -color -default brown option -akc -default 0 option -shots -default 0 } </pre> <p>According to this, a dog has four notable properties: a breed, a color, a flag that says whether it's pedigreed with the American Kennel Club, and another flag that says whether it has had its shots. The default dog, evidently, is a brown mutt.</p> <p>There are a number of options you can specify when defining an option; if <b class="const">-default</b> is the only one, you can omit the word <b class="const">-default</b> as follows:</p> <pre class="example">snit::type dog { option -breed mongrel option -color brown option -akc 0 option -shots 0 } |
︙ | ︙ | |||
1318 1319 1320 1321 1322 1323 1324 | mongrel % </pre> </div> <div id="subsection53" class="subsection"><h3><a name="subsection53">How can a client set options after object creation?</a></h3> <p>Any number of options may be set at one time using the <b class="method">configure</b> instance method. Suppose that closer inspection | | | | 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 | mongrel % </pre> </div> <div id="subsection53" class="subsection"><h3><a name="subsection53">How can a client set options after object creation?</a></h3> <p>Any number of options may be set at one time using the <b class="method">configure</b> instance method. Suppose that closer inspection shows that ::fido is not a brown mongrel, but rather a rare Arctic Boar Hound of a lovely dun color:</p> <pre class="example">% fido configure -color dun -breed "Arctic Boar Hound" % fido cget -color dun % fido cget -breed Arctic Boar Hound </pre> <p>Alternatively, the <b class="method">configurelist</b> method takes a list of options and values; occasionally this is more convenient:</p> <pre class="example">% set features [list -color dun -breed "Arctic Boar Hound"] -color dun -breed {Arctic Boar Hound} % fido configurelist $features % fido cget -color dun % fido cget -breed Arctic Boar Hound % </pre> <p>In Tcl 8.5, the <b class="cmd">*</b> keyword can be used with <b class="method">configure</b> in this case:</p> <pre class="example">% set features [list -color dun -breed "Arctic Boar Hound"] -color dun -breed {Arctic Boar Hound} % fido configure {*}$features % fido cget -color dun % fido cget -breed |
︙ | ︙ | |||
1382 1383 1384 1385 1386 1387 1388 | follows:</p> <pre class="example"> method gainWeight {} { incr options(-weight) } </pre> <p>As you can see, using the <b class="variable">options</b> variable involves considerably | | | | | 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 | follows:</p> <pre class="example"> method gainWeight {} { incr options(-weight) } </pre> <p>As you can see, using the <b class="variable">options</b> variable involves considerably less typing and is the usual way to do it. But if you use <b class="const">-configuremethod</b> or <b class="const">-cgetmethod</b> (described in the following answers), you might wish to use the <b class="method">configure</b> and <b class="method">cget</b> methods anyway, just so that any special processing you've implemented is sure to get done. Also, if the option is delegated to a component then <b class="method">configure</b> and <b class="method">cget</b> are the only way to access it without accessing the component directly. See <span class="sectref"><a href="#section16">DELEGATION</a></span> for more information.</p> </div> <div id="subsection55" class="subsection"><h3><a name="subsection55">How can I make an option read-only?</a></h3> <p>Define the option with <b class="const">-readonly yes</b>.</p> <p>Suppose you've got an option that determines how instances of your type are constructed; it must be set at creation time, after which it's constant. For example, a dog never changes its |
︙ | ︙ | |||
1417 1418 1419 1420 1421 1422 1423 | </pre> </div> <div id="subsection56" class="subsection"><h3><a name="subsection56">How can I catch accesses to an option's value?</a></h3> <p>Define a <b class="const">-cgetmethod</b> for the option.</p> </div> <div id="subsection57" class="subsection"><h3><a name="subsection57">What is a -cgetmethod?</a></h3> <p>A <b class="const">-cgetmethod</b> is a method that's called whenever the related | | | | 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 | </pre> </div> <div id="subsection56" class="subsection"><h3><a name="subsection56">How can I catch accesses to an option's value?</a></h3> <p>Define a <b class="const">-cgetmethod</b> for the option.</p> </div> <div id="subsection57" class="subsection"><h3><a name="subsection57">What is a -cgetmethod?</a></h3> <p>A <b class="const">-cgetmethod</b> is a method that's called whenever the related option's value is queried via the <b class="method">cget</b> instance method. The handler can compute the option's value, retrieve it from a database, or do anything else you'd like it to do.</p> <p>Here's what the default behavior would look like if written using a <b class="const">-cgetmethod</b>:</p> <pre class="example">snit::type dog { option -color -default brown -cgetmethod GetOption method GetOption {option} { return $options($option) } } </pre> <p>Any instance method can be used, provided that it takes one argument, the name of the option whose value is to be retrieved.</p> </div> <div id="subsection58" class="subsection"><h3><a name="subsection58">How can I catch changes to an option's value?</a></h3> <p>Define a <b class="const">-configuremethod</b> for the option.</p> </div> <div id="subsection59" class="subsection"><h3><a name="subsection59">What is a -configuremethod?</a></h3> <p>A <b class="const">-configuremethod</b> is a method that's called whenever the related option is given a new value via the <b class="method">configure</b> or <b class="method">configurelist</b> instance methods. The method can pass the value on to some other object, store it in a database, or do anything else you'd like it to do.</p> <p>Here's what the default configuration behavior would look like if written using a <b class="const">-configuremethod</b>:</p> <pre class="example">snit::type dog { option -color -default brown -configuremethod SetOption method SetOption {option value} { |
︙ | ︙ | |||
1511 1512 1513 1514 1515 1516 1517 | } </pre> <p>Every object of type <b class="cmd">mytype</b> now has access to a single variable called <b class="variable">greeting</b>.</p> </div> <div id="subsection64" class="subsection"><h3><a name="subsection64">How is an array-valued type variable defined?</a></h3> <p>Array-valued type variables are also defined using the | | | | | 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 | } </pre> <p>Every object of type <b class="cmd">mytype</b> now has access to a single variable called <b class="variable">greeting</b>.</p> </div> <div id="subsection64" class="subsection"><h3><a name="subsection64">How is an array-valued type variable defined?</a></h3> <p>Array-valued type variables are also defined using the <b class="cmd">typevariable</b> command; to initialize them, include the <b class="const">-array</b> option:</p> <pre class="example">snit::type mytype { # Define typearray variable "greetings" typevariable greetings -array { formal "Good Evening" casual "Howdy!" } } </pre> </div> <div id="subsection65" class="subsection"><h3><a name="subsection65">What happens if I don't initialize a type variable?</a></h3> <p>Variables do not really exist until they are given values. If you do not initialize a variable when you define it, then you must be sure to assign a value to it (in the type constructor, say) before you reference it.</p> </div> <div id="subsection66" class="subsection"><h3><a name="subsection66">Are there any limitations on type variable names?</a></h3> <p>Type variable names have the same restrictions as the names of <span class="sectref"><a href="#section6">INSTANCE VARIABLES</a></span> do.</p> </div> <div id="subsection67" class="subsection"><h3><a name="subsection67">Do I need to declare my type variables in my methods?</a></h3> <p>No. Once you've defined a type variable in the type definition, it can be used in <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> or <span class="sectref"><a href="#section9">TYPE METHODS</a></span> without declaration. This differs from normal Tcl practice, in which all non-local variables in a proc need to be declared.</p> |
︙ | ︙ | |||
1664 1665 1666 1667 1668 1669 1670 | use the type name, or, if the callback is registered from within a type method, <b class="variable">type</b>. For example, suppose we want to print a list of pedigreed dogs when a Tk button is pushed:</p> <pre class="example"> button .btn -text "Pedigrees" -command [list dog printPedigrees] pack .btn </pre> | | | 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 | use the type name, or, if the callback is registered from within a type method, <b class="variable">type</b>. For example, suppose we want to print a list of pedigreed dogs when a Tk button is pushed:</p> <pre class="example"> button .btn -text "Pedigrees" -command [list dog printPedigrees] pack .btn </pre> <p>Alternatively, from a method or type method you can use the <b class="cmd">mytypemethod</b> command, just as you would use <b class="cmd">mymethod</b> to define a callback command for <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>.</p> </div> <div id="subsection78" class="subsection"><h3><a name="subsection78">Can type methods be hierarchical?</a></h3> <p>Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> for more.</p> |
︙ | ︙ | |||
1695 1696 1697 1698 1699 1700 1701 | } </pre> </div> <div id="subsection81" class="subsection"><h3><a name="subsection81">Are there any limitations on proc names?</a></h3> <p>Any name can be used, so long as it does not begin with <b class="const">Snit_</b>; names beginning with <b class="const">Snit_</b> are reserved for Snit's own use. However, the wise programmer will avoid <b class="cmd"><a href="../../../../index.html#key570">proc</a></b> names (<b class="cmd"><a href="../../../../index.html#key279">set</a></b>, | | | | 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 | } </pre> </div> <div id="subsection81" class="subsection"><h3><a name="subsection81">Are there any limitations on proc names?</a></h3> <p>Any name can be used, so long as it does not begin with <b class="const">Snit_</b>; names beginning with <b class="const">Snit_</b> are reserved for Snit's own use. However, the wise programmer will avoid <b class="cmd"><a href="../../../../index.html#key570">proc</a></b> names (<b class="cmd"><a href="../../../../index.html#key279">set</a></b>, <b class="cmd"><a href="../../../../index.html#key280">list</a></b>, <b class="cmd">if</b>, etc.) that would shadow standard Tcl command names.</p> <p><b class="cmd"><a href="../../../../index.html#key570">proc</a></b> names, being private, should begin with a capital letter according to convention; however, as there are typically no public <b class="cmd"><a href="../../../../index.html#key570">proc</a></b>s in the type's namespace it doesn't matter much either way.</p> </div> <div id="subsection82" class="subsection"><h3><a name="subsection82">How does a method call a proc?</a></h3> <p>Just like it calls any Tcl command. For example,</p> <pre class="example">snit::type mytype { # Pops and returns the first item from the list stored in the # listvar, updating the listvar proc pop {listvar} { ... } variable requestQueue {} # Get one request from the queue and process it. method processRequest {} { set req [pop requestQueue] } } </pre> </div> <div id="subsection83" class="subsection"><h3><a name="subsection83">How can I pass a proc to another object as a callback?</a></h3> <p>The <b class="cmd">myproc</b> command returns a callback command for the <b class="cmd"><a href="../../../../index.html#key570">proc</a></b>, just as <b class="cmd">mymethod</b> does for a method.</p> </div> </div> <div id="section11" class="section"><h2><a name="section11">TYPE CONSTRUCTORS</a></h2> <div id="subsection84" class="subsection"><h3><a name="subsection84">What is a type constructor?</a></h3> <p>A type constructor is a body of code that initializes the type as a whole, rather like a C++ static initializer. The body of a type |
︙ | ︙ | |||
1756 1757 1758 1759 1760 1761 1762 | other objects, updating type and instance variables, and so forth.</p> <p>The constructor's return value is ignored (unless it's an error, of course).</p> </div> <div id="subsection87" class="subsection"><h3><a name="subsection87">How do I define a constructor?</a></h3> <p>A constructor is defined by using the <b class="cmd">constructor</b> statement in the type definition. Suppose that it's desired to keep a list of all | | | 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 | other objects, updating type and instance variables, and so forth.</p> <p>The constructor's return value is ignored (unless it's an error, of course).</p> </div> <div id="subsection87" class="subsection"><h3><a name="subsection87">How do I define a constructor?</a></h3> <p>A constructor is defined by using the <b class="cmd">constructor</b> statement in the type definition. Suppose that it's desired to keep a list of all pedigreed dogs. The list can be maintained in a type variable and retrieved by a type method. Whenever a dog is created, it can add itself to the list--provided that it's registered with the American Kennel Club.</p> <pre class="example">% snit::type dog { option -akc 0 typevariable akcList {} constructor {args} { |
︙ | ︙ | |||
1822 1823 1824 1825 1826 1827 1828 | % dog spot dalmatian -color spotted -akc 1 ::spot % spot breed dalmatian </pre> <p>The drawback is that this syntax is non-standard, and may limit the compatibility of your new type with other people's code. | | | | | | 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 | % dog spot dalmatian -color spotted -akc 1 ::spot % spot breed dalmatian </pre> <p>The drawback is that this syntax is non-standard, and may limit the compatibility of your new type with other people's code. For example, Snit assumes that it can create <span class="sectref"><a href="#section14">COMPONENTS</a></span> using the standard creation syntax.</p> </div> <div id="subsection90" class="subsection"><h3><a name="subsection90">Are there any limitations on constructor arguments?</a></h3> <p>Constructor argument lists are subject to the same limitations as those on instance method argument lists. It has the same implicit arguments, and can contain default values and the <b class="variable">args</b> argument.</p> </div> <div id="subsection91" class="subsection"><h3><a name="subsection91">Is there anything special about writing the constructor?</a></h3> <p>Yes. Writing the constructor can be tricky if you're delegating options to components, and there are specific issues relating to <b class="cmd">snit::widget</b>s and <b class="cmd">snit::widgetadaptor</b>s. See <span class="sectref"><a href="#section16">DELEGATION</a></span>, <span class="sectref"><a href="#section17">WIDGETS</a></span>, <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>, and <span class="sectref"><a href="#section19">THE TK OPTION DATABASE</a></span>.</p> </div> </div> <div id="section13" class="section"><h2><a name="section13">DESTRUCTORS</a></h2> <div id="subsection92" class="subsection"><h3><a name="subsection92">What is a destructor?</a></h3> <p>A destructor is a special kind of method that's called when an object is destroyed. It's responsible for doing any necessary clean-up when |
︙ | ︙ | |||
1884 1885 1886 1887 1888 1889 1890 | <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>: <b class="variable">type</b>, <b class="variable">selfns</b>, <b class="variable">win</b>, and <b class="variable">self</b>.</p> </div> <div id="subsection96" class="subsection"><h3><a name="subsection96">Must components be destroyed explicitly?</a></h3> <p>Yes and no.</p> <p>Any Tk widgets created by a <b class="cmd">snit::widget</b> or <b class="cmd">snit::widgetadaptor</b> will be destroyed automatically by Tk | | | | | | 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 | <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span>: <b class="variable">type</b>, <b class="variable">selfns</b>, <b class="variable">win</b>, and <b class="variable">self</b>.</p> </div> <div id="subsection96" class="subsection"><h3><a name="subsection96">Must components be destroyed explicitly?</a></h3> <p>Yes and no.</p> <p>Any Tk widgets created by a <b class="cmd">snit::widget</b> or <b class="cmd">snit::widgetadaptor</b> will be destroyed automatically by Tk when the megawidget is destroyed, in keeping with normal Tk behavior (destroying a parent widget destroys the whole tree).</p> <p>Components of normal <b class="cmd">snit::types</b>, on the other hand, are never destroyed automatically, nor are non-widget components of Snit megawidgets. If your object creates them in its constructor, then it should generally destroy them in its destructor.</p> </div> <div id="subsection97" class="subsection"><h3><a name="subsection97">Is there any special about writing a destructor?</a></h3> <p>Yes. If an object's constructor throws an error, the object's destructor will be called to clean up; this means that the object might not be completely constructed when the destructor is called. This can cause the destructor to throw its own error; the result |
︙ | ︙ | |||
1922 1923 1924 1925 1926 1927 1928 | </div> <div id="section14" class="section"><h2><a name="section14">COMPONENTS</a></h2> <div id="subsection98" class="subsection"><h3><a name="subsection98">What is a component?</a></h3> <p>Often an object will create and manage a number of other objects. A Snit megawidget, for example, will often create a number of Tk widgets. These objects are part of the main object; it is composed of them, so they are called components of the object.</p> | | | 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 | </div> <div id="section14" class="section"><h2><a name="section14">COMPONENTS</a></h2> <div id="subsection98" class="subsection"><h3><a name="subsection98">What is a component?</a></h3> <p>Often an object will create and manage a number of other objects. A Snit megawidget, for example, will often create a number of Tk widgets. These objects are part of the main object; it is composed of them, so they are called components of the object.</p> <p>But Snit also has a more precise meaning for <span class="sectref"><a href="#section14">COMPONENT</a></span>. The components of a Snit object are those objects to which methods or options can be delegated. (See <span class="sectref"><a href="#section16">DELEGATION</a></span> for more information about delegation.)</p> </div> <div id="subsection99" class="subsection"><h3><a name="subsection99">How do I declare a component?</a></h3> <p>First, you must decide what role a component plays within your object, and give the role a name. Then, you declare the component using its |
︙ | ︙ | |||
1960 1961 1962 1963 1964 1965 1966 | <p>A component has two names. The first name is that of the component variable; this represents the role the component object plays within the Snit object. This is the component name proper, and is the name used to refer to the component within Snit code. The second name is the name of the actual component object created by the Snit object's constructor. This second name is always a Tcl command name, and is referred to as the component's object name.</p> | | | 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 | <p>A component has two names. The first name is that of the component variable; this represents the role the component object plays within the Snit object. This is the component name proper, and is the name used to refer to the component within Snit code. The second name is the name of the actual component object created by the Snit object's constructor. This second name is always a Tcl command name, and is referred to as the component's object name.</p> <p>In the example in the previous question, the component name is <b class="const">mytail</b>; the <b class="const">mytail</b> component's object name is chosen automatically by Snit since <b class="const">%AUTO%</b> was used when the component object was created.</p> </div> <div id="subsection101" class="subsection"><h3><a name="subsection101">Are there any limitations on component names?</a></h3> <p>Yes. <b class="cmd">snit::widget</b> and <b class="cmd">snit::widgetadaptor</b> objects have a special component called the <b class="variable">hull</b> component; thus, the name <b class="variable">hull</b> |
︙ | ︙ | |||
2030 2031 2032 2033 2034 2035 2036 | install mytail using tail %AUTO% -partof $self $self configurelist $args } } </pre> <p>In a <b class="cmd">snit::type</b>'s code, the <b class="cmd">install</b> command shown above is equivalent to the <b class="const">set mytail</b> command | | | | 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 | install mytail using tail %AUTO% -partof $self $self configurelist $args } } </pre> <p>In a <b class="cmd">snit::type</b>'s code, the <b class="cmd">install</b> command shown above is equivalent to the <b class="const">set mytail</b> command that's commented out. In a <b class="cmd">snit::widget</b>'s or <b class="cmd">snit::widgetadaptor</b>'s, code, however, the <b class="cmd">install</b> command also queries <span class="sectref"><a href="#section19">THE TK OPTION DATABASE</a></span> and initializes the new component's options accordingly. For consistency, it's a good idea to get in the habit of using <b class="cmd">install</b> for all owned components.</p> </div> <div id="subsection104" class="subsection"><h3><a name="subsection104">Must owned components be created in the constructor?</a></h3> <p>No, not necessarily. In fact, there's no reason why an object can't destroy and recreate a component multiple times over its own lifetime.</p> </div> <div id="subsection105" class="subsection"><h3><a name="subsection105">Are there any limitations on component object names?</a></h3> <p>Yes.</p> <p>Component objects which are Tk widgets or megawidgets must have valid Tk window names.</p> <p>Component objects which are not widgets or megawidgets must have fully-qualified command names, i.e., names which include the full namespace of the command. Note that Snit always creates objects with fully qualified names.</p> <p>Next, the object names of components and owned by your object must be unique. This is no problem for widget components, since widget names are always unique; but consider the following code:</p> <pre class="example">snit::type tail { ... } snit::type dog { delegate method wag to mytail constructor {} { install mytail using tail mytail |
︙ | ︙ | |||
2108 2109 2110 2111 2112 2113 2114 | <p>However, there are times when it's appropriate, not to mention simpler, just to make the entire component part of your type's public interface.</p> </div> <div id="subsection108" class="subsection"><h3><a name="subsection108">How do I expose a component's object command?</a></h3> <p>When you declare the component, specify the <b class="cmd">component</b> statement's <b class="const">-public</b> option. The value of this option is the | | | | 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 | <p>However, there are times when it's appropriate, not to mention simpler, just to make the entire component part of your type's public interface.</p> </div> <div id="subsection108" class="subsection"><h3><a name="subsection108">How do I expose a component's object command?</a></h3> <p>When you declare the component, specify the <b class="cmd">component</b> statement's <b class="const">-public</b> option. The value of this option is the name of a method which will be delegated to your component's object command.</p> <p>For example, supposed you've written a combobox megawidget which owns a listbox widget, and you want to make the listbox's entire interface public. You can do it like this:</p> <pre class="example">snit::widget combobox { component listbox -public listbox constructor {args} { install listbox using listbox $win.listbox .... } } |
︙ | ︙ | |||
2134 2135 2136 2137 2138 2139 2140 | </div> </div> <div id="section15" class="section"><h2><a name="section15">TYPE COMPONENTS</a></h2> <div id="subsection109" class="subsection"><h3><a name="subsection109">What is a type component?</a></h3> <p>A type component is a component that belongs to the type itself instead of to a particular instance of the type. The relationship between components and type components is the same as the | | | 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 | </div> </div> <div id="section15" class="section"><h2><a name="section15">TYPE COMPONENTS</a></h2> <div id="subsection109" class="subsection"><h3><a name="subsection109">What is a type component?</a></h3> <p>A type component is a component that belongs to the type itself instead of to a particular instance of the type. The relationship between components and type components is the same as the relationship between <span class="sectref"><a href="#section6">INSTANCE VARIABLES</a></span> and <span class="sectref"><a href="#section8">TYPE VARIABLES</a></span>. Both <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> and <span class="sectref"><a href="#section9">TYPE METHODS</a></span> can be delegated to type components.</p> <p>Once you understand <span class="sectref"><a href="#section14">COMPONENTS</a></span> and <span class="sectref"><a href="#section16">DELEGATION</a></span>, type components are just more of the same.</p> </div> <div id="subsection110" class="subsection"><h3><a name="subsection110">How do I declare a type component?</a></h3> <p>Declare a type component using the <b class="cmd">typecomponent</b> statement. It |
︙ | ︙ | |||
2156 2157 2158 2159 2160 2161 2162 | typecomponent vet # ... } </pre> </div> <div id="subsection111" class="subsection"><h3><a name="subsection111">How do I install a type component?</a></h3> <p>Just use the <b class="cmd"><a href="../../../../index.html#key279">set</a></b> command to assign the component's object | | | < | | | 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 | typecomponent vet # ... } </pre> </div> <div id="subsection111" class="subsection"><h3><a name="subsection111">How do I install a type component?</a></h3> <p>Just use the <b class="cmd"><a href="../../../../index.html#key279">set</a></b> command to assign the component's object command to the type component. Because types (even <b class="cmd">snit::widget</b> types) are not widgets, and do not have options anyway, the extra features of the <b class="cmd">install</b> command are not needed.</p> <p>You'll usually install type components in the type constructor, as shown here:</p> <pre class="example">snit::type veterinarian { ... } snit::type dog { typecomponent vet typeconstructor { set vet [veterinarian %AUTO%] } } </pre> </div> <div id="subsection112" class="subsection"><h3><a name="subsection112">Are there any limitations on type component names?</a></h3> <p>Yes, the same as on <span class="sectref"><a href="#section6">INSTANCE VARIABLES</a></span>, <span class="sectref"><a href="#section8">TYPE VARIABLES</a></span>, and normal <span class="sectref"><a href="#section14">COMPONENTS</a></span>.</p> </div> </div> <div id="section16" class="section"><h2><a name="section16">DELEGATION</a></h2> <div id="subsection113" class="subsection"><h3><a name="subsection113">What is delegation?</a></h3> <p>Delegation, simply put, is when you pass a task you've been given to one of your assistants. (You do have assistants, don't you?) Snit objects can do the same thing. The following example shows one way in which the <b class="cmd">dog</b> object can delegate its <b class="cmd">wag</b> method and its <b class="option">-taillength</b> option to its <b class="cmd">tail</b> component.</p> <pre class="example">snit::type dog { variable mytail option -taillength -configuremethod SetTailOption -cgetmethod GetTailOption method SetTailOption {option value} { $mytail configure $option $value } method GetTailOption {option} { $mytail cget $option } method wag {} { $mytail wag } constructor {args} { install mytail using tail %AUTO% -partof $self $self configurelist $args } } </pre> <p>This is the hard way to do it, by it demonstrates what delegation is all about. See the following answers for the easy way to do it.</p> <p>Note that the constructor calls the <b class="method">configurelist</b> method <b class="cmd"><a href="../../../../index.html#key391">after</a></b> it creates its <b class="cmd">tail</b>; otherwise, if <b class="option">-taillength</b> appeared in the list of <b class="variable">args</b> we'd get an error.</p> </div> <div id="subsection114" class="subsection"><h3><a name="subsection114">How can I delegate a method to a component object?</a></h3> <p>Delegation occurs frequently enough that Snit makes it easy. Any method can be delegated to any component or type component by placing a single <b class="cmd">delegate</b> statement in the type definition. (See <span class="sectref"><a href="#section14">COMPONENTS</a></span> and <span class="sectref"><a href="#section15">TYPE COMPONENTS</a></span> for more information about component names.)</p> <p>For example, here's a much better way to delegate the <b class="cmd">dog</b> object's <b class="cmd">wag</b> method:</p> <pre class="example">% snit::type dog { delegate method wag to mytail |
︙ | ︙ | |||
2277 2278 2279 2280 2281 2282 2283 | } # ... } </pre> </div> <div id="subsection117" class="subsection"><h3><a name="subsection117">Can I delegate a method to something other than an object?</a></h3> <p>Normal method delegation assumes that you're delegating a method (a | | | | | | | | | | | | 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 | } # ... } </pre> </div> <div id="subsection117" class="subsection"><h3><a name="subsection117">Can I delegate a method to something other than an object?</a></h3> <p>Normal method delegation assumes that you're delegating a method (a subcommand of an object command) to a method of another object (a subcommand of a different object command). But not all Tcl objects follow Tk conventions, and not everything you'd to which you'd like to delegate a method is necessary an object. Consequently, Snit makes it easy to delegate a method to pretty much anything you like using the <b class="cmd">delegate</b> statement's <b class="const">using</b> clause.</p> <p>Suppose your dog simulation stores dogs in a database, each dog as a single record. The database API you're using provides a number of commands to manage records; each takes the record ID (a string you choose) as its first argument. For example, <b class="cmd">saverec</b> saves a record. If you let the record ID be the name of the dog object, you can delegate the dog's <b class="method">save</b> method to the <b class="cmd">saverec</b> command as follows:</p> <pre class="example">snit::type dog { delegate method save using {saverec %s} } </pre> <p>The <b class="const">%s</b> is replaced with the instance name when the <b class="method">save</b> method is called; any additional arguments are the appended to the resulting command.</p> <p>The <b class="const">using</b> clause understands a number of other %-conversions; in addition to the instance name, you can substitute in the method name (<b class="const">%m</b>), the type name (<b class="const">%t</b>), the instance namespace (<b class="const">%n</b>), the Tk window name (<b class="const">%w</b>), and, if a component or typecomponent name was given in the <b class="cmd">delegate</b> statement, the component's object command (<b class="const">%c</b>).</p> </div> <div id="subsection118" class="subsection"><h3><a name="subsection118">How can I delegate a method to a type component object?</a></h3> <p>Just exactly as you would to a component object. The <b class="cmd">delegate method</b> statement accepts both component and type component names in its <b class="const">to</b> clause.</p> </div> <div id="subsection119" class="subsection"><h3><a name="subsection119">How can I delegate a type method to a type component object?</a></h3> <p>Use the <b class="cmd">delegate typemethod</b> statement. It works like <b class="cmd">delegate method</b>, with these differences: first, it defines a type method instead of an instance method; second, the <b class="const">using</b> clause ignores the <b class="const">%s</b>, <b class="const">%n</b>, and <b class="const">%w</b> %-conversions.</p> <p>Naturally, you can't delegate a type method to an instance component...Snit wouldn't know which instance should receive it.</p> </div> <div id="subsection120" class="subsection"><h3><a name="subsection120">How can I delegate an option to a component object?</a></h3> <p>The first question in this section (see <span class="sectref"><a href="#section16">DELEGATION</a></span>) shows one way to delegate an option to a component; but this pattern occurs |
︙ | ︙ | |||
2423 2424 2425 2426 2427 2428 2429 | $self configurelist $args } # ... } </pre> <p>Dogs have four legs, so we specify that explicitly when we create the <b class="variable">animal</b> component, and explicitly exclude <b class="option">-numlegs</b> from the | | | 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 | $self configurelist $args } # ... } </pre> <p>Dogs have four legs, so we specify that explicitly when we create the <b class="variable">animal</b> component, and explicitly exclude <b class="option">-numlegs</b> from the set of delegated options. Similarly, dogs can neither <b class="method">fly</b> nor <b class="method">climb</b>, so we exclude those <b class="cmd">animal</b> methods as shown.</p> </div> <div id="subsection124" class="subsection"><h3><a name="subsection124">Can a hierarchical method be delegated?</a></h3> <p>Yes; just specify multiple words in the delegated method's name:</p> <pre class="example">snit::type tail { method wag {} {return "Wag, wag"} |
︙ | ︙ | |||
2502 2503 2504 2505 2506 2507 2508 | defines the <b class="const">-class</b> option.</p> <p><b class="cmd">snit::widgetadaptor</b>s differ from <b class="cmd">snit::widget</b>s chiefly in that any kind of widget can be used as the hull component; see <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>.</p> </div> <div id="subsection129" class="subsection"><h3><a name="subsection129">How can I set the hull type for a snit::widget?</a></h3> <p>A <b class="cmd">snit::widget</b>'s hull component will usually be a Tk <b class="cmd"><a href="../../../../index.html#key663">frame</a></b> | | | 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 | defines the <b class="const">-class</b> option.</p> <p><b class="cmd">snit::widgetadaptor</b>s differ from <b class="cmd">snit::widget</b>s chiefly in that any kind of widget can be used as the hull component; see <span class="sectref"><a href="#section18">WIDGET ADAPTORS</a></span>.</p> </div> <div id="subsection129" class="subsection"><h3><a name="subsection129">How can I set the hull type for a snit::widget?</a></h3> <p>A <b class="cmd">snit::widget</b>'s hull component will usually be a Tk <b class="cmd"><a href="../../../../index.html#key663">frame</a></b> widget; however, it may be any Tk widget that defines the <b class="const">-class</b> option. You can explicitly choose the hull type you prefer by including the <b class="cmd">hulltype</b> command in the widget definition:</p> <pre class="example">snit::widget mytoplevel { hulltype toplevel # ... } |
︙ | ︙ | |||
2590 2591 2592 2593 2594 2595 2596 | # make this readonly. method insert {args} {} method delete {args} {} # Enable ins and del as synonyms, so the program can insert and # delete. delegate method ins to hull as insert delegate method del to hull as delete | < | 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 | # make this readonly. method insert {args} {} method delete {args} {} # Enable ins and del as synonyms, so the program can insert and # delete. delegate method ins to hull as insert delegate method del to hull as delete # Pass all other methods and options to the real text widget, so # that the remaining behavior is as expected. delegate method * to hull delegate option * to hull } </pre> <p>The most important part is in the constructor. |
︙ | ︙ | |||
2633 2634 2635 2636 2637 2638 2639 | } </pre> </div> <div id="subsection134" class="subsection"><h3><a name="subsection134">Can I adapt another megawidget?</a></h3> <p>Maybe. If the other megawidget is a <b class="cmd">snit::widget</b> or <b class="cmd">snit::widgetadaptor</b>, then yes. If it isn't then, again, maybe. You'll have to try it and see. You're most likely to have trouble | | | 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 | } </pre> </div> <div id="subsection134" class="subsection"><h3><a name="subsection134">Can I adapt another megawidget?</a></h3> <p>Maybe. If the other megawidget is a <b class="cmd">snit::widget</b> or <b class="cmd">snit::widgetadaptor</b>, then yes. If it isn't then, again, maybe. You'll have to try it and see. You're most likely to have trouble with widget destruction--you have to make sure that your megawidget code receives the <b class="const"><Destroy></b> event before the megawidget you're adapting does.</p> </div> </div> <div id="section19" class="section"><h2><a name="section19">THE TK OPTION DATABASE</a></h2> <div id="subsection135" class="subsection"><h3><a name="subsection135">What is the Tk option database?</a></h3> <p>The Tk option database is a database of default option values |
︙ | ︙ | |||
2665 2666 2667 2668 2669 2670 2671 | definition.</p></li> <li><p>When defining or delegating options, specify the resource and class names explicitly when necessary.</p></li> <li><p>Use the <b class="cmd">installhull using</b> command to create and install the hull for <b class="cmd">snit::widgetadaptor</b>s.</p></li> <li><p>Use the <b class="cmd">install</b> command to create and install all components which are widgets.</p></li> | | | | 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 | definition.</p></li> <li><p>When defining or delegating options, specify the resource and class names explicitly when necessary.</p></li> <li><p>Use the <b class="cmd">installhull using</b> command to create and install the hull for <b class="cmd">snit::widgetadaptor</b>s.</p></li> <li><p>Use the <b class="cmd">install</b> command to create and install all components which are widgets.</p></li> <li><p>Use the <b class="cmd">install</b> command to create and install components which aren't widgets if you'd like them to receive option values from the option database.</p></li> </ul> <p>The interaction of Tk widgets with the option database is a complex thing; the interaction of Snit with the option database is even more so, and repays attention to detail.</p> </div> <div id="subsection136" class="subsection"><h3><a name="subsection136">Do snit::types use the Tk option database?</a></h3> |
︙ | ︙ | |||
2688 2689 2690 2691 2692 2693 2694 | <b class="cmd">snit::type</b>'s behalf. This might or might not be what you want, so take care.</p> </div> <div id="subsection137" class="subsection"><h3><a name="subsection137">What is my snit::widget's widget class?</a></h3> <p>Every Tk widget has a "widget class": a name that is used when adding option settings to the database. For Tk widgets, the widget class is the same as the widget command name with an initial capital. For | | | | 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 | <b class="cmd">snit::type</b>'s behalf. This might or might not be what you want, so take care.</p> </div> <div id="subsection137" class="subsection"><h3><a name="subsection137">What is my snit::widget's widget class?</a></h3> <p>Every Tk widget has a "widget class": a name that is used when adding option settings to the database. For Tk widgets, the widget class is the same as the widget command name with an initial capital. For example, the widget class of the Tk <b class="cmd">button</b> widget is <b class="const">Button</b>.</p> <p>Similarly, the widget class of a <b class="cmd">snit::widget</b> defaults to the unqualified type name with the first letter capitalized. For example, the widget class of</p> <pre class="example">snit::widget ::mylibrary::scrolledText { ... } </pre> <p>is <b class="const">ScrolledText</b>.</p> <p>The widget class can also be set explicitly using the <b class="cmd">widgetclass</b> statement within the <b class="cmd">snit::widget</b> definition:</p> <pre class="example">snit::widget ::mylibrary::scrolledText { widgetclass Text # ... } </pre> <p>The above definition says that a <b class="cmd">scrolledText</b> megawidget has the same widget class as an ordinary <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget. This might or might not be a good idea, depending on how the rest of the megawidget is defined, and how its options are delegated.</p> </div> <div id="subsection138" class="subsection"><h3><a name="subsection138">What is my snit::widgetadaptor's widget class?</a></h3> <p>The widget class of a <b class="cmd">snit::widgetadaptor</b> is just the widget class of its hull widget; Snit has no control over this.</p> <p>Note that the widget class can be changed only for <b class="cmd"><a href="../../../../index.html#key663">frame</a></b> and |
︙ | ︙ | |||
2730 2731 2732 2733 2734 2735 2736 | commands.</p> <p>The resource and class names are used to initialize option default values by querying the option database. The resource name is usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are | | | | | | | 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 | commands.</p> <p>The resource and class names are used to initialize option default values by querying the option database. The resource name is usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several Tk <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget options:</p> <pre class="example"> -background background Background -borderwidth borderWidth BorderWidth -insertborderwidth insertBorderWidth BorderWidth -padx padX Pad </pre> <p>As is easily seen, sometimes the resource and class names can be inferred from the option name, but not always.</p> </div> <div id="subsection140" class="subsection"><h3><a name="subsection140">What are the resource and class names for my megawidget's options?</a></h3> <p>For options implicitly delegated to a component using <b class="cmd">delegate option *</b>, the resource and class names will be |
︙ | ︙ | |||
2853 2854 2855 2856 2857 2858 2859 | <p>The value of A is "sunken". The hull is a Tk frame which has been given the widget class <b class="const">Mywidget</b>; it will automatically query the option database and pick up this value. Since the <b class="const">-relief</b> option is implicitly delegated to the hull, Snit takes no action.</p> <p>The value of B is "red". The hull will automatically pick up the value "green" for its <b class="const">-background</b> option, just as it picked up the <b class="const">-relief</b> value. However, Snit knows that <b class="const">-hullbackground</b> | | | | | | | 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 | <p>The value of A is "sunken". The hull is a Tk frame which has been given the widget class <b class="const">Mywidget</b>; it will automatically query the option database and pick up this value. Since the <b class="const">-relief</b> option is implicitly delegated to the hull, Snit takes no action.</p> <p>The value of B is "red". The hull will automatically pick up the value "green" for its <b class="const">-background</b> option, just as it picked up the <b class="const">-relief</b> value. However, Snit knows that <b class="const">-hullbackground</b> is mapped to the hull's <b class="const">-background</b> option; hence, it queries the option database for <b class="const">-hullbackground</b> and gets "red" and updates the hull accordingly.</p> <p>The value of C is also "red", because <b class="const">-background</b> is implicitly delegated to the hull; thus, retrieving it is the same as retrieving <b class="const">-hullbackground</b>. Note that this case is unusual; the <b class="const">-background</b> option should probably have been excluded using the delegate statement's <b class="const">except</b> clause, or (more likely) delegated to some other component.</p> <p>The value of D is "5", but not for the reason you think. Note that as it is defined above, the resource name for <b class="const">-borderwidth</b> defaults to <b class="const">borderwidth</b>, whereas the option database entry is <b class="const">borderWidth</b>, in accordance with the standard Tk naming for this option. As with <b class="const">-relief</b>, the hull picks up its own <b class="const">-borderwidth</b> option before Snit does anything. Because the option is delegated under its own name, Snit assumes that the correct thing has happened, and doesn't worry about it any further. To avoid confusion, the <b class="const">-borderwidth</b> option should have been delegated like this:</p> <pre class="example"> delegate option {-borderwidth borderWidth BorderWidth} to hull </pre> <p>For <b class="cmd">snit::widgetadaptor</b>s, the case is somewhat altered. Widget adaptors retain the widget class of their hull, and the hull is not created automatically by Snit. Instead, the <b class="cmd">snit::widgetadaptor</b> |
︙ | ︙ | |||
2895 2896 2897 2898 2899 2900 2901 | # ... } </pre> <p>In this case, the <b class="cmd">installhull</b> command will create the hull using a command like this:</p> <pre class="example"> set hull [text $win -foreground white] </pre> | | | | | 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 | # ... } </pre> <p>In this case, the <b class="cmd">installhull</b> command will create the hull using a command like this:</p> <pre class="example"> set hull [text $win -foreground white] </pre> <p>The hull is a <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget, so its widget class is <b class="const">Text</b>. Just as with <b class="cmd">snit::widget</b> hulls, Snit assumes that it will pick up all of its normal option values automatically, without help from Snit. Options delegated from a different name are initialized from the option database in the same way as described above.</p> <p>In earlier versions of Snit, <b class="cmd">snit::widgetadaptor</b>s were expected to call <b class="cmd">installhull</b> like this:</p> <pre class="example"> installhull [text $win -foreground white] </pre> <p>This form still works--but Snit will not query the option database as described above.</p> </div> <div id="subsection144" class="subsection"><h3><a name="subsection144">How does Snit initialize options delegated to other components?</a></h3> <p>For hull components, Snit assumes that Tk will do most of the work automatically. Non-hull components are somewhat more complicated, because they are matched against the option database twice.</p> <p>A component widget remains a widget still, and is therefore initialized from the option database in the usual way. A <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget remains a <b class="cmd"><a href="../../../../index.html#key480">text</a></b> widget whether it is a component of a megawidget or not, and will be created as such.</p> <p>But then, the option database is queried for all options delegated to the component, and the component is initialized accordingly--provided that the <b class="cmd">install</b> command is used to create it.</p> <p>Before option database support was added to Snit, the usual way to create a component was to simply create it in the constructor and assign its command name to the component variable:</p> |
︙ | ︙ | |||
2946 2947 2948 2949 2950 2951 2952 | <ul class="itemized"> <li><p>Builds a list of the options explicitly included in the <b class="cmd">install</b> command--in this case, <b class="const">-foreground</b>.</p></li> <li><p>Queries the option database for all options delegated explicitly to the named component.</p></li> <li><p>Creates the component using the specified command, after inserting into it a list of options and values read from the option database. | | | 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 | <ul class="itemized"> <li><p>Builds a list of the options explicitly included in the <b class="cmd">install</b> command--in this case, <b class="const">-foreground</b>.</p></li> <li><p>Queries the option database for all options delegated explicitly to the named component.</p></li> <li><p>Creates the component using the specified command, after inserting into it a list of options and values read from the option database. Thus, the explicitly included options (like <b class="const">-foreground</b>) will override anything read from the option database.</p></li> <li><p>If the widget definition implicitly delegated options to the component using <b class="cmd">delegate option *</b>, then Snit calls the newly created component's <b class="cmd">configure</b> method to receive a list of all of the component's options. From this Snit builds a list of options implicitly delegated to the component which were not explicitly included in the <b class="cmd">install</b> command. For all such options, Snit |
︙ | ︙ | |||
2974 2975 2976 2977 2978 2979 2980 | syntax. If it doesn't, don't use <b class="cmd">install</b>.</p> </div> </div> <div id="section20" class="section"><h2><a name="section20">ENSEMBLE COMMANDS</a></h2> <div id="subsection146" class="subsection"><h3><a name="subsection146">What is an ensemble command?</a></h3> <p>An ensemble command is a command with subcommands. Snit objects are all ensemble commands; however, the term more usually refers to | | | | | | | | | 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 | syntax. If it doesn't, don't use <b class="cmd">install</b>.</p> </div> </div> <div id="section20" class="section"><h2><a name="section20">ENSEMBLE COMMANDS</a></h2> <div id="subsection146" class="subsection"><h3><a name="subsection146">What is an ensemble command?</a></h3> <p>An ensemble command is a command with subcommands. Snit objects are all ensemble commands; however, the term more usually refers to commands like the standard Tcl commands <b class="cmd"><a href="../../../../index.html#key270">string</a></b>, <b class="cmd"><a href="../../../../index.html#key35">file</a></b>, and <b class="cmd">clock</b>. In a sense, these are singleton objects--there's only one instance of them.</p> </div> <div id="subsection147" class="subsection"><h3><a name="subsection147">How can I create an ensemble command using Snit?</a></h3> <p>There are two ways--as a <b class="cmd">snit::type</b>, or as an instance of a <b class="cmd">snit::type</b>.</p> </div> <div id="subsection148" class="subsection"><h3><a name="subsection148">How can I create an ensemble command using an instance of a snit::type?</a></h3> <p>Define a type whose <span class="sectref"><a href="#section5">INSTANCE METHODS</a></span> are the subcommands of your ensemble command. Then, create an instance of the type with the desired name.</p> <p>For example, the following code uses <span class="sectref"><a href="#section16">DELEGATION</a></span> to create a work-alike for the standard <b class="cmd"><a href="../../../../index.html#key270">string</a></b> command:</p> <pre class="example">snit::type ::mynamespace::mystringtype { delegate method * to stringhandler constructor {} { set stringhandler string } } ::mynamespace::mystringtype mystring </pre> <p>We create the type in a namespace, so that the type command is hidden; then we create a single instance with the desired name-- <b class="cmd">mystring</b>, in this case.</p> <p>This method has two drawbacks. First, it leaves the type command floating about. More seriously, your shiny new ensemble command will have <b class="method">info</b> and <b class="method">destroy</b> subcommands that you probably have no use for. But read on.</p> </div> <div id="subsection149" class="subsection"><h3><a name="subsection149">How can I create an ensemble command using a snit::type?</a></h3> <p>Define a type whose <span class="sectref"><a href="#section9">TYPE METHODS</a></span> are the subcommands of your ensemble command.</p> <p>For example, the following code uses <span class="sectref"><a href="#section16">DELEGATION</a></span> to create a work-alike for the standard <b class="cmd"><a href="../../../../index.html#key270">string</a></b> command:</p> <pre class="example">snit::type mystring { delegate typemethod * to stringhandler typeconstructor { set stringhandler string } } </pre> <p>Now the type command itself is your ensemble command.</p> <p>This method has only one drawback, and though it's major, it's also surmountable. Your new ensemble command will have <b class="method">create</b>, <b class="method">info</b> and <b class="method">destroy</b> subcommands you don't want. And worse yet, since the <b class="method">create</b> method can be implicit, users of your command will accidentally be creating instances of your <b class="cmd">mystring</b> type if they should mispell one of the subcommands. The command will succeed--the first time--but won't do what's wanted. This is very bad.</p> <p>The work around is to set some <span class="sectref"><a href="#section21">PRAGMAS</a></span>, as shown here:</p> <pre class="example">snit::type mystring { pragma -hastypeinfo no pragma -hastypedestroy no pragma -hasinstances no delegate typemethod * to stringhandler typeconstructor { set stringhandler string } } </pre> <p>Here we've used the <b class="cmd">pragma</b> statement to tell Snit that we don't want the <b class="method">info</b> typemethod or the <b class="method">destroy</b> typemethod, and that our type has no instances; this eliminates the <b class="method">create</b> typemethod and all related code. As a result, our ensemble command will be well-behaved, with no unexpected subcommands.</p> </div> </div> <div id="section21" class="section"><h2><a name="section21">PRAGMAS</a></h2> <div id="subsection150" class="subsection"><h3><a name="subsection150">What is a pragma?</a></h3> |
︙ | ︙ | |||
3088 3089 3090 3091 3092 3093 3094 | an error instead of a new instance of the type.</p> <p>This is useful if you wish to use a <b class="cmd">snit::type</b> to define an ensemble command rather than a type with instances.</p> <p>Pragmas <b class="const">-hastypemethods</b> and <b class="const">-hasinstances</b> cannot both be false (or there'd be nothing left).</p> </div> <div id="subsection155" class="subsection"><h3><a name="subsection155">How can I get rid of type methods altogether?</a></h3> | | | | | | | | | | 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 | an error instead of a new instance of the type.</p> <p>This is useful if you wish to use a <b class="cmd">snit::type</b> to define an ensemble command rather than a type with instances.</p> <p>Pragmas <b class="const">-hastypemethods</b> and <b class="const">-hasinstances</b> cannot both be false (or there'd be nothing left).</p> </div> <div id="subsection155" class="subsection"><h3><a name="subsection155">How can I get rid of type methods altogether?</a></h3> <p>Normal Tk widget type commands don't have subcommands; all they do is create widgets--in Snit terms, the type command calls the <b class="method">create</b> type method directly. To get the same behavior from Snit, set the <b class="const">-hastypemethods</b> pragma to <b class="const">no</b>:</p> <pre class="example">snit::type dog { pragma -hastypemethods no #... } # Creates ::spot dog spot # Tries to create an instance called ::create dog create spot </pre> <p>Pragmas <b class="const">-hastypemethods</b> and <b class="const">-hasinstances</b> cannot both be false (or there'd be nothing left).</p> </div> <div id="subsection156" class="subsection"><h3><a name="subsection156">Why can't I create an object that replaces an old object with the same name?</a></h3> <p>Up until Snit 0.95, you could use any name for an instance of a <b class="cmd">snit::type</b>, even if the name was already in use by some other object or command. You could do the following, for example:</p> <pre class="example">snit::type dog { ... } dog proc </pre> <p>You now have a new dog named "proc", which is probably not something that you really wanted to do. As a result, Snit now throws an error if your chosen instance name names an existing command. To restore the old behavior, set the <b class="const">-canreplace</b> pragma to <b class="const">yes</b>:</p> <pre class="example">snit::type dog { pragma -canreplace yes # ... } </pre> </div> <div id="subsection157" class="subsection"><h3><a name="subsection157">How can I make my simple type run faster?</a></h3> <p>In Snit 1.x, you can set the <b class="const">-simpledispatch</b> pragma to <b class="const">yes</b>.</p> <p>Snit 1.x method dispatch is both flexible and fast, but the flexibility comes with a price. If your type doesn't require the flexibility, the <b class="const">-simpledispatch</b> pragma allows you to substitute a simpler dispatch mechanism that runs quite a bit faster. The limitations are these:</p> <ul class="itemized"> <li><p>Methods cannot be delegated.</p></li> <li><p><b class="cmd">uplevel</b> and <b class="cmd">upvar</b> do not work as expected: the caller's scope is two levels up rather than one.</p></li> <li><p>The option-handling methods (<b class="cmd">cget</b>, <b class="cmd">configure</b>, and <b class="cmd">configurelist</b>) are very slightly slower.</p></li> </ul> <p>In Snit 2.2, the <b class="const">-simpledispatch</b> macro is obsolete, and ignored; all Snit 2.2 method dispatch is faster than Snit 1.x's <b class="const">-simpledispatch</b>.</p> </div> </div> <div id="section22" class="section"><h2><a name="section22">MACROS</a></h2> <div id="subsection158" class="subsection"><h3><a name="subsection158">What is a macro?</a></h3> <p>A Snit macro is nothing more than a Tcl proc that's defined in the Tcl interpreter used to compile Snit type definitions.</p> </div> <div id="subsection159" class="subsection"><h3><a name="subsection159">What are macros good for?</a></h3> <p>You can use Snit macros to define new type definition syntax, and to support conditional compilation.</p> </div> <div id="subsection160" class="subsection"><h3><a name="subsection160">How do I do conditional compilation?</a></h3> |
︙ | ︙ | |||
3179 3180 3181 3182 3183 3184 3185 | method bark {} {...} method wagtail {} {...} } } </pre> </div> <div id="subsection161" class="subsection"><h3><a name="subsection161">How do I define new type definition syntax?</a></h3> | | | 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 | method bark {} {...} method wagtail {} {...} } } </pre> </div> <div id="subsection161" class="subsection"><h3><a name="subsection161">How do I define new type definition syntax?</a></h3> <p>Use a macro. For example, your <b class="cmd">snit::widget</b>'s <b class="const">-background</b> option should be propagated to a number of component widgets. You could implement that like this:</p> <pre class="example">snit::widget mywidget { option -background -default white -configuremethod PropagateBackground method PropagateBackground {option value} { $comp1 configure $option $value $comp2 configure $option $value |
︙ | ︙ | |||
3220 3221 3222 3223 3224 3225 3226 | type definition statements. You can use any other command name, including the name of a previously defined macro.</p> <p>If you're using Snit macros in your application, go ahead and name them in the global namespace, as shown above. But if you're using them to define types or widgets for use by others, you should define your macros in the same namespace as your types or widgets. That way, they won't conflict with other people's macros.</p> | | | | | | 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 | type definition statements. You can use any other command name, including the name of a previously defined macro.</p> <p>If you're using Snit macros in your application, go ahead and name them in the global namespace, as shown above. But if you're using them to define types or widgets for use by others, you should define your macros in the same namespace as your types or widgets. That way, they won't conflict with other people's macros.</p> <p>If my fancy <b class="cmd">snit::widget</b> is called <b class="cmd">::mylib::mywidget</b>, for example, then I should define my <b class="cmd">propagate</b> macro as <b class="cmd">::mylib::propagate</b>:</p> <pre class="example">snit::macro mylib::propagate {option "to" components} { ... } snit::widget ::mylib::mywidget { option -background default -white option -foreground default -black mylib::propagate -background to {comp1 comp2 comp3} mylib::propagate -foreground to {comp1 comp2 comp3} } </pre> </div> </div> <div id="section23" class="section"><h2><a name="section23">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>snit</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key235">BWidget</a>, <a href="../../../../index.html#key231">C++</a>, <a href="../../../../index.html#key238">Incr Tcl</a>, <a href="../../../../index.html#key236">adaptors</a>, <a href="../../../../index.html#key234">class</a>, <a href="../../../../index.html#key233">mega widget</a>, <a href="../../../../index.html#key237">object</a>, <a href="../../../../index.html#key230">object oriented</a>, <a href="../../../../index.html#key229">widget</a>, <a href="../../../../index.html#key232">widget adaptors</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2006, by William H. Duquette</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/soundex/soundex.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | </div> <div id="section2" class="section"><h2><a name="section2">EXAMPLES</a></h2> <pre class="example"> % ::soundex::knuth Knuth K530 </pre> </div> | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | </div> <div id="section2" class="section"><h2><a name="section2">EXAMPLES</a></h2> <pre class="example"> % ::soundex::knuth Knuth K530 </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>soundex</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key265">knuth</a>, <a href="../../../../index.html#key264">soundex</a>, <a href="../../../../index.html#key263">text comparison</a>, <a href="../../../../index.html#key266">text likeness</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © ????, Algorithm: Donald E. Knuth<br> Copyright © 2003, Documentation: Andreas Kupries <[email protected]><br> Copyright © 1998, Tcl port: Evan Rempel <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/stooop/stooop.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">DEBUGGING</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">DEBUGGING</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
140 141 142 143 144 145 146 | <li><a href="#9"><b class="cmd">::stooop::report</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides commands to extend Tcl in an object oriented manner, using a familiar C++ like syntax and behaviour. Stooop only | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <li><a href="#9"><b class="cmd">::stooop::report</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides commands to extend Tcl in an object oriented manner, using a familiar C++ like syntax and behaviour. Stooop only introduces a few new commands: <b class="cmd"><a href="../../../../index.html#key234">class</a></b>, <b class="cmd">new</b>, <b class="cmd">delete</b>, <b class="cmd">virtual</b> and <b class="cmd">classof</b>. Along with a few coding conventions, that is basically all you need to know to use stooop. Stooop is meant to be as simple to use as possible.</p> <p>This manual is very succinct and is to be used as a quick reminder for the programmer, who should have read the thorough <a href="stooop_man.html">stooop_man.html</a> HTML documentation at this point.</p> <dl class="definitions"> |
︙ | ︙ | |||
248 249 250 251 252 253 254 | <b class="const">"class: %C, procedure: %p, object: %O, arguments: %a"</b>.</p></dd> <dt><b class="variable">STOOOPTRACEDATA</b></dt> <dd><p>Setting this environment variable to either <b class="const">stdout</b>, <b class="const">stderr</b> or a file name, activates data tracing. The stooop library will then output to the specified channel 1 line of informational text for each member data access.</p></dd> <dt><b class="variable">STOOOPTRACEDATAFORMAT</b></dt> | | | | 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | <b class="const">"class: %C, procedure: %p, object: %O, arguments: %a"</b>.</p></dd> <dt><b class="variable">STOOOPTRACEDATA</b></dt> <dd><p>Setting this environment variable to either <b class="const">stdout</b>, <b class="const">stderr</b> or a file name, activates data tracing. The stooop library will then output to the specified channel 1 line of informational text for each member data access.</p></dd> <dt><b class="variable">STOOOPTRACEDATAFORMAT</b></dt> <dd><p>Defines the trace data output format. Defaults to <b class="const">"class: %C, procedure: %p, array: %A, object: %O, member: %m, operation: %o, value: %v"</b>.</p></dd> <dt><b class="variable">STOOOPTRACEDATAOPERATIONS</b></dt> <dd><p>When tracing data output, by default, all read, write and unsetting accesses are reported, but the user can set this variable to any combination of the letters <b class="const">r</b>, <b class="const">w</b>, and <b class="const">u</b> for more specific tracing (please refer to the <b class="cmd"><a href="../../../../index.html#key70">trace</a></b> Tcl manual page for more information).</p></dd> <dt><b class="variable">STOOOPTRACEALL</b></dt> <dd><p>Setting this environment variable to either <b class="const">stdout</b>, <b class="const">stderr</b> or a file name, enables both procedure and data tracing.</p></dd> </dl></dd> <dt><a name="7"><b class="cmd">::stooop::printObjects</b> <span class="opt">?<i class="arg">pattern</i>?</span></a></dt> |
︙ | ︙ | |||
280 281 282 283 284 285 286 | procedure was invoked last. If present, the pattern argument limits the output to matching class names.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <p>Please see the full HTML documentation in <a href="stooop_man.html">stooop_man.html</a>.</p> </div> | | | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | procedure was invoked last. If present, the pattern argument limits the output to matching class names.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">EXAMPLES</a></h2> <p>Please see the full HTML documentation in <a href="stooop_man.html">stooop_man.html</a>.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>stooop</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key231">C++</a>, <a href="../../../../index.html#key234">class</a>, <a href="../../../../index.html#key237">object</a>, <a href="../../../../index.html#key230">object oriented</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/string/token.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>string::token - Regex based iterative lexing</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>string::token - Regex based iterative lexing</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
189 190 191 192 193 194 195 | stops the process. Because of this it is recommended to specify the patterns to lex with from the most specific to the most general.</p> <p>Further note that all regex patterns are implicitly prefixed with the constraint escape <b class="const">A</b> to ensure that a match starts exactly at the character index found in <i class="arg">startvar</i>.</p></dd> </dl> </div> | | | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | stops the process. Because of this it is recommended to specify the patterns to lex with from the most specific to the most general.</p> <p>Further note that all regex patterns are implicitly prefixed with the constraint escape <b class="const">A</b> to ensure that a match starts exactly at the character index found in <i class="arg">startvar</i>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key680">lexing</a>, <a href="../../../../index.html#key679">regex</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key678">tokenization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/string/token_shell.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>string::token::shell - Parsing of shell command line</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>string::token::shell - Parsing of shell command line</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
208 209 210 211 212 213 214 | <dd><p>Whitespace is any unicode space character. This is equivalent to <b class="cmd">string is space</b>, or the regular expression \\s.</p> <p>Whitespace may occur before the first word, or after the last word. Whitespace must occur between adjacent words.</p></dd> </dl></dd> </dl> </div> | | | | | 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | <dd><p>Whitespace is any unicode space character. This is equivalent to <b class="cmd">string is space</b>, or the regular expression \\s.</p> <p>Whitespace may occur before the first word, or after the last word. Whitespace must occur between adjacent words.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key727">bash</a>, <a href="../../../../index.html#key680">lexing</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key726">shell</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key678">tokenization</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/stringprep/stringprep.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
209 210 211 212 213 214 215 | <li><p>"Extensible Messaging and Presence Protocol (XMPP): Core", (<a href="http://www.ietf.org/rfc/rfc3920.txt">http://www.ietf.org/rfc/rfc3920.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Sergei Golovan</p> </div> | | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | <li><p>"Extensible Messaging and Presence Protocol (XMPP): Core", (<a href="http://www.ietf.org/rfc/rfc3920.txt">http://www.ietf.org/rfc/rfc3920.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Sergei Golovan</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>stringprep</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="unicode.html">unicode(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key626">stringprep</a>, <a href="../../../../index.html#key627">unicode</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/stringprep/stringprep_data.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>stringprep::data - stringprep data tables, generated, internal</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <p>stringprep::data - stringprep data tables, generated, internal</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.3</b></li> <li>package require <b class="pkgname">stringprep::data 1.0.1</b></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">stringprep::data</b> package is a helper for <b class="package"><a href="stringprep.html">stringprep</a></b>, providing it with the data tables needed to perform its functions. It is an <em>internal</em> package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>stringprep</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key626">stringprep</a>, <a href="../../../../index.html#key627">unicode</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2009, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/stringprep/unicode.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">AUTHORS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | <li><p>"Unicode Standard Annex #15: Unicode Normalization Forms", (<a href="http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Sergei Golovan</p> </div> | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | <li><p>"Unicode Standard Annex #15: Unicode Normalization Forms", (<a href="http://unicode.org/reports/tr15/">http://unicode.org/reports/tr15/</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">AUTHORS</a></h2> <p>Sergei Golovan</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>stringprep</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="stringprep.html">stringprep(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key120">normalization</a>, <a href="../../../../index.html#key627">unicode</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/stringprep/unicode_data.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>unicode::data - unicode data tables, generated, internal</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <p>unicode::data - unicode data tables, generated, internal</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.3</b></li> <li>package require <b class="pkgname">unicode::data 1.0.0</b></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">unicode::data</b> package is a helper for <b class="package"><a href="unicode.html">unicode</a></b>, providing it with the data tables needed to perform its functions. It is an <em>internal</em> package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>stringprep</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key626">stringprep</a>, <a href="../../../../index.html#key627">unicode</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007, Sergei Golovan <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/disjointset.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
227 228 229 230 231 232 233 | <dt><a name="8"><i class="arg">disjointsetName</i> <b class="method">find</b> <i class="arg">e</i></a></dt> <dd><p>Returns the partition of the disjoint set which contains the element <i class="arg">e</i>.</p></dd> <dt><a name="9"><i class="arg">disjointsetName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroys the disjoint set object and all associated memory.</p></dd> </dl> </div> | | | | | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 | <dt><a name="8"><i class="arg">disjointsetName</i> <b class="method">find</b> <i class="arg">e</i></a></dt> <dd><p>Returns the partition of the disjoint set which contains the element <i class="arg">e</i>.</p></dd> <dt><a name="9"><i class="arg">disjointsetName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroys the disjoint set object and all associated memory.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: disjointset</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key605">disjoint set</a>, <a href="../../../../index.html#key604">equivalence class</a>, <a href="../../../../index.html#key608">find</a>, <a href="../../../../index.html#key607">merge find</a>, <a href="../../../../index.html#key609">partition</a>, <a href="../../../../index.html#key610">partitioned set</a>, <a href="../../../../index.html#key606">union</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/graph.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Changes for 2.0</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Changes for 2.0</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
205 206 207 208 209 210 211 | </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>A directed graph is a structure containing two collections of elements, called <i class="term">nodes</i> and <i class="term">arcs</i> respectively, together with a relation ("connectivity") that places a general structure upon the nodes and arcs.</p> <p>Each arc is connected to two nodes, one of which is called the | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>A directed graph is a structure containing two collections of elements, called <i class="term">nodes</i> and <i class="term">arcs</i> respectively, together with a relation ("connectivity") that places a general structure upon the nodes and arcs.</p> <p>Each arc is connected to two nodes, one of which is called the <i class="term"><a href="../../../../index.html#key411">source</a></i> and the other the <i class="term">target</i>. This imposes a direction upon the arc, which is said to go from the source to the target. It is allowed that source and target of an arc are the same node. Such an arc is called a <i class="term"><a href="../../../../index.html#key433">loop</a></i>. Whenever a node is either the source or target of an arc both are said to be <i class="term"><a href="../../../../index.html#key461">adjacent</a></i>. This extends into a relation between nodes, i.e. if two nodes are connected through at least one arc they are said to be <i class="term"><a href="../../../../index.html#key461">adjacent</a></i> too.</p> |
︙ | ︙ | |||
379 380 381 382 383 384 385 | associated with an <i class="arg">arc</i>. Returns the new value given to the attribute <i class="arg">key</i>.</p></dd> <dt><a name="24"><i class="arg">graphName</i> <b class="method">arc rename</b> <i class="arg">arc</i> <i class="arg">newname</i></a></dt> <dd><p>Renames the arc <i class="arg">arc</i> to <i class="arg">newname</i>. An error is thrown if either the arc does not exist, or a arc with name <i class="arg">newname</i> does exist. The result of the command is the new name of the arc.</p></dd> <dt><a name="25"><i class="arg">graphName</i> <b class="method">arc set</b> <i class="arg">arc</i> <i class="arg">key</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> | | | | | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | associated with an <i class="arg">arc</i>. Returns the new value given to the attribute <i class="arg">key</i>.</p></dd> <dt><a name="24"><i class="arg">graphName</i> <b class="method">arc rename</b> <i class="arg">arc</i> <i class="arg">newname</i></a></dt> <dd><p>Renames the arc <i class="arg">arc</i> to <i class="arg">newname</i>. An error is thrown if either the arc does not exist, or a arc with name <i class="arg">newname</i> does exist. The result of the command is the new name of the arc.</p></dd> <dt><a name="25"><i class="arg">graphName</i> <b class="method">arc set</b> <i class="arg">arc</i> <i class="arg">key</i> <span class="opt">?<i class="arg">value</i>?</span></a></dt> <dd><p>Set or get one of the keyed values associated with an arc. An arc may have any number of keyed values associated with it. If <i class="arg">value</i> is not specified, this command returns the current value assigned to the key; if <i class="arg">value</i> is specified, this command assigns that value to the key, and returns that value.</p></dd> <dt><a name="26"><i class="arg">graphName</i> <b class="method">arc setunweighted</b> <span class="opt">?<i class="arg">weight</i>?</span></a></dt> <dd><p>Sets the weight of all arcs without a weight to <i class="arg">weight</i>. Returns the empty string as its result. If not present <i class="arg">weight</i> defaults to <b class="const">0</b>.</p></dd> <dt><a name="27"><i class="arg">graphName</i> <b class="method">arc setweight</b> <i class="arg">arc</i> <i class="arg">weight</i></a></dt> |
︙ | ︙ | |||
656 657 658 659 660 661 662 | whether in the same node, or at some other node. This is a global consistency requirement for the serialization.</p></li> <li><p>And a dictionary containing the attributes associated with the arc.</p></li> <li><p>The weight associated with the arc. This value is optional. Its non-presence means that the arc in question has no weight associated with it.</p> <p><em>Note:</em> This information is new, compared to the | | | 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 | whether in the same node, or at some other node. This is a global consistency requirement for the serialization.</p></li> <li><p>And a dictionary containing the attributes associated with the arc.</p></li> <li><p>The weight associated with the arc. This value is optional. Its non-presence means that the arc in question has no weight associated with it.</p> <p><em>Note:</em> This information is new, compared to the serialization of <b class="package"><a href="../../../../index.html#key283">graph</a></b> 2.3 and earlier. By making it an optional element the new format is maximally compatible with the old. This means that any graph not using weights will generate a serialization which is still understood by the older graph package. A serialization will not be understood any longer by the older packages if, and only if the graph it was generated from actually has arcs with weights.</p></li> </ol> |
︙ | ︙ | |||
764 765 766 767 768 769 770 | <b class="method">node</b> allowing the query and retrieval of attribute data without regard to arc and node relationships.</p></li> <li><p>Both methods <b class="method">arcs</b> and <b class="method">nodes</b> have been extended with the ability to select arcs and nodes based on an arbitrary filtering criterium.</p></li> </ol> </div> | | | | | 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 | <b class="method">node</b> allowing the query and retrieval of attribute data without regard to arc and node relationships.</p></li> <li><p>Both methods <b class="method">arcs</b> and <b class="method">nodes</b> have been extended with the ability to select arcs and nodes based on an arbitrary filtering criterium.</p></li> </ol> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: graph</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key461">adjacent</a>, <a href="../../../../index.html#key449">arc</a>, <a href="../../../../index.html#key595">cgraph</a>, <a href="../../../../index.html#key451">degree</a>, <a href="../../../../index.html#key436">edge</a>, <a href="../../../../index.html#key283">graph</a>, <a href="../../../../index.html#key433">loop</a>, <a href="../../../../index.html#key465">neighbour</a>, <a href="../../../../index.html#key439">node</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key456">subgraph</a>, <a href="../../../../index.html#key440">vertex</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/graph1.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>struct::graph_v1 - Create and manipulate directed graph objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>struct::graph_v1 - Create and manipulate directed graph objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
391 392 393 394 395 396 397 | each node, with the mode of the call (<b class="const">enter</b> or <b class="const">leave</b>) and values <i class="arg">graphName</i> and the name of the current node appended. For a pre-order walk, all nodes are <b class="const">enter</b>ed, for a post-order all nodes are left. In a both-order walk the first visit of a node <b class="const">enter</b>s it, the second visit <b class="const">leave</b>s it.</p></dd> </dl> </div> | | | | | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 | each node, with the mode of the call (<b class="const">enter</b> or <b class="const">leave</b>) and values <i class="arg">graphName</i> and the name of the current node appended. For a pre-order walk, all nodes are <b class="const">enter</b>ed, for a post-order all nodes are left. In a both-order walk the first visit of a node <b class="const">enter</b>s it, the second visit <b class="const">leave</b>s it.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: graph</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key595">cgraph</a>, <a href="../../../../index.html#key283">graph</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/graphops.html.
︙ | ︙ | |||
126 127 128 129 130 131 132 | <li class="subsection"><a href="#subsection4">Cut Problems</a></li> <li class="subsection"><a href="#subsection5">K-Center Problem</a></li> <li class="subsection"><a href="#subsection6">Flow Problems</a></li> <li class="subsection"><a href="#subsection7">Approximation algorithm</a></li> </ul> </li> <li class="section"><a href="#section4">References</a></li> | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <li class="subsection"><a href="#subsection4">Cut Problems</a></li> <li class="subsection"><a href="#subsection5">K-Center Problem</a></li> <li class="subsection"><a href="#subsection6">Flow Problems</a></li> <li class="subsection"><a href="#subsection7">Approximation algorithm</a></li> </ul> </li> <li class="section"><a href="#section4">References</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
244 245 246 247 248 249 250 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, | | | | 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | <dt><a name="3"><b class="cmd">struct::graph::op::kruskal</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. This algorithm has a time complexity of <i class="term">O(E*log E)</i> or <i class="term">O(E* log V)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key793">E</a></i> is the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="4"><b class="cmd">struct::graph::op::prim</b> <i class="arg">g</i></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a list containing the names of the arcs in <i class="arg">g</i> which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Prim's algorithm is used to compute the tree or forest. This algorithm has a time complexity between <i class="term">O(E+V*log V)</i> and <i class="term">O(V*V)</i>, depending on the implementation (Fibonacci heap + Adjacency list versus Adjacency Matrix). As usual <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key793">E</a></i> the number of edges in graph <i class="arg">g</i>.</p> <p>The command will throw an error if one or more arcs in <i class="arg">g</i> have no weight associated with them.</p> <p>A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already.</p></dd> <dt><a name="5"><b class="cmd">struct::graph::op::isBipartite?</b> <i class="arg">g</i> <span class="opt">?<i class="arg">bipartvar</i>?</span></a></dt> <dd><p>This command takes the graph <i class="arg">g</i> and returns a boolean value |
︙ | ︙ | |||
374 375 376 377 378 379 380 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key434">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key477">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices | | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | <p>The (un)directed <i class="term"><a href="../../../../index.html#key434">diameter</a></i> of a graph is the maximal (un)directed <i class="term"><a href="../../../../index.html#key477">eccentricity</a></i> of all nodes in the graph.</p></dd> <dt><a name="19"><b class="cmd">struct::graph::op::BellmanFord</b> <i class="arg">G</i> <i class="arg">startnode</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortests paths</a></span> between chosen node and all other nodes in graph <i class="arg">G</i>. Based on relaxation method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it doesn't need assumption that all weights on edges in input graph <i class="arg">G</i> have to be positive.</p> <p>That generality sets the complexity of algorithm to - <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of vertices and <i class="term"><a href="../../../../index.html#key793">E</a></i> is number of edges in graph <i class="arg">G</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph object <i class="arg">G</i> (input)</dt> <dd><p>Directed, connected and edge weighted graph <i class="arg">G</i>, without any negative cycles ( presence of cycles with the negative sum of weight means that there is no shortest path, since the total weight becomes lower each time the cycle is traversed ). Negative weights on edges are allowed.</p></dd> |
︙ | ︙ | |||
407 408 409 410 411 412 413 | any cycles with negative sum of weights ( the presence of such cycles means there is no shortest path, since the total weight becomes lower each time the cycle is traversed ). Negative weights on edges are allowed.</p></dd> </dl></dd> <dt>Options:</dt> <dd><dl class="options"> <dt><b class="option">-filter</b></dt> | | | | | 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | any cycles with negative sum of weights ( the presence of such cycles means there is no shortest path, since the total weight becomes lower each time the cycle is traversed ). Negative weights on edges are allowed.</p></dd> </dl></dd> <dt>Options:</dt> <dd><dl class="options"> <dt><b class="option">-filter</b></dt> <dd><p>Returns only existing distances, cuts all <i class="term">Inf</i> values for non-existing connections between pairs of nodes.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Dictionary containing distances between all pairs of vertices.</p></dd> </dl></dd> <dt><a name="21"><b class="cmd">struct::graph::op::FloydWarshall</b> <i class="arg">G</i></a></dt> <dd><p>Searching for <span class="sectref"><a href="#subsection1">shortest paths</a></span> between all pairs of edges in weighted graphs.</p> <p>Time complexity: <i class="term">O(V^3)</i> - where <i class="term">V</i> is number of vertices.</p> <p>Memory complexity: <i class="term">O(V^2)</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph object <i class="arg">G</i> (input)</dt> <dd><p>Directed and weighted graph <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Dictionary containing shortest distances to each node from each node.</p></dd> </dl> <p><em>Note:</em> Algorithm finds solutions dynamically. It compares all possible paths through the graph between each pair of vertices. Graph shouldn't possess any cycle with negative sum of weights (the presence of such cycles means there is no shortest path, since the total weight becomes lower each time the cycle is traversed).</p> <p>On the other hand algorithm can be used to find those cycles - if any shortest distance found by algorithm for any nodes <i class="term">v</i> and <i class="term">u</i> (when <i class="term">v</i> is the same node as <i class="term">u</i>) is negative, that node surely belong to at least one negative cycle.</p></dd> <dt><a name="22"><b class="cmd">struct::graph::op::MetricTravellingSalesman</b> <i class="arg">G</i></a></dt> <dd><p>Algorithm for solving a metric variation of <span class="sectref"><a href="#subsection2">Travelling salesman problem</a></span>. <i class="term">TSP problem</i> is <i class="term">NP-Complete</i>, so there is no efficient algorithm to solve it. Greedy methods are getting extremely slow, with the increase in the set of nodes.</p> <dl class="definitions"> |
︙ | ︙ | |||
534 535 536 537 538 539 540 | <dd><p>Weighted variation of <i class="term">Maximal Independent Set</i>. It takes as an input argument not only graph <i class="arg">G</i> but also set of weights for all vertices in graph <i class="arg">G</i>.</p> <p><em>Note:</em> Read also <i class="term">Maximal Independent Set</i> description for more info.</p></dd> <dt><a name="30"><b class="cmd">struct::graph::op::VerticesCover</b> <i class="arg">G</i></a></dt> <dd><p><i class="term">Vertices cover</i> is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. This 2-approximation algorithm searches for minimum | | | 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 | <dd><p>Weighted variation of <i class="term">Maximal Independent Set</i>. It takes as an input argument not only graph <i class="arg">G</i> but also set of weights for all vertices in graph <i class="arg">G</i>.</p> <p><em>Note:</em> Read also <i class="term">Maximal Independent Set</i> description for more info.</p></dd> <dt><a name="30"><b class="cmd">struct::graph::op::VerticesCover</b> <i class="arg">G</i></a></dt> <dd><p><i class="term">Vertices cover</i> is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. This 2-approximation algorithm searches for minimum <i class="term">vertices cover</i>, which is a classical optimization problem in computer science and is a typical example of an <i class="term">NP-hard</i> optimization problem that has an approximation algorithm. For input graph <i class="arg">G</i> algorithm returns the set of edges (list), which is Vertex Cover found by algorithm.</p></dd> <dt><a name="31"><b class="cmd">struct::graph::op::EdmondsKarp</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Improved Ford-Fulkerson's algorithm, computing the <span class="sectref"><a href="#subsection6">maximum flow</a></span> in given flow network <i class="arg">G</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> |
︙ | ︙ | |||
558 559 560 561 562 563 564 | <dt>Result:</dt> <dd><p>Procedure returns the dictionary containing throughputs for all edges. For each key ( the edge between nodes <i class="term">u</i> and <i class="term">v</i> in the form of <i class="term">list u v</i> ) there is a value that is a throughput for that key. Edges where throughput values are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> | | | | | 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 | <dt>Result:</dt> <dd><p>Procedure returns the dictionary containing throughputs for all edges. For each key ( the edge between nodes <i class="term">u</i> and <i class="term">v</i> in the form of <i class="term">list u v</i> ) there is a value that is a throughput for that key. Edges where throughput values are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge).</p></dd> </dl> <p>The general idea of algorithm is finding the shortest augumenting paths in graph <i class="arg">G</i>, as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink.</p> <p><em>Note:</em> Algorithm complexity : <i class="term">O(V*E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key793">E</a></i> is the number of edges in graph <i class="term">G</i>.</p></dd> <dt><a name="32"><b class="cmd">struct::graph::op::BusackerGowen</b> <i class="arg">G</i> <i class="arg">desiredFlow</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm finds solution for a <span class="sectref"><a href="#subsection6">minimum cost flow problem</a></span>. So, the goal is to find a flow, whose max value can be <i class="arg">desiredFlow</i>, from source node <i class="arg">s</i> to sink node <i class="arg">t</i> in given flow network <i class="arg">G</i>. That network except throughputs at edges has also defined a non-negative cost on each edge - cost of using that edge when directing flow with that edge ( it can illustrate e.g. fuel usage, time or any other measure dependent on usages ).</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Flow network (directed graph), each edge in graph should have two integer attributes: <i class="term">cost</i> and <i class="term">throughput</i>.</p></dd> |
︙ | ︙ | |||
589 590 591 592 593 594 595 | <dd><p>Dictionary containing values of used throughputs for each edge ( key ). found by algorithm.</p></dd> </dl> <p><em>Note:</em> Algorithm complexity : <i class="term">O(V**2*desiredFlow)</i>, where <i class="term">V</i> is the number of nodes in graph <i class="arg">G</i>.</p></dd> <dt><a name="33"><b class="cmd">struct::graph::op::ShortestsPathsByBFS</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">outputFormat</i></a></dt> <dd><p>Shortest pathfinding algorithm using BFS method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it can work with negative weights on edges. Of course negative cycles are not allowed. Algorithm is better than dijkstra | | | 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | <dd><p>Dictionary containing values of used throughputs for each edge ( key ). found by algorithm.</p></dd> </dl> <p><em>Note:</em> Algorithm complexity : <i class="term">O(V**2*desiredFlow)</i>, where <i class="term">V</i> is the number of nodes in graph <i class="arg">G</i>.</p></dd> <dt><a name="33"><b class="cmd">struct::graph::op::ShortestsPathsByBFS</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">outputFormat</i></a></dt> <dd><p>Shortest pathfinding algorithm using BFS method. In comparison to <b class="cmd">struct::graph::op::dijkstra</b> it can work with negative weights on edges. Of course negative cycles are not allowed. Algorithm is better than dijkstra for sparse graphs, but also there exist some pathological cases (those cases generally don't appear in practise) that make time complexity increase exponentially with the growth of the number of nodes.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Input graph.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
611 612 613 614 615 616 617 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. | | | 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 | <dt><b class="option">paths</b></dt> <dd><p>When selected <i class="arg">outputFormat</i> is <b class="const">paths</b> - procedure returns dictionary containing for each node <i class="term">v</i>, a list of nodes, which is a path between source node <i class="arg">s</i> and node <i class="term">v</i>.</p></dd> </dl></dd> </dl></dd> <dt><a name="34"><b class="cmd">struct::graph::op::BFS</b> <i class="arg">G</i> <i class="arg">s</i> <span class="opt">?<i class="arg">outputFormat</i>...?</span></a></dt> <dd><p>Breadth-First Search - algorithm creates the BFS Tree. Memory and time complexity: <i class="term">O(V + E)</i>, where <i class="term">V</i> is the number of nodes and <i class="term"><a href="../../../../index.html#key793">E</a></i> is number of edges.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Input graph.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> |
︙ | ︙ | |||
634 635 636 637 638 639 640 | <dd><p>When selected <b class="option">outputFormat</b> is <b class="option">tree</b> - procedure returns a tree structure (<b class="cmd"><a href="struct_tree.html">struct::tree</a></b>), which is equivalent to BFS tree found by algorithm.</p></dd> </dl></dd> </dl></dd> <dt><a name="35"><b class="cmd">struct::graph::op::MinimumDiameterSpanningTree</b> <i class="arg">G</i></a></dt> <dd><p>The goal is to find for input graph <i class="arg">G</i>, the <i class="term">spanning tree</i> that has the minimum <i class="term"><a href="../../../../index.html#key434">diameter</a></i> value.</p> | | | | | | | | 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 | <dd><p>When selected <b class="option">outputFormat</b> is <b class="option">tree</b> - procedure returns a tree structure (<b class="cmd"><a href="struct_tree.html">struct::tree</a></b>), which is equivalent to BFS tree found by algorithm.</p></dd> </dl></dd> </dl></dd> <dt><a name="35"><b class="cmd">struct::graph::op::MinimumDiameterSpanningTree</b> <i class="arg">G</i></a></dt> <dd><p>The goal is to find for input graph <i class="arg">G</i>, the <i class="term">spanning tree</i> that has the minimum <i class="term"><a href="../../../../index.html#key434">diameter</a></i> value.</p> <p>General idea of algorithm is to run <i class="term"><a href="../../../../index.html#key441">BFS</a></i> over all vertices in graph <i class="arg">G</i>. If the diameter <i class="term">d</i> of the tree is odd, then we are sure that tree given by <i class="term"><a href="../../../../index.html#key441">BFS</a></i> is minimum (considering diameter value). When, diameter <i class="term">d</i> is even, then optimal tree can have minimum <i class="term"><a href="../../../../index.html#key434">diameter</a></i> equal to <i class="term">d</i> or <i class="term">d-1</i>.</p> <p>In that case, what algorithm does is rebuilding the tree given by <i class="term"><a href="../../../../index.html#key441">BFS</a></i>, by adding a vertice between root node and root's child node (nodes), such that subtree created with child node as root node is the greatest one (has the greatests height). In the next step for such rebuilded tree, we run again <i class="term"><a href="../../../../index.html#key441">BFS</a></i> with new node as root node. If the height of the tree didn't changed, we have found a better solution.</p> <p>For input graph <i class="arg">G</i> algorithm returns the graph structure (<b class="cmd"><a href="graph.html">struct::graph</a></b>) that is a spanning tree with minimum diameter found by algorithm.</p></dd> <dt><a name="36"><b class="cmd">struct::graph::op::MinimumDegreeSpanningTree</b> <i class="arg">G</i></a></dt> <dd><p>Algorithm finds for input graph <i class="arg">G</i>, a spanning tree <i class="term">T</i> with the minimum possible degree. That problem is <i class="term">NP-hard</i>, so algorithm is an approximation algorithm.</p> <p>Let <i class="term">V</i> be the set of nodes for graph <i class="arg">G</i> and let <i class="term">W</i> be any subset of <i class="term">V</i>. Lets assume also that <i class="term">OPT</i> is optimal solution and <i class="term">ALG</i> is solution found by algorithm for input graph <i class="arg">G</i>.</p> <p>It can be proven that solution found with the algorithm must fulfil inequality:</p> <p><i class="term">((|W| + k - 1) / |W|) <= ALG <= 2*OPT + log2(n) + 1</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Undirected simple graph.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Algorithm returns graph structure, which is equivalent to spanning tree <i class="term">T</i> found by algorithm.</p></dd> </dl></dd> <dt><a name="37"><b class="cmd">struct::graph::op::MaximumFlowByDinic</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i> <i class="arg">blockingFlowAlg</i></a></dt> <dd><p>Algorithm finds <span class="sectref"><a href="#subsection6">maximum flow</a></span> for the flow network represented by graph <i class="arg">G</i>. It is based on the blocking-flow finding methods, which give us different complexities what makes a better fit for different graphs.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Directed graph <i class="arg">G</i> representing the flow network. Each edge should have attribute <i class="term">throughput</i> set with integer value.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> <dd><p>The source node for the flow network <i class="arg">G</i>.</p></dd> <dt>Node <i class="arg">t</i> (input)</dt> <dd><p>The sink node for the flow network <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Options:</dt> |
︙ | ︙ | |||
701 702 703 704 705 706 707 | <dt><a name="38"><b class="cmd">struct::graph::op::BlockingFlowByDinic</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking flow</a></span>, which can be used to obtain a <i class="term"><a href="../../../../index.html#key474">maximum flow</a></i> for that network <i class="arg">G</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> | | | | | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 | <dt><a name="38"><b class="cmd">struct::graph::op::BlockingFlowByDinic</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking flow</a></span>, which can be used to obtain a <i class="term"><a href="../../../../index.html#key474">maximum flow</a></i> for that network <i class="arg">G</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Directed graph <i class="arg">G</i> representing the flow network. Each edge should have attribute <i class="term">throughput</i> set with integer value.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> <dd><p>The source node for the flow network <i class="arg">G</i>.</p></dd> <dt>Node <i class="arg">t</i> (input)</dt> <dd><p>The sink node for the flow network <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n*m)</i>, where <i class="term">n</i> is the number of nodes and <i class="term">m</i> is the number of edges in flow network <i class="arg">G</i>.</p></dd> <dt><a name="39"><b class="cmd">struct::graph::op::BlockingFlowByMKM</b> <i class="arg">G</i> <i class="arg">s</i> <i class="arg">t</i></a></dt> <dd><p>Algorithm for given network <i class="arg">G</i> with source <i class="arg">s</i> and sink <i class="arg">t</i>, finds a <span class="sectref"><a href="#subsection6">blocking flow</a></span>, which can be used to obtain a <i class="term"><a href="../../../../index.html#key474">maximum flow</a></i> for that <i class="term"><a href="../../../../index.html#key654">network</a></i> <i class="arg">G</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Directed graph <i class="arg">G</i> representing the flow network. Each edge should have attribute <i class="term">throughput</i> set with integer value.</p></dd> <dt>Node <i class="arg">s</i> (input)</dt> <dd><p>The source node for the flow network <i class="arg">G</i>.</p></dd> <dt>Node <i class="arg">t</i> (input)</dt> <dd><p>The sink node for the flow network <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network <i class="arg">G</i>.</p></dd> </dl> <p><em>Note:</em> Algorithm's complexity is <i class="term">O(n^2)</i>, where <i class="term">n</i> is the number of nodes in flow network <i class="arg">G</i>.</p></dd> <dt><a name="40"><b class="cmd">struct::graph::op::createResidualGraph</b> <i class="arg">G</i> <i class="arg">f</i></a></dt> <dd><p>Procedure creates a <i class="term"><a href="../../../../index.html#key442">residual graph</a></i> (or <span class="sectref"><a href="#subsection6">residual network</a></span> ) for network <i class="arg">G</i> and given flow <i class="arg">f</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Flow network (directed graph where each edge has set attribute: <i class="term">throughput</i> ).</p></dd> <dt>dictionary <i class="arg">f</i> (input)</dt> <dd><p>Current flows in flow network <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Procedure returns graph structure that is a <i class="term"><a href="../../../../index.html#key442">residual graph</a></i> created from input flow network <i class="arg">G</i>.</p></dd> </dl></dd> <dt><a name="41"><b class="cmd">struct::graph::op::createAugmentingNetwork</b> <i class="arg">G</i> <i class="arg">f</i> <i class="arg">path</i></a></dt> <dd><p>Procedure creates an <span class="sectref"><a href="#subsection6">augmenting network</a></span> for a given residual network <i class="arg">G</i> , flow <i class="arg">f</i> and augmenting path <i class="arg">path</i>.</p> <dl class="definitions"> <dt>Arguments:</dt> <dd><dl class="arguments"> <dt>Graph Object <i class="arg">G</i> (input)</dt> <dd><p>Residual network (directed graph), where for every edge there are set two attributes: throughput and cost.</p></dd> <dt>Dictionary <i class="arg">f</i> (input)</dt> |
︙ | ︙ | |||
809 810 811 812 813 814 815 | <dt>List <i class="arg">C</i> (input)</dt> <dd><p>A list of edges being <i class="term">Hamiltonian cycle</i>, which is solution of <i class="term">TSP Problem</i> for graph <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Algorithm returns the best solution for <i class="term">TSP problem</i>, it was able to find.</p></dd> </dl> <p><em>Note:</em> In practise 3-approximation algorithm turns out to be far more effective than 2-approximation, but it gives | | | | | | | | | | | | | | | | | | 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 | <dt>List <i class="arg">C</i> (input)</dt> <dd><p>A list of edges being <i class="term">Hamiltonian cycle</i>, which is solution of <i class="term">TSP Problem</i> for graph <i class="arg">G</i>.</p></dd> </dl></dd> <dt>Result:</dt> <dd><p>Algorithm returns the best solution for <i class="term">TSP problem</i>, it was able to find.</p></dd> </dl> <p><em>Note:</em> In practise 3-approximation algorithm turns out to be far more effective than 2-approximation, but it gives worser approximation factor. Further heuristics of local searching (e.g. 4-approximation) doesn't give enough boost to square the increase of approximation factor, so 2 and 3 approximations are mainly used.</p></dd> <dt><a name="45"><b class="cmd">struct::graph::op::createSquaredGraph</b> <i class="arg">G</i></a></dt> <dd><p>X-Squared graph is a graph with the same set of nodes as input graph <i class="arg">G</i>, but a different set of edges. X-Squared graph has edge <i class="term">(u,v)</i>, if and only if, the distance between <i class="term">u</i> and <i class="term">v</i> nodes is not greater than X and <i class="term">u != v</i>.</p> <p>Procedure for input graph <i class="arg">G</i>, returns its two-squared graph.</p> <p><em>Note:</em> Distances used in choosing new set of edges are considering the number of edges, not the sum of weights at edges.</p></dd> <dt><a name="46"><b class="cmd">struct::graph::op::createCompleteGraph</b> <i class="arg">G</i> <i class="arg">originalEdges</i></a></dt> <dd><p>For input graph <i class="arg">G</i> procedure adds missing arcs to make it a <i class="term"><a href="../../../../index.html#key464">complete graph</a></i>. It also holds in variable <i class="arg">originalEdges</i> the set of arcs that graph <i class="arg">G</i> possessed before that operation.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Background theory and terms</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Shortest Path Problem</a></h3> <dl class="definitions"> <dt>Definition (<i class="term">single-pair shortest path problem</i>):</dt> <dd><p>Formally, given a weighted graph (let <i class="term">V</i> be the set of vertices, and <i class="term"><a href="../../../../index.html#key793">E</a></i> a set of edges), and one vertice <i class="term">v</i> of <i class="term">V</i>, find a path <i class="term">P</i> from <i class="term">v</i> to a <i class="term">v'</i> of V so that the sum of weights on edges along the path is minimal among all paths connecting v to v'.</p></dd> <dt>Generalizations:</dt> <dd><ul class="itemized"> <li><p><i class="term">The single-source shortest path problem</i>, in which we have to find shortest paths from a source vertex v to all other vertices in the graph.</p></li> <li><p><i class="term">The single-destination shortest path problem</i>, in which we have to find shortest paths from all vertices in the graph to a single destination vertex v. This can be reduced to the single-source shortest path problem by reversing the edges in the graph.</p></li> <li><p><i class="term">The all-pairs shortest path problem</i>, in which we have to find shortest paths between every pair of vertices v, v' in the graph.</p></li> </ul> <p><em>Note:</em> The result of <i class="term">Shortest Path problem</i> can be <i class="term">Shortest Path tree</i>, which is a subgraph of a given (possibly weighted) graph constructed so that the distance between a selected root node and all other nodes is minimal. It is a tree because if there are two paths between the root node and some vertex v (i.e. a cycle), we can delete the last edge of the longer path without increasing the distance from the root node to any node in the subgraph.</p></dd> </dl> </div> <div id="subsection2" class="subsection"><h3><a name="subsection2">Travelling Salesman Problem</a></h3> <dl class="definitions"> <dt>Definition:</dt> <dd><p>For given edge-weighted (weights on edges should be positive) graph the goal is to find the cycle that visits each node in graph exactly once (<i class="term">Hamiltonian cycle</i>).</p></dd> <dt>Generalizations:</dt> <dd><ul class="itemized"> <li><p><i class="term">Metric TSP</i> - A very natural restriction of the <i class="term">TSP</i> is to require that the distances between cities form a <i class="term">metric</i>, i.e., they satisfy <i class="term">the triangle inequality</i>. That is, for any 3 cities <i class="term">A</i>, <i class="term">B</i> and <i class="term"><a href="../../../../index.html#key501">C</a></i>, the distance between <i class="term">A</i> and <i class="term"><a href="../../../../index.html#key501">C</a></i> must be at most the distance from <i class="term">A</i> to <i class="term">B</i> plus the distance from <i class="term">B</i> to <i class="term"><a href="../../../../index.html#key501">C</a></i>. Most natural instances of <i class="term">TSP</i> satisfy this constraint.</p></li> <li><p><i class="term">Euclidean TSP</i> - Euclidean TSP, or <i class="term">planar TSP</i>, is the <i class="term">TSP</i> with the distance being the ordinary <i class="term">Euclidean distance</i>. <i class="term">Euclidean TSP</i> is a particular case of <i class="term">TSP</i> with <i class="term">triangle inequality</i>, since distances in plane obey triangle inequality. However, it seems to be easier than general <i class="term">TSP</i> with <i class="term">triangle inequality</i>. For example, <i class="term">the minimum spanning tree</i> of the graph associated with an instance of <i class="term">Euclidean TSP</i> is a <i class="term">Euclidean minimum spanning tree</i>, and so can be computed in expected <i class="term">O(n log n)</i> time for <i class="term">n</i> points (considerably less than the number of edges). This enables the simple <i class="term">2-approximation algorithm</i> for TSP with triangle inequality above to operate more quickly.</p></li> <li><p><i class="term">Asymmetric TSP</i> - In most cases, the distance between two nodes in the <i class="term">TSP</i> network is the same in both directions. The case where the distance from <i class="term">A</i> to <i class="term">B</i> is not equal to the distance from <i class="term">B</i> to <i class="term">A</i> is called <i class="term">asymmetric TSP</i>. A practical application of an <i class="term">asymmetric TSP</i> is route optimisation using street-level routing (asymmetric due to one-way streets, slip-roads and motorways).</p></li> </ul></dd> </dl> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">Matching Problem</a></h3> <dl class="definitions"> <dt>Definition:</dt> <dd><p>Given a graph <i class="term">G = (V,E)</i>, a matching or <i class="term">edge-independent set</i> <i class="term">M</i> in <i class="term">G</i> is a set of pairwise non-adjacent edges, that is, no two edges share a common vertex. A vertex is <i class="term">matched</i> if it is incident to an edge in the <i class="term">matching M</i>. Otherwise the vertex is <i class="term">unmatched</i>.</p></dd> <dt>Generalizations:</dt> <dd><ul class="itemized"> <li><p><i class="term">Maximal matching</i> - a matching <i class="term">M</i> of a graph G with the property that if any edge not in <i class="term">M</i> is added to <i class="term">M</i>, it is no longer a <i class="term"><a href="../../../../index.html#key5">matching</a></i>, that is, <i class="term">M</i> is maximal if it is not a proper subset of any other <i class="term"><a href="../../../../index.html#key5">matching</a></i> in graph G. In other words, a <i class="term">matching M</i> of a graph G is maximal if every edge in G has a non-empty intersection with at least one edge in <i class="term">M</i>.</p></li> <li><p><i class="term">Maximum matching</i> - a matching that contains the largest possible number of edges. There may be many <i class="term">maximum matchings</i>. The <i class="term">matching number</i> of a graph G is the size of a <i class="term">maximum matching</i>. Note that every <i class="term">maximum matching</i> is <i class="term">maximal</i>, but not every <i class="term">maximal matching</i> is a <i class="term">maximum matching</i>.</p></li> <li><p><i class="term">Perfect matching</i> - a matching which matches all vertices of the graph. That is, every vertex of the graph is incident to exactly one edge of the matching. Every <i class="term">perfect matching</i> is <i class="term"><a href="../../../../index.html#key288">maximum</a></i> and hence <i class="term">maximal</i>. In some literature, the term <i class="term">complete matching</i> is used. A <i class="term">perfect matching</i> is also a <i class="term">minimum-size edge cover</i>. Moreover, the size of a <i class="term">maximum matching</i> is no larger than the size of a <i class="term">minimum edge cover</i>.</p></li> <li><p><i class="term">Near-perfect matching</i> - a matching in which exactly one vertex is unmatched. This can only occur when the graph has an odd number of vertices, and such a <i class="term"><a href="../../../../index.html#key5">matching</a></i> must be <i class="term"><a href="../../../../index.html#key288">maximum</a></i>. If, for every vertex in a graph, there is a near-perfect matching that omits only that vertex, the graph is also called <i class="term">factor-critical</i>.</p></li> </ul></dd> <dt>Related terms:</dt> <dd><ul class="itemized"> <li><p><i class="term">Alternating path</i> - given a matching <i class="term">M</i>, an <i class="term">alternating path</i> is a path in which the edges belong alternatively to the matching and not to the matching.</p></li> <li><p><i class="term"><a href="../../../../index.html#key466">Augmenting path</a></i> - given a matching <i class="term">M</i>, an <i class="term"><a href="../../../../index.html#key466">augmenting path</a></i> is an <i class="term">alternating path</i> that starts from and ends on free (unmatched) vertices.</p></li> </ul></dd> </dl> </div> <div id="subsection4" class="subsection"><h3><a name="subsection4">Cut Problems</a></h3> <dl class="definitions"> <dt>Definition:</dt> <dd><p>A <i class="term">cut</i> is a partition of the vertices of a graph into two <i class="term">disjoint subsets</i>. The <i class="term">cut-set</i> of the <i class="term">cut</i> is the set of edges whose end points are in different subsets of the partition. Edges are said to be crossing the cut if they are in its <i class="term">cut-set</i>.</p> <p>Formally:</p> <ul class="itemized"> <li><p>a <i class="term">cut</i> <i class="term">C = (S,T)</i> is a partition of <i class="term">V</i> of a graph <i class="term">G = (V, E)</i>.</p></li> <li><p>an <i class="term">s-t cut</i> <i class="term">C = (S,T)</i> of a <i class="term"><a href="../../../../index.html#key475">flow network</a></i> <i class="term">N = (V, E)</i> is a cut of <i class="term">N</i> such that <i class="term">s</i> is included in <i class="term">S</i> and <i class="term">t</i> is included in <i class="term">T</i>, where <i class="term">s</i> and <i class="term">t</i> are the <i class="term"><a href="../../../../index.html#key411">source</a></i> and the <i class="term">sink</i> of <i class="term">N</i> respectively.</p></li> <li><p>The <i class="term">cut-set</i> of a <i class="term">cut C = (S,T)</i> is such set of edges from graph <i class="term">G = (V, E)</i> that each edge <i class="term">(u, v)</i> satisfies condition that <i class="term">u</i> is included in <i class="term">S</i> and <i class="term">v</i> is included in <i class="term">T</i>.</p></li> </ul> <p>In an <i class="term">unweighted undirected</i> graph, the size or weight of a cut is the number of edges crossing the cut. In a <i class="term">weighted graph</i>, the same term is defined by the sum of the weights of the edges crossing the cut.</p> <p>In a <i class="term"><a href="../../../../index.html#key475">flow network</a></i>, an <i class="term">s-t cut</i> is a cut that requires the <i class="term"><a href="../../../../index.html#key411">source</a></i> and the <i class="term">sink</i> to be in different subsets, and its <i class="term">cut-set</i> only consists of edges going from the <i class="term">source's</i> side to the <i class="term">sink's</i> side. The capacity of an <i class="term">s-t cut</i> is defined by the sum of capacity of each edge in the <i class="term">cut-set</i>.</p> <p>The <i class="term">cut</i> of a graph can sometimes refer to its <i class="term">cut-set</i> instead of the partition.</p></dd> <dt>Generalizations:</dt> <dd><ul class="itemized"> <li><p><i class="term">Minimum cut</i> - A cut is minimum if the size of the cut is not larger than the size of any other cut.</p></li> <li><p><i class="term">Maximum cut</i> - A cut is maximum if the size of the cut is not smaller than the size of any other cut.</p></li> |
︙ | ︙ | |||
957 958 959 960 961 962 963 | <i class="term">max-flow min-cut theorem</i>.</p> <p>More formally for flow network <i class="term">G = (V,E)</i>, where for each edge <i class="term">(u, v)</i> we have its throuhgput <i class="term">c(u,v)</i> defined. As <i class="term"><a href="../../../../index.html#key127">flow</a></i> <i class="term">F</i> we define set of non-negative integer attributes <i class="term">f(u,v)</i> assigned to edges, satisfying such conditions:</p> <ol class="enumerated"> <li><p>for each edge <i class="term">(u, v)</i> in <i class="term">G</i> such condition should be satisfied: 0 <= f(u,v) <= c(u,v)</p></li> <li><p>Network <i class="term">G</i> has source node <i class="term">s</i> such that the flow <i class="term">F</i> is equal to the sum of outcoming flow decreased by the sum of incoming flow from that source node <i class="term">s</i>.</p></li> <li><p>Network <i class="term">G</i> has sink node <i class="term">t</i> such that the the <i class="term">-F</i> value is equal to the sum of the incoming flow decreased by the sum of outcoming flow from that sink node <i class="term">t</i>.</p></li> | | | | | 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 | <i class="term">max-flow min-cut theorem</i>.</p> <p>More formally for flow network <i class="term">G = (V,E)</i>, where for each edge <i class="term">(u, v)</i> we have its throuhgput <i class="term">c(u,v)</i> defined. As <i class="term"><a href="../../../../index.html#key127">flow</a></i> <i class="term">F</i> we define set of non-negative integer attributes <i class="term">f(u,v)</i> assigned to edges, satisfying such conditions:</p> <ol class="enumerated"> <li><p>for each edge <i class="term">(u, v)</i> in <i class="term">G</i> such condition should be satisfied: 0 <= f(u,v) <= c(u,v)</p></li> <li><p>Network <i class="term">G</i> has source node <i class="term">s</i> such that the flow <i class="term">F</i> is equal to the sum of outcoming flow decreased by the sum of incoming flow from that source node <i class="term">s</i>.</p></li> <li><p>Network <i class="term">G</i> has sink node <i class="term">t</i> such that the the <i class="term">-F</i> value is equal to the sum of the incoming flow decreased by the sum of outcoming flow from that sink node <i class="term">t</i>.</p></li> <li><p>For each node that is not a <i class="term"><a href="../../../../index.html#key411">source</a></i> or <i class="term">sink</i> the sum of incoming flow and sum of outcoming flow should be equal.</p></li> </ol> </li> <li><p><i class="term">the minimum cost flow problem</i> - the goal is finding the cheapest possible way of sending a certain amount of flow through a <i class="term"><a href="../../../../index.html#key475">flow network</a></i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key432">blocking flow</a></i> - a <i class="term"><a href="../../../../index.html#key432">blocking flow</a></i> for a <i class="term">residual network</i> <i class="term">Gf</i> we name such flow <i class="term">b</i> in <i class="term">Gf</i> that:</p> <ol class="enumerated"> <li><p>Each path from <i class="term">sink</i> to <i class="term"><a href="../../../../index.html#key411">source</a></i> is the shortest path in <i class="term">Gf</i>.</p></li> <li><p>Each shortest path in <i class="term">Gf</i> contains an edge with fully used throughput in <i class="term">Gf+b</i>.</p></li> </ol> </li> <li><p><i class="term">residual network</i> - for a flow network <i class="term">G</i> and flow <i class="term">f</i> <i class="term">residual network</i> is built with those edges, which can send larger flow. It contains only those edges, which can send flow larger than 0.</p></li> <li><p><i class="term">level network</i> - it has the same set of nodes as <i class="term"><a href="../../../../index.html#key442">residual graph</a></i>, but has only those edges <i class="term">(u,v)</i> from <i class="arg">Gf</i> for which such equality is satisfied: <i class="term">distance(s,u)+1 = distance(s,v)</i>.</p></li> <li><p><i class="term"><a href="../../../../index.html#key446">augmenting network</a></i> - it is a modification of <i class="term">residual network</i> considering the new flow values. Structure stays unchanged but values of throughputs and costs at edges are different.</p></li> </ul></dd> </dl> </div> |
︙ | ︙ | |||
1019 1020 1021 1022 1023 1024 1025 | <li><p><a href="http://en.wikipedia.org/wiki/Dinic's_algorithm">Dinic's algorithm</a></p></li> <li><p><a href="http://www.csc.kth.se/~viggo/wwwcompendium/node128.html">K-Center problem</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Breadth-first_search">BFS</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Degree-constrained_spanning_tree">Minimum Degree Spanning Tree</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Approximation_algorithm">Approximation algorithm</a></p></li> </ol> </div> | | | | | 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 | <li><p><a href="http://en.wikipedia.org/wiki/Dinic's_algorithm">Dinic's algorithm</a></p></li> <li><p><a href="http://www.csc.kth.se/~viggo/wwwcompendium/node128.html">K-Center problem</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Breadth-first_search">BFS</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Degree-constrained_spanning_tree">Minimum Degree Spanning Tree</a></p></li> <li><p><a href="http://en.wikipedia.org/wiki/Approximation_algorithm">Approximation algorithm</a></p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: graph</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key444">adjacency list</a>, <a href="../../../../index.html#key468">adjacency matrix</a>, <a href="../../../../index.html#key461">adjacent</a>, <a href="../../../../index.html#key470">approximation algorithm</a>, <a href="../../../../index.html#key449">arc</a>, <a href="../../../../index.html#key459">articulation point</a>, <a href="../../../../index.html#key446">augmenting network</a>, <a href="../../../../index.html#key466">augmenting path</a>, <a href="../../../../index.html#key441">bfs</a>, <a href="../../../../index.html#key471">bipartite</a>, <a href="../../../../index.html#key432">blocking flow</a>, <a href="../../../../index.html#key443">bridge</a>, <a href="../../../../index.html#key464">complete graph</a>, <a href="../../../../index.html#key457">connected component</a>, <a href="../../../../index.html#key460">cut edge</a>, <a href="../../../../index.html#key462">cut vertex</a>, <a href="../../../../index.html#key451">degree</a>, <a href="../../../../index.html#key452">degree constrained spanning tree</a>, <a href="../../../../index.html#key434">diameter</a>, <a href="../../../../index.html#key472">dijkstra</a>, <a href="../../../../index.html#key455">distance</a>, <a href="../../../../index.html#key477">eccentricity</a>, <a href="../../../../index.html#key436">edge</a>, <a href="../../../../index.html#key475">flow network</a>, <a href="../../../../index.html#key283">graph</a>, <a href="../../../../index.html#key450">heuristic</a>, <a href="../../../../index.html#key447">independent set</a>, <a href="../../../../index.html#key467">isthmus</a>, <a href="../../../../index.html#key463">level graph</a>, <a href="../../../../index.html#key458">local searching</a>, <a href="../../../../index.html#key433">loop</a>, <a href="../../../../index.html#key5">matching</a>, <a href="../../../../index.html#key454">max cut</a>, <a href="../../../../index.html#key474">maximum flow</a>, <a href="../../../../index.html#key437">minimal spanning tree</a>, <a href="../../../../index.html#key448">minimum cost flow</a>, <a href="../../../../index.html#key438">minimum degree spanning tree</a>, <a href="../../../../index.html#key476">minimum diameter spanning tree</a>, <a href="../../../../index.html#key465">neighbour</a>, <a href="../../../../index.html#key439">node</a>, <a href="../../../../index.html#key445">radius</a>, <a href="../../../../index.html#key442">residual graph</a>, <a href="../../../../index.html#key453">shortest path</a>, <a href="../../../../index.html#key469">squared graph</a>, <a href="../../../../index.html#key431">strongly connected component</a>, <a href="../../../../index.html#key456">subgraph</a>, <a href="../../../../index.html#key435">travelling salesman</a>, <a href="../../../../index.html#key440">vertex</a>, <a href="../../../../index.html#key473">vertex cover</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Alejandro Paz <[email protected]><br> Copyright © 2008 (docs) Andreas Kupries <[email protected]><br> Copyright © 2009 Michal Antoniewski <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/matrix.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
535 536 537 538 539 540 541 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m </pre> </div> | | | | 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: matrix</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key55">matrix</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/matrix1.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
426 427 428 429 430 431 432 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m </pre> </div> | | | | 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: matrix</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key55">matrix</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/pool.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">POOLS AND ALLOCATION</a></li> <li class="section"><a href="#section3">ITEMS</a></li> <li class="section"><a href="#section4">POOL OBJECT COMMAND</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">POOLS AND ALLOCATION</a></li> <li class="section"><a href="#section3">ITEMS</a></li> <li class="section"><a href="#section4">POOL OBJECT COMMAND</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | list of options and their behaviour.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">POOLS AND ALLOCATION</a></h2> <p>The purpose of the pool command and the pool object command that it generates, is to manage pools of discrete items. | < | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | list of options and their behaviour.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">POOLS AND ALLOCATION</a></h2> <p>The purpose of the pool command and the pool object command that it generates, is to manage pools of discrete items. Examples of a pool of discrete items are:</p> <ul class="itemized"> <li><p>the seats in a cinema, theatre, train etc.. for which visitors/travelers can make a reservation;</p></li> <li><p>the dynamic IP-addresses that an ISP can dole out to subscribers;</p></li> <li><p>a car rental's collection of cars, which can be rented by customers;</p></li> <li><p>the class rooms in a school building, which need to be scheduled;</p></li> <li><p>the database connections available to client-threads in a web-server application;</p></li> |
︙ | ︙ | |||
198 199 200 201 202 203 204 | <i class="term">owned</i> or <i class="term">occupied</i>; it is not available anymore. If an item is <i class="term">free</i>, it is <i class="term">available</i>. Deallocating an item is equivalent to setting free or releasing an item. The person or entity to which the item has been allotted is said to own the item.</p> </div> <div id="section3" class="section"><h2><a name="section3">ITEMS</a></h2> <p><em>Discrete items</em></p> | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | <i class="term">owned</i> or <i class="term">occupied</i>; it is not available anymore. If an item is <i class="term">free</i>, it is <i class="term">available</i>. Deallocating an item is equivalent to setting free or releasing an item. The person or entity to which the item has been allotted is said to own the item.</p> </div> <div id="section3" class="section"><h2><a name="section3">ITEMS</a></h2> <p><em>Discrete items</em></p> <p>The <b class="cmd"><a href="../../../../index.html#key282">pool</a></b> command is designed for <em>discrete items only</em>. Note that there are pools where allocation occurs on a non-discrete basis, for example computer memory. There are also pools from which the shares that are doled out are not expected to be returned, for example a charity fund or a pan of soup from which you may receive a portion. Finally, there are even pools from which nothing is ever allocated or returned, like a swimming pool or a cesspool.</p> |
︙ | ︙ | |||
228 229 230 231 232 233 234 | manage such item properties. If item properties play a role in an application, they should be managed separately.</p> </div> <div id="section4" class="section"><h2><a name="section4">POOL OBJECT COMMAND</a></h2> <p>The following subcommands and corresponding arguments are available to any pool object command.</p> <dl class="definitions"> | < | 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | manage such item properties. If item properties play a role in an application, they should be managed separately.</p> </div> <div id="section4" class="section"><h2><a name="section4">POOL OBJECT COMMAND</a></h2> <p>The following subcommands and corresponding arguments are available to any pool object command.</p> <dl class="definitions"> <dt><a name="3"><i class="arg">poolName</i> <b class="method">add</b> <i class="arg">itemName1</i> <span class="opt">?<i class="arg">itemName2 itemName3 ...</i>?</span></a></dt> <dd><p>This command adds the items on the command line to the pool. If duplicate item names occur on the command line, an error is raised. If one or more of the items already exist in the pool, this also is considered an error.</p></dd> <dt><a name="4"><i class="arg">poolName</i> <b class="method">clear</b> <span class="opt">?<b class="option">-force</b>?</span></a></dt> <dd><p>Removes all items from the pool. If there are any allocated items at |
︙ | ︙ | |||
252 253 254 255 256 257 258 | <b class="option">-force</b>. If it is supplied on the command line, the pool data structure will be destroyed regardless allocation state of its items.</p></dd> <dt><a name="6"><i class="arg">poolName</i> <b class="method">info</b> <i class="arg">type</i> <span class="opt">?<i class="arg">arg</i>?</span></a></dt> <dd><p>Returns various information about the pool for further programmatic use. The <i class="arg">type</i> argument indicates the type of information requested. Only the type <b class="const">allocID</b> uses an additional argument.</p> <dl class="definitions"> | < | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 | <b class="option">-force</b>. If it is supplied on the command line, the pool data structure will be destroyed regardless allocation state of its items.</p></dd> <dt><a name="6"><i class="arg">poolName</i> <b class="method">info</b> <i class="arg">type</i> <span class="opt">?<i class="arg">arg</i>?</span></a></dt> <dd><p>Returns various information about the pool for further programmatic use. The <i class="arg">type</i> argument indicates the type of information requested. Only the type <b class="const">allocID</b> uses an additional argument.</p> <dl class="definitions"> <dt><b class="const">allocID</b> <i class="arg">itemName</i></dt> <dd><p>returns the allocID of the item whose name is <i class="arg">itemName</i>. Free items have an allocation id of <b class="const">-1</b>.</p></dd> <dt><b class="const">allitems</b></dt> <dd><p>returns a list of all items in the pool.</p></dd> <dt><b class="const">allocstate</b></dt> <dd><p>Returns a list of key-value pairs, where the keys are the items and |
︙ | ︙ | |||
307 308 309 310 311 312 313 | <p>The return values from this command are meant to be inspected. The examples below show how to do this. Failure to check the return value may result in erroneous behaviour. If no preference for a particular item is supplied through the option <b class="option">-prefer</b> (see below), then all requests are honoured as long as items are available.</p> <p>The following options are supported:</p> <dl class="definitions"> | < | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | <p>The return values from this command are meant to be inspected. The examples below show how to do this. Failure to check the return value may result in erroneous behaviour. If no preference for a particular item is supplied through the option <b class="option">-prefer</b> (see below), then all requests are honoured as long as items are available.</p> <p>The following options are supported:</p> <dl class="definitions"> <dt><b class="option">-allocID</b> <i class="arg">allocID</i></dt> <dd><p>If the request is honoured, an item will be allocated to the entity identified by allocID. If the allocation state of an item is queried, it is this allocation ID that will be returned. If the option <b class="option">-allocID</b> is not supplied, the item will be given to and owned by <b class="const">dummyID</b>. Allocation id's may be anything except the value -1, which is reserved for free items.</p></dd> |
︙ | ︙ | |||
342 343 344 345 346 347 348 | <p>In this example, brand names are used to label the various items. However, a brand name could be regarded as a property of an item. Because the pool command is not designed to manage properties of items, they need to be managed separately. In the latter case the items should be labeled with more neutral names such as: car1, car2, car3 , etc ... and a separate database or array should hold the brand names associated with the car labels.</p> | | < < < < < | | < < < | | < | | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 | <p>In this example, brand names are used to label the various items. However, a brand name could be regarded as a property of an item. Because the pool command is not designed to manage properties of items, they need to be managed separately. In the latter case the items should be labeled with more neutral names such as: car1, car2, car3 , etc ... and a separate database or array should hold the brand names associated with the car labels.</p> <pre class="example"> 1. Load the package into an interpreter % package require pool 0.1 2. Create a pool object called `CarPool' with a maximum size of 55 items (cars): % pool CarPool 55 CarPool 4. Add items to the pool: % CarPool add Toyota Trabant Chrysler1 Chrysler2 Volkswagen 5. Somebody crashed the Toyota. Remove it from the pool as follows: % CarPool remove Toyota 6. Acquired a new car for the pool. Add it as follows: % CarPool add Nissan 7. Check whether the pool was adjusted correctly: % CarPool info allitems Trabant Chrysler1 Chrysler2 Volkswagen Nissan </pre> <p>Suspend the interactive session temporarily, and show the programmatic use of the request subcommand:</p> <pre class="example"> # Mrs. Swift needs a car. She doesn't have a preference for a # particular car. We'll issue a request on her behalf as follows: if { [CarPool request car -allocID "Mrs. Swift"] } { # request was honoured, process the variable `car' puts "$car has been allocated to [CarPool info allocID $car]." } else { # request was denied puts "No car available." } </pre> <p>Note how the <b class="cmd">if</b> command uses the value returned by the <b class="method">request</b> subcommand.</p> <pre class="example"> # Suppose Mr. Wiggly has a preference for the Trabant: if { [CarPool request car -allocID "Mr. Wiggly" -prefer Trabant] } { # request was honoured, process the variable `car' puts "$car has been allocated to [CarPool info allocID $car]." } else { # request was denied puts "The Trabant was not available." } </pre> <p>Resume the interactive session:</p> <pre class="example"> 8. When the car is returned then you can render it available by: % CarPool release Trabant 9. When done, you delete the pool. % CarPool destroy Couldn't destroy `CarPool' because some items are still allocated. Oops, forgot that Mrs. Swift still occupies a car. 10. We force the destruction of the pool as follows: % CarPool destroy -force </pre> <p><em>Example 2</em></p> <p>This example describes the case from which the author's need for pool management originated. It is an example of a server application that receives requests from client applications. The client requests are dispatched onto a back-end application before being returned to the client application. In many cases there are a few equivalent instances of back-end applications to which a client request may be passed along. The file descriptors that identify the channels to these back-end instances make up a pool of connections. A particular connection may be allocated to just one client request at a time.</p> <pre class="example"> # Create the pool of connections (pipes) set maxpipes 10 pool Pipes $maxpipes for {set i 0} {$i < $maxpipes} {incr i} { set fd [open "|backendApplication" w+] Pipes add $fd } # A client request comes in. The request is identified as `clientX'. # Dispatch it onto an instance of a back-end application if { [Pipes request fd -allocID clientX] } { # a connection was allocated # communicate to the back-end application via the variable `fd' puts $fd "someInstruction" # ...... etc. } else { # all connections are currently occupied # store the client request in a queue for later processing, # or return a 'Server busy' message to the client. } </pre> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: pool</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key768">discrete items</a>, <a href="../../../../index.html#key769">finite</a>, <a href="../../../../index.html#key282">pool</a>, <a href="../../../../index.html#key318">struct</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Erik Leunissen <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/prioqueue.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <p>struct::prioqueue - Create and manipulate prioqueue objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <p>struct::prioqueue - Create and manipulate prioqueue objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
168 169 170 171 172 173 174 | <dt><a name="4"><i class="arg">prioqueueName</i> <b class="cmd"><a href="../../../../index.html#key226">remove</a></b> <i class="arg">item</i></a></dt> <dd><p>Remove the selected item from this priority queue.</p></dd> <dt><a name="5"><i class="arg">prioqueueName</i> <b class="cmd">destroy</b></a></dt> <dd><p>Destroy the prioqueue, including its storage space and associated command.</p></dd> <dt><a name="6"><i class="arg">prioqueueName</i> <b class="cmd">get</b> <span class="opt">?<i class="arg">count</i>?</span></a></dt> <dd><p>Return the front <i class="arg">count</i> items of the prioqueue (but not their | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | <dt><a name="4"><i class="arg">prioqueueName</i> <b class="cmd"><a href="../../../../index.html#key226">remove</a></b> <i class="arg">item</i></a></dt> <dd><p>Remove the selected item from this priority queue.</p></dd> <dt><a name="5"><i class="arg">prioqueueName</i> <b class="cmd">destroy</b></a></dt> <dd><p>Destroy the prioqueue, including its storage space and associated command.</p></dd> <dt><a name="6"><i class="arg">prioqueueName</i> <b class="cmd">get</b> <span class="opt">?<i class="arg">count</i>?</span></a></dt> <dd><p>Return the front <i class="arg">count</i> items of the prioqueue (but not their priorities) and remove them from the prioqueue. If <i class="arg">count</i> is not specified, it defaults to 1. If <i class="arg">count</i> is 1, the result is a simple string; otherwise, it is a list. If specified, <i class="arg">count</i> must be greater than or equal to 1. If there are no or too few items in the prioqueue, this command will throw an error.</p></dd> <dt><a name="7"><i class="arg">prioqueueName</i> <b class="cmd">peek</b> <span class="opt">?<i class="arg">count</i>?</span></a></dt> <dd><p>Return the front <i class="arg">count</i> items of the prioqueue (but not their |
︙ | ︙ | |||
200 201 202 203 204 205 206 | error is thrown and no item is added. Items are inserted at their priority ranking. Items with equal priority are added in the order they were added.</p></dd> <dt><a name="10"><i class="arg">prioqueueName</i> <b class="cmd">size</b></a></dt> <dd><p>Return the number of items in the prioqueue.</p></dd> </dl> </div> | | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | error is thrown and no item is added. Items are inserted at their priority ranking. Items with equal priority are added in the order they were added.</p></dd> <dt><a name="10"><i class="arg">prioqueueName</i> <b class="cmd">size</b></a></dt> <dd><p>Return the number of items in the prioqueue.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: prioqueue</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key735">ordered list</a>, <a href="../../../../index.html#key286">prioqueue</a>, <a href="../../../../index.html#key736">priority queue</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003 Michael Schlenker <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/queue.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>struct::queue - Create and manipulate queue objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>struct::queue - Create and manipulate queue objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
180 181 182 183 184 185 186 | <dd><p>Put the <i class="arg">item</i> into the queue, at the front, i.e. before any other items already in the queue. This makes this operation the complement to the method <b class="method">get</b>.</p></dd> <dt><a name="8"><i class="arg">queueName</i> <b class="cmd">size</b></a></dt> <dd><p>Return the number of items in the queue.</p></dd> </dl> </div> | | | | | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | <dd><p>Put the <i class="arg">item</i> into the queue, at the front, i.e. before any other items already in the queue. This makes this operation the complement to the method <b class="method">get</b>.</p></dd> <dt><a name="8"><i class="arg">queueName</i> <b class="cmd">size</b></a></dt> <dd><p>Return the number of items in the queue.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: queue</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key283">graph</a>, <a href="../../../../index.html#key280">list</a>, <a href="../../../../index.html#key55">matrix</a>, <a href="../../../../index.html#key282">pool</a>, <a href="../../../../index.html#key286">prioqueue</a>, <a href="../../../../index.html#key285">record</a>, <a href="../../../../index.html#key279">set</a>, <a href="../../../../index.html#key284">skiplist</a>, <a href="../../../../index.html#key281">stack</a>, <a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/record.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RECORD MEMBERS</a></li> <li class="section"><a href="#section3">RECORD COMMAND</a></li> <li class="section"><a href="#section4">INSTANCE COMMAND</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">RECORD MEMBERS</a></li> <li class="section"><a href="#section3">RECORD COMMAND</a></li> <li class="section"><a href="#section4">INSTANCE COMMAND</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | <li><a href="#11"><i class="arg">instanceName</i> <b class="method">cget</b> <span class="opt">?<i class="arg">-member1 -member2 ...</i>?</span></a></li> <li><a href="#12"><i class="arg">instanceName</i> <b class="method">configure</b> <span class="opt">?<i class="arg">-member1 value1 -member2 value2 ...</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="cmd">::struct::record</b> package provides a mechanism to group variables together | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <li><a href="#11"><i class="arg">instanceName</i> <b class="method">cget</b> <span class="opt">?<i class="arg">-member1 -member2 ...</i>?</span></a></li> <li><a href="#12"><i class="arg">instanceName</i> <b class="method">configure</b> <span class="opt">?<i class="arg">-member1 value1 -member2 value2 ...</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="cmd">::struct::record</b> package provides a mechanism to group variables together as one data structure, similar to a 'C' structure. The members of a record can be variables or other records. However, a record can not contain circular record, i.e. records that contain the same record as a member.</p> <p>This package was structured so that it is very similar to how Tk objects work. Each record definition creates a record object that encompasses that definition. Subsequently, that record object can create instances of that record. These instances can then be manipulated with the <b class="method">cget</b> and <b class="method">configure</b> methods.</p> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | <dt><a name="4"><b class="cmd">record show</b> <i class="arg">members</i> <i class="arg">recordName</i></a></dt> <dd><p>Returns the members that are defined for record <i class="arg">recordName</i>. It returns the same format as how the records were defined.</p></dd> <dt><a name="5"><b class="cmd">record show</b> <i class="arg">values</i> <i class="arg">instanceName</i></a></dt> <dd><p>Returns a list of values that are set for the instance <i class="arg">instanceName</i>. The output is a list of key/value pairs. If there | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | <dt><a name="4"><b class="cmd">record show</b> <i class="arg">members</i> <i class="arg">recordName</i></a></dt> <dd><p>Returns the members that are defined for record <i class="arg">recordName</i>. It returns the same format as how the records were defined.</p></dd> <dt><a name="5"><b class="cmd">record show</b> <i class="arg">values</i> <i class="arg">instanceName</i></a></dt> <dd><p>Returns a list of values that are set for the instance <i class="arg">instanceName</i>. The output is a list of key/value pairs. If there are nested records, then the values of the nested records will itself be a list.</p></dd> <dt><a name="6"><b class="cmd">record exists</b> <i class="arg">record</i> <i class="arg">recordName</i></a></dt> <dd><p>Tests for the existence of a <i class="arg">record</i> with the name <i class="arg">recordName</i>.</p></dd> <dt><a name="7"><b class="cmd">record exists</b> <i class="arg">instance</i> <i class="arg">instanceName</i></a></dt> <dd><p>Tests for the existence of a <i class="arg">instance</i> with the name <i class="arg">instanceName</i>.</p></dd> |
︙ | ︙ | |||
246 247 248 249 250 251 252 | <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem1 val1</p></li> <li><p>To set multiple member values, you can specify them all in one command:</p> <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem1 va1 -mem2 val2</p></li> <li><p>To set a value of a nested member, then use the dot notation:</p> <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem3.nest1 value</p></li> </ol> <p><em>Alias access</em></p> | | | | | | | < | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem1 val1</p></li> <li><p>To set multiple member values, you can specify them all in one command:</p> <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem1 va1 -mem2 val2</p></li> <li><p>To set a value of a nested member, then use the dot notation:</p> <p><i class="arg">instanceName</i> <b class="method">configure</b> -mem3.nest1 value</p></li> </ol> <p><em>Alias access</em></p> <p>In the original implementation, access was done by using dot notation similar to how 'C' structures are accessed. However, there was a concensus to make the interface more Tcl like, which made sense. However, the original alias access still exists. It might prove to be helpful to some.</p> <p>Basically, for every member of every instance, an alias is created. This alias is used to get and set values for that member. An example will illustrate the point, using the above defined records:</p> <pre class="example"> # Create an instance first % myrecord inst1 ::inst1 % # To get a member of an instance, just use the % # alias (it behaves like a Tcl command): % inst1.mem1 % % # To set a member via the alias, just include % # a value (optionally the equal sign - syntactic sugar) % inst1.mem1 = 5 5 % inst1.mem1 5 % # For nested records, just continue with the % # dot notation (note no equal sign) % inst1.mem3.nest1 10 10 % inst1.mem3.nest1 10 % # just the instance by itself gives all % # member/values pairs for that instance % inst1 -mem1 5 -mem2 {} -mem3 {-nest1 10 -nest2 {}} % # and to get all members within the nested record % inst1.mem3 -nest1 10 -nest2 {} % </pre> </div> <div id="section3" class="section"><h2><a name="section3">RECORD COMMAND</a></h2> <p>The following subcommands and corresponding arguments are available to any record command:</p> <dl class="definitions"> <dt><a name="10"><i class="arg">recordName</i> <b class="method"><i class="arg">instanceName|#auto</i></b> <span class="opt">?<i class="arg">-member1 value1 -member2 value2 ...</i>?</span></a></dt> <dd><p>Using the <i class="arg">recordName</i> object command that was created from the record definition, instances of the record definition can be created. Once a instance is created, then it inherits the members of the record definition, very similar to how objects work. During instance generation, an object command for the instance is created as well, using <i class="arg">instanceName</i>. This object command is used to access the data members of the instance. During the instantiation, values for that instance can be given, <em>but</em> all values must be given, and be given in key/value pairs. Nested records, need to be in list format.</p> <p>Optionally, <i class="arg">#auto</i> can be used in place of <i class="arg">instanceName</i>. When #auto is used, then a instance name will automatically be generated, of the form recordName<integer>, where <integer> is a unique integer (starting at 0) that is generated.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">INSTANCE COMMAND</a></h2> <p>The following subcommands and corresponding arguments are available to any record instance command:</p> <dl class="definitions"> <dt><a name="11"><i class="arg">instanceName</i> <b class="method">cget</b> <span class="opt">?<i class="arg">-member1 -member2 ...</i>?</span></a></dt> <dd><p>Each instance has the sub command <b class="method">cget</b> associated with it. This is very similar to how Tk widget's cget command works. It queries the values of the member for that particular instance. If no arguments are given, then a key/value list is returned.</p></dd> <dt><a name="12"><i class="arg">instanceName</i> <b class="method">configure</b> <span class="opt">?<i class="arg">-member1 value1 -member2 value2 ...</i>?</span></a></dt> <dd><p>Each instance has the sub command <b class="method">configure</b> associated with it. This |
︙ | ︙ | |||
327 328 329 330 331 332 333 | <p>Probably the most obvious example would be to hold contact information, such as addresses, phone numbers, comments, etc. Since a person can have multiple phone numbers, multiple email addresses, etc, we will use nested records to define these. So, the first thing we do is define the nested records:</p> <pre class="example"> ## | | | | | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | <p>Probably the most obvious example would be to hold contact information, such as addresses, phone numbers, comments, etc. Since a person can have multiple phone numbers, multiple email addresses, etc, we will use nested records to define these. So, the first thing we do is define the nested records:</p> <pre class="example"> ## ## This is an interactive example, to see what is ## returned by each command as well. ## % namespace import ::struct::record::* % # define a nested record. Notice that country has default 'USA'. % record define locations { street street2 city state zipcode {country USA} phone } ::locations % # Define the main record. Notice that it uses the location record twice. % record define contacts { first middle last {record locations home} {record locations work} } ::contacts % # Create an instance for the contacts record. % contacts cont1 ::cont1 |
︙ | ︙ | |||
410 411 412 413 414 415 416 | % foreach I [record show instances llist] { record delete instance $I } % record show instances llist % </pre> </div> | | | | 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 | % foreach I [record show instances llist] { record delete instance $I } % record show instances llist % </pre> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: record</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key319">data structures</a>, <a href="../../../../index.html#key285">record</a>, <a href="../../../../index.html#key318">struct</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002, Brett Schwarz <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/skiplist.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>struct::skiplist - Create and manipulate skiplists</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>struct::skiplist - Create and manipulate skiplists</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
178 179 180 181 182 183 184 | <dd><p>Return a count of the number of nodes in the skiplist.</p></dd> <dt><a name="7"><i class="arg">skiplistName</i> <b class="method">walk</b> <i class="arg">cmd</i></a></dt> <dd><p>Walk the skiplist from the first node to the last. At each node, the command <i class="arg">cmd</i> will be evaluated with the key and value of the current node appended.</p></dd> </dl> </div> | | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | <dd><p>Return a count of the number of nodes in the skiplist.</p></dd> <dt><a name="7"><i class="arg">skiplistName</i> <b class="method">walk</b> <i class="arg">cmd</i></a></dt> <dd><p>Walk the skiplist from the first node to the last. At each node, the command <i class="arg">cmd</i> will be evaluated with the key and value of the current node appended.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: skiplist</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key284">skiplist</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000 Keith Vetter</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/stack.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>struct::stack - Create and manipulate stack objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>struct::stack - Create and manipulate stack objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
194 195 196 197 198 199 200 | <dd><p>Push the <i class="arg">item</i> or items specified onto the stack. If more than one <i class="arg">item</i> is given, they will be pushed in the order they are listed.</p></dd> <dt><a name="12"><i class="arg">stackName</i> <b class="method">size</b></a></dt> <dd><p>Return the number of items on the stack.</p></dd> </dl> </div> | | | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | <dd><p>Push the <i class="arg">item</i> or items specified onto the stack. If more than one <i class="arg">item</i> is given, they will be pushed in the order they are listed.</p></dd> <dt><a name="12"><i class="arg">stackName</i> <b class="method">size</b></a></dt> <dd><p>Return the number of items on the stack.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: stack</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key283">graph</a>, <a href="../../../../index.html#key55">matrix</a>, <a href="../../../../index.html#key54">queue</a>, <a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/struct_list.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LONGEST COMMON SUBSEQUENCE AND FILE COMPARISON</a></li> <li class="section"><a href="#section4">TABLE JOIN</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">LONGEST COMMON SUBSEQUENCE AND FILE COMPARISON</a></li> <li class="section"><a href="#section4">TABLE JOIN</a></li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
604 605 606 607 608 609 610 | While this procedure is quite rapid for many tasks of file comparison, its performance degrades severely if <i class="arg">sequence2</i> contains many equal elements (as, for instance, when using this procedure to compare two files, a quarter of whose lines are blank. This drawback is intrinsic to the algorithm used (see the Reference for details).</p> <p>One approach to dealing with the performance problem that is sometimes effective in practice is arbitrarily to exclude elements that appear | | | 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 | While this procedure is quite rapid for many tasks of file comparison, its performance degrades severely if <i class="arg">sequence2</i> contains many equal elements (as, for instance, when using this procedure to compare two files, a quarter of whose lines are blank. This drawback is intrinsic to the algorithm used (see the Reference for details).</p> <p>One approach to dealing with the performance problem that is sometimes effective in practice is arbitrarily to exclude elements that appear more than a certain number of times. This number is provided as the <i class="arg">maxOccurs</i> parameter. If frequent lines are excluded in this manner, they will not appear in the common subsequence that is computed; the result will be the longest common subsequence of infrequent elements. The procedure <b class="method">longestCommonSubsequence2</b> implements this heuristic. It functions as a wrapper around <b class="method">longestCommonSubsequence</b>; it |
︙ | ︙ | |||
671 672 673 674 675 676 677 | {1 snarf} full outer join {1 snatz} = {1 snarf 1 snatz} {2 blue} {3 driver} {2 blue {} {}} {{} {} 3 driver} </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> | | | | | | | 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 | {1 snarf} full outer join {1 snatz} = {1 snarf 1 snatz} {2 blue} {3 driver} {2 blue {} {}} {{} {} 3 driver} </pre> </div> <div id="section5" class="section"><h2><a name="section5">REFERENCES</a></h2> <ol class="enumerated"> <li><p>J. W. Hunt and M. D. McIlroy, "An algorithm for differential file comparison," Comp. Sci. Tech. Rep. #41, Bell Telephone Laboratories (1976). Available on the Web at the second author's personal site: <a href="http://www.cs.dartmouth.edu/~doug/">http://www.cs.dartmouth.edu/~doug/</a></p></li> <li><p>Donald E. Knuth, "Fascicle 2b of 'The Art of Computer Programming' volume 4". Available on the Web at the author's personal site: <a href="http://www-cs-faculty.stanford.edu/~knuth/fasc2b.ps.gz">http://www-cs-faculty.stanford.edu/~knuth/fasc2b.ps.gz</a>.</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: list</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key548">Fisher-Yates</a>, <a href="../../../../index.html#key550">assign</a>, <a href="../../../../index.html#key531">common</a>, <a href="../../../../index.html#key533">comparison</a>, <a href="../../../../index.html#key542">diff</a>, <a href="../../../../index.html#key536">differential</a>, <a href="../../../../index.html#key539">equal</a>, <a href="../../../../index.html#key552">equality</a>, <a href="../../../../index.html#key214">filter</a>, <a href="../../../../index.html#key540">first permutation</a>, <a href="../../../../index.html#key537">flatten</a>, <a href="../../../../index.html#key545">folding</a>, <a href="../../../../index.html#key543">full outer join</a>, <a href="../../../../index.html#key551">generate permutations</a>, <a href="../../../../index.html#key547">inner join</a>, <a href="../../../../index.html#key538">join</a>, <a href="../../../../index.html#key532">left outer join</a>, <a href="../../../../index.html#key280">list</a>, <a href="../../../../index.html#key530">longest common subsequence</a>, <a href="../../../../index.html#key203">map</a>, <a href="../../../../index.html#key555">next permutation</a>, <a href="../../../../index.html#key554">outer join</a>, <a href="../../../../index.html#key529">permutation</a>, <a href="../../../../index.html#key208">reduce</a>, <a href="../../../../index.html#key553">repeating</a>, <a href="../../../../index.html#key271">repetition</a>, <a href="../../../../index.html#key546">reshuffle</a>, <a href="../../../../index.html#key534">reverse</a>, <a href="../../../../index.html#key535">right outer join</a>, <a href="../../../../index.html#key549">shuffle</a>, <a href="../../../../index.html#key544">subsequence</a>, <a href="../../../../index.html#key541">swapping</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2003-2005 by Kevin B. Kenny. All rights reserved<br> Copyright © 2003-2012 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/struct_set.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">REFERENCES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
220 221 222 223 224 225 226 | <dd><p>Returns a boolean value indicating if the set <i class="arg">A</i> is a true subset of or equal to the set <i class="arg">B</i> (<b class="const">true</b>), or not (<b class="const">false</b>).</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">REFERENCES</a></h2> </div> | | | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | <dd><p>Returns a boolean value indicating if the set <i class="arg">A</i> is a true subset of or equal to the set <i class="arg">B</i> (<b class="const">true</b>), or not (<b class="const">false</b>).</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">REFERENCES</a></h2> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: set</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key711">cardinality</a>, <a href="../../../../index.html#key714">difference</a>, <a href="../../../../index.html#key710">emptiness</a>, <a href="../../../../index.html#key712">exclusion</a>, <a href="../../../../index.html#key709">inclusion</a>, <a href="../../../../index.html#key713">intersection</a>, <a href="../../../../index.html#key708">membership</a>, <a href="../../../../index.html#key279">set</a>, <a href="../../../../index.html#key707">symmetric difference</a>, <a href="../../../../index.html#key606">union</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/struct_tree.html.
︙ | ︙ | |||
121 122 123 124 125 126 127 | <ul> <li class="subsection"><a href="#subsection1">Tree CLASS API</a></li> <li class="subsection"><a href="#subsection2">Tree OBJECT API</a></li> <li class="subsection"><a href="#subsection3">Changes for 2.0</a></li> </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a></li> | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | <ul> <li class="subsection"><a href="#subsection1">Tree CLASS API</a></li> <li class="subsection"><a href="#subsection2">Tree OBJECT API</a></li> <li class="subsection"><a href="#subsection3">Changes for 2.0</a></li> </ul> </li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
675 676 677 678 679 680 681 | mytree insert root end 1 2 ; # Ditto nodes 1 & 2 mytree insert 0 end 3 ; # Now create node 3 as child of node 0 mytree insert 0 end ; # Create another child of 0, with a # generated name. The name is returned # as the result of the command. </pre> </div> | | | | | 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 | mytree insert root end 1 2 ; # Ditto nodes 1 & 2 mytree insert 0 end 3 ; # Now create node 3 as child of node 0 mytree insert 0 end ; # Create another child of 0, with a # generated name. The name is returned # as the result of the command. </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: tree</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key685">breadth-first</a>, <a href="../../../../index.html#key683">depth-first</a>, <a href="../../../../index.html#key682">in-order</a>, <a href="../../../../index.html#key439">node</a>, <a href="../../../../index.html#key684">post-order</a>, <a href="../../../../index.html#key681">pre-order</a>, <a href="../../../../index.html#key115">serialization</a>, <a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002-2004,2012 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/struct/struct_tree1.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>struct::tree_v1 - Create and manipulate tree objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>struct::tree_v1 - Create and manipulate tree objects</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
330 331 332 333 334 335 336 | <b class="const">visit</b> actions occur during in-order walks. In a both-order walk, the command will be evaluated twice for each node; the action is <b class="const">enter</b> for the first evaluation, and <b class="const">leave</b> for the second.</p></dd> </dl></dd> </dl> </div> | | | | | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | <b class="const">visit</b> actions occur during in-order walks. In a both-order walk, the command will be evaluated twice for each node; the action is <b class="const">enter</b> for the first evaluation, and <b class="const">leave</b> for the second.</p></dd> </dl></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>struct :: tree</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key278">tree</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2002 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tar/tar.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | <p>tar - Tar file creation, extraction & manipulation</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | <p>tar - Tar file creation, extraction & manipulation</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
223 224 225 226 227 228 229 | as a single argument which is a proper list of filenames.</p> <dl class="options"> <dt><b class="option">-dereference</b></dt> <dd><p>Normally <b class="cmd">add</b> will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead.</p></dd> <dt><b class="option">-prefix</b> string</dt> | | | | | | | | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | as a single argument which is a proper list of filenames.</p> <dl class="options"> <dt><b class="option">-dereference</b></dt> <dd><p>Normally <b class="cmd">add</b> will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead.</p></dd> <dt><b class="option">-prefix</b> string</dt> <dd><p>Normally <b class="cmd">add</b> will store files under exactly the name specified as argument. Specifying a <span class="opt">?-prefix?</span> causes the <i class="arg">string</i> to be prepended to every name.</p></dd> <dt><b class="option">-quick</b></dt> <dd><p>The only sure way to find the position in the <i class="arg">tarball</i> where new files can be added is to read it from start, but if <i class="arg">tarball</i> was written with a "blocksize" of 1 (as this package does) then one can alternatively find this position by seeking from the end. The <span class="opt">?-quick?</span> option tells <b class="cmd">add</b> to do the latter.</p></dd> </dl></dd> <dt><a name="7"><b class="cmd">::tar::remove</b> <i class="arg">tarball</i> <i class="arg">files</i></a></dt> <dd><p>Removes <i class="arg">files</i> from the <i class="arg">tarball</i>. No error will result if the file does not exist in the tarball. Directory write permission and free disk space equivalent to at least the size of the tarball will be needed.</p> <pre class="example"> % ::tar::remove new.tar {file2 file3} % ::tar::contents new.tar file3 </pre> </dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tar</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key716">archive</a>, <a href="../../../../index.html#key715">tape archive</a>, <a href="../../../../index.html#key717">tar</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_argument_dialogbox.html.
︙ | ︙ | |||
177 178 179 180 181 182 183 | <b class="cmd">-file</b> {<i class="arg">-label "Itinerary report" -variable report_file</i>} ... <b class="cmd">-checkbutton</b> {<i class="arg">-label "Don't use highways" -variable no_highway</i>} <b class="cmd">}</b>]</pre> </dd> </dl> <p>The commands <b class="cmd">argument_dialogbox</b> as well as <b class="cmd"><a href="../../../../index.html#key34">procedure</a></b> are exported from the namespace <b class="namespace">tepam</b>. To use these commands without the <b class="namespace">tepam::</b> namespace prefix, it is sufficient to import them into the main namespace:</p> <pre class="example"><b class="cmd">namespace import tepam::*</b> | < | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | <b class="cmd">-file</b> {<i class="arg">-label "Itinerary report" -variable report_file</i>} ... <b class="cmd">-checkbutton</b> {<i class="arg">-label "Don't use highways" -variable no_highway</i>} <b class="cmd">}</b>]</pre> </dd> </dl> <p>The commands <b class="cmd">argument_dialogbox</b> as well as <b class="cmd"><a href="../../../../index.html#key34">procedure</a></b> are exported from the namespace <b class="namespace">tepam</b>. To use these commands without the <b class="namespace">tepam::</b> namespace prefix, it is sufficient to import them into the main namespace:</p> <pre class="example"><b class="cmd">namespace import tepam::*</b> set DialogResult [<b class="cmd">argument_dialogbox</b> \ -title "Itinerary selection" ...</pre> <p>The following subsections explain the different argument item types that are accepted by the <b class="cmd">argument_dialogbox</b>, classified into three groups. The first data entry item definition format will be used in the remaining document, knowing that this format can always be transformed into the second format by putting all arguments into a single list that is then provided to <b class="cmd">argument_dialogbox</b>.</p> <div id="subsection1" class="subsection"><h3><a name="subsection1">Context Definition Items</a></h3> <p>The first item group allows specifying some context aspects of an argument dialog box. These items are taking a simple character string as item attribute:</p> <pre class="example">tepam::argument_dialogbox \ |
︙ | ︙ | |||
337 338 339 340 341 342 343 | <b class="cmd">-combobox</b> {-label "Text size" -variable Size -choicevariable TextSizes -default 12}</pre> </dd> <dt>-listbox <i class="arg">list</i></dt> <dd><p>In contrast to the combo box, the list box is always displayed by the <i class="arg">listbox</i> entry widget. Only one element is selectable unless the <i class="arg">-multiple_selection</i> attribute is set. The list box height can be selected with the <i class="arg">-height</i> attribute. If the height is not explicitly defined, the list box height is automatically adapted to the argument dialog box' size. The first example uses a variable to define the available choices:</p> <pre class="example">set set AvailableSizes for {set k 0} {$k<16} {incr k} {lappend AvailableSizes [expr 1<<$k]} | < | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | <b class="cmd">-combobox</b> {-label "Text size" -variable Size -choicevariable TextSizes -default 12}</pre> </dd> <dt>-listbox <i class="arg">list</i></dt> <dd><p>In contrast to the combo box, the list box is always displayed by the <i class="arg">listbox</i> entry widget. Only one element is selectable unless the <i class="arg">-multiple_selection</i> attribute is set. The list box height can be selected with the <i class="arg">-height</i> attribute. If the height is not explicitly defined, the list box height is automatically adapted to the argument dialog box' size. The first example uses a variable to define the available choices:</p> <pre class="example">set set AvailableSizes for {set k 0} {$k<16} {incr k} {lappend AvailableSizes [expr 1<<$k]} tepam::argument_dialogbox \ <b class="cmd">-listbox</b> {-label "Distance" -variable Distance \ -choicevariable AvailableSizes -default 6 -height 5}</pre> <p>Here is a multi-element selection example. Please note that also the default selection can contain multiple elements:</p> <pre class="example">tepam::argument_dialogbox \ <b class="cmd">-listbox</b> {-label "Text styles" -variable Styles \ -choices {bold italic underline overstrike} \ |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_introduction.html.
︙ | ︙ | |||
215 216 217 218 219 220 221 | <pre class="example"><b class="cmd">display message</b> "The document hasn't yet been saved!" <em>-> display message: mtype=Warning font=Arial 10 italic fg=black no_border=0 text={The document hasn't yet been saved!}</em> | < < < | < | < | 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 | <pre class="example"><b class="cmd">display message</b> "The document hasn't yet been saved!" <em>-> display message: mtype=Warning font=Arial 10 italic fg=black no_border=0 text={The document hasn't yet been saved!}</em> <b class="cmd">display message</b> -fg red -bg black "Please save first the document" <em>-> display message: mtype=Warning font=Arial 10 italic fg=red bg=black no_border=0 text={Please save first the document}</em> <b class="cmd">display message</b> -mtype Error -no_border "Why is here no border?" <em>-> display message: mtype=Error font=Arial 10 italic fg=black no_border=1 text={Why is here no border?}</em> <b class="cmd">display message</b> -font {Courier 12} -level 10 \ "Is there enough space?" "Reduce otherwise the font size!" <em>-> display message: mtype=Warning font=Courier 12 level=10 fg=black no_border=0 text={Is there enough space?} {Reduce otherwise the font size!}</em></pre> <p>The next lines show how wrong arguments are recognized. The <i class="arg">text</i> argument that is mandatory is missing in the first procedure call:</p> <pre class="example"><b class="cmd">display message</b> -font {Courier 12} <em> -> display message: Required argument is missing: text</em></pre> <p>Only known arguments are accepted:</p> <pre class="example"><b class="cmd">display message</b> -category warning Hello <em> -> display message: Argument '-category' not known</em></pre> <p>Argument types are automatically checked and an error message is generated in case the argument value has not the expected type:</p> <pre class="example"><b class="cmd">display message</b> -fg MyColor "Hello" <em> -> display message: Argument 'fg' requires type 'color'. Provided value: 'MyColor'</em></pre> <p>Selection choices have to be respected ...</p> <pre class="example"><b class="cmd">display message</b> -mtype Fatal Hello <em> -> display message: Argument (mtype) has to be one of the following elements: Info, Warning, Error</em></pre> <p>... as well as valid value ranges:</p> <pre class="example"><b class="cmd">display message</b> -level 12 Hello <em> -> display message: Argument (level) has to be between 1 and 10</em></pre> </div> <div id="section6" class="section"><h2><a name="section6">INTERACTIVE PROCEDURE CALLS</a></h2> <p>The most intuitive way to call the procedure is using an form that allows specifying all arguments interactively. This form will automatically be generated if the declared procedure is called with the <i class="arg">-interactive</i> flag.</p> <pre class="example"><b class="cmd">display message</b> -interactive</pre> |
︙ | ︙ | |||
280 281 282 283 284 285 286 | <b class="cmd">-checkbutton</b> {-label "Overwrite existing file" -variable Overwrite}</pre> <p>The <b class="cmd">argument_dialogbox</b> returns <b class="const">ok</b> if the entered data are validated. It will return <b class="const">cancel</b> if the data entry has been canceled. After the validation of the entered data, the <b class="cmd">argument_dialogbox</b> defines all the specified variables with the entered data inside the calling context.</p> <p>An <b class="cmd">argument_dialogbox</b> requires a pair of arguments for each variable that it has to handle. The first argument defines the entry widget type used to select the variable's value and the second one is a lists of attributes related to the variable and the entry widget.</p> <p>Many entry widget types are available: Beside the simple generic entries, there are different kinds of list and combo boxes available, browsers for existing and new files and directories, check and radio boxes and buttons, as well as color and font pickers. If necessary, additional entry widgets can be defined.</p> <p>The attribute list contains pairs of attribute names and attribute data. The primary attribute is <i class="arg">-variable</i> used to specify the variable in the calling context into which the entered data has to be stored. Another often used attribute is <i class="arg">-label</i> that allows adding a label to the data entry widget. Other attributes are available that allow specifying default values, the expected data types, valid data ranges, etc.</p> <p>The next example of a more complex argument dialog box provides a good overview about the different available entry widget types and parameter attributes. The example contains also some formatting instructions like <i class="arg">-frame</i> and <i class="arg">-sep</i> which allows organizing the different entry widgets in frames and sections:</p> <pre class="example">set ChoiceList {"Choice 1" "Choice 2" "Choice 3" "Choice 4" "Choice 5" "Choice 6"} | < | | | | | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 | <b class="cmd">-checkbutton</b> {-label "Overwrite existing file" -variable Overwrite}</pre> <p>The <b class="cmd">argument_dialogbox</b> returns <b class="const">ok</b> if the entered data are validated. It will return <b class="const">cancel</b> if the data entry has been canceled. After the validation of the entered data, the <b class="cmd">argument_dialogbox</b> defines all the specified variables with the entered data inside the calling context.</p> <p>An <b class="cmd">argument_dialogbox</b> requires a pair of arguments for each variable that it has to handle. The first argument defines the entry widget type used to select the variable's value and the second one is a lists of attributes related to the variable and the entry widget.</p> <p>Many entry widget types are available: Beside the simple generic entries, there are different kinds of list and combo boxes available, browsers for existing and new files and directories, check and radio boxes and buttons, as well as color and font pickers. If necessary, additional entry widgets can be defined.</p> <p>The attribute list contains pairs of attribute names and attribute data. The primary attribute is <i class="arg">-variable</i> used to specify the variable in the calling context into which the entered data has to be stored. Another often used attribute is <i class="arg">-label</i> that allows adding a label to the data entry widget. Other attributes are available that allow specifying default values, the expected data types, valid data ranges, etc.</p> <p>The next example of a more complex argument dialog box provides a good overview about the different available entry widget types and parameter attributes. The example contains also some formatting instructions like <i class="arg">-frame</i> and <i class="arg">-sep</i> which allows organizing the different entry widgets in frames and sections:</p> <pre class="example">set ChoiceList {"Choice 1" "Choice 2" "Choice 3" "Choice 4" "Choice 5" "Choice 6"} set Result [<b class="cmd"><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox</a></b> \ <b class="cmd">-title</b> "System configuration" \ <b class="cmd">-context</b> test_1 \ <b class="cmd">-frame</b> {-label "Entries"} \ <b class="cmd">-entry</b> {-label Entry1 -variable Entry1} \ <b class="cmd">-entry</b> {-label Entry2 -variable Entry2 -default "my default"} \ <b class="cmd">-frame</b> {-label "Listbox & combobox"} \ <b class="cmd">-listbox</b> {-label "Listbox, single selection" -variable Listbox1 \ -choices {1 2 3 4 5 6 7 8} -default 1 -height 3} \ <b class="cmd">-listbox</b> {-label "Listbox, multiple selection" -variable Listbox2 -choicevariable ChoiceList -default {"Choice 2" "Choice 3"} -multiple_selection 1 -height 3} \ <b class="cmd">-disjointlistbox</b> {-label "Disjoined listbox" -variable DisJntListbox -choicevariable ChoiceList \ -default {"Choice 3" "Choice 5"} -height 3} \ <b class="cmd">-combobox</b> {-label "Combobox" -variable Combobox \ -choices {1 2 3 4 5 6 7 8} -default 3} \ <b class="cmd">-frame</b> {-label "Checkbox, radiobox and checkbutton"} \ <b class="cmd">-checkbox</b> {-label Checkbox -variable Checkbox -choices {bold italic underline} -choicelabels {Bold Italic Underline} \ -default italic} \ <b class="cmd">-radiobox</b> {-label Radiobox -variable Radiobox -choices {bold italic underline} -choicelabels {Bold Italic Underline} \ -default underline} \ <b class="cmd">-checkbutton</b> {-label CheckButton -variable Checkbutton -default 1} \ <b class="cmd">-frame</b> {-label "Files & directories"} \ <b class="cmd">-existingfile</b> {-label "Input file" -variable InputFile} \ <b class="cmd">-file</b> {-label "Output file" -variable OutputFile} \ <b class="cmd">-sep</b> {} \ <b class="cmd">-existingdirectory</b> {-label "Input directory" -variable InputDirectory} \ <b class="cmd">-directory</b> {-label "Output irectory" -variable OutputDirectory} \ <b class="cmd">-frame</b> {-label "Colors and fonts"} \ <b class="cmd">-color</b> {-label "Background color" -variable Color -default red} \ <b class="cmd">-sep</b> {} \ <b class="cmd">-font</b> {-label "Font" -variable Font -default {Courier 12 italic}}]</pre> <p>The <b class="cmd">argument_dialogbox</b> defines all the specified variables with the entered data and returns <b class="const">ok</b> if the data have been validated via the Ok button. If the data entry is cancelled by activating the Cancel button, the <b class="cmd">argument_dialogbox</b> returns <b class="const">cancel</b>.</p> <pre class="example">if {$Result=="cancel"} { puts "Canceled" } else { # $Result=="ok" puts "Arguments: " foreach Var { Entry1 Entry2 Listbox1 Listbox2 DisJntListbox Combobox Checkbox Radiobox Checkbutton InputFile OutputFile InputDirectory OutputDirectory Color Font } { puts " $Var: '[set $Var]'" } } |
︙ | ︙ | |||
352 353 354 355 356 357 358 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | Color: 'red' Font: 'Courier 12 italic'</em></pre> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a>, <a href="tepam_procedure.html">tepam::procedure(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key740">argument integrity</a>, <a href="../../../../index.html#key739">argument validation</a>, <a href="../../../../index.html#key738">arguments</a>, <a href="../../../../index.html#key741">entry mask</a>, <a href="../../../../index.html#key381">parameter entry form</a>, <a href="../../../../index.html#key34">procedure</a>, <a href="../../../../index.html#key737">subcommand</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009/2010, Andreas Drollinger</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tepam/tepam_procedure.html.
︙ | ︙ | |||
266 267 268 269 270 271 272 | puts "Message type: <b class="variable">$mtype</b>" puts "Message: <b class="variable">$text</b>" }</pre> </dd> </dl> <p>The commands <b class="cmd"><a href="../../../../index.html#key34">procedure</a></b> as well as <b class="cmd">argument_dialogbox</b> are exported from the namespace <b class="namespace">tepam</b>. To use these commands without the <b class="namespace">tepam::</b> namespace prefix, it is sufficient to import them into the main namespace:</p> <pre class="example"><b class="cmd">namespace import tepam::*</b> | < | 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | puts "Message type: <b class="variable">$mtype</b>" puts "Message: <b class="variable">$text</b>" }</pre> </dd> </dl> <p>The commands <b class="cmd"><a href="../../../../index.html#key34">procedure</a></b> as well as <b class="cmd">argument_dialogbox</b> are exported from the namespace <b class="namespace">tepam</b>. To use these commands without the <b class="namespace">tepam::</b> namespace prefix, it is sufficient to import them into the main namespace:</p> <pre class="example"><b class="cmd">namespace import tepam::*</b> <b class="cmd"><a href="../../../../index.html#key34">procedure</a></b> {display_message} { -args { ...</pre> <div id="subsection1" class="subsection"><h3><a name="subsection1">Procedure Attributes</a></h3> <p>The first group of procedure attributes is not affecting the behavior of the declared procedure. These attributes are just used for the purpose of documentation and help text generation:</p> <dl class="definitions"> <dt>-category <i class="arg">string</i></dt> |
︙ | ︙ | |||
321 322 323 324 325 326 327 | {text -type string -multiple -description "Multiple text lines to display"} }</b> } { }</pre> <p>Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes. The argument definition syntax can be formalized in the following way:</p> <pre class="example">tepam::procedure <name> { -args <b class="cmd">{ | | < | < | | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 | {text -type string -multiple -description "Multiple text lines to display"} }</b> } { }</pre> <p>Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes. The argument definition syntax can be formalized in the following way:</p> <pre class="example">tepam::procedure <name> { -args <b class="cmd">{ {<argument_name_1> <arg_attr_name_1a> <arg_attr_value_1a> <arg_attr_name_1b> <arg_attr_value_1b> ...} {<argument_name_2> <arg_attr_name_2a> <arg_attr_value_2a> <arg_attr_name_2b> <arg_attr_value_2b> ...} ... }</b> } <body></pre> <p>The argument names and attributes have to be used in the following way:</p> <dl class="definitions"> <dt>Argument name (<em><argument_name_<n>></em>)</dt> <dd><p>The provided argument name specifies whether the argument is an <em>unnamed argument</em> or a <em>named argument</em>. In addition to this, an argument name can also be blank to indicate an argument comment, or it can start with # to indicate a section comment.</p> <dl class="definitions"> <dt><i class="arg">"<Name>"</i></dt> <dd><p>This is the simplest form of an argument name: An argument whose name is not starting with '-' is an <em>unnamed argument</em>. The parameter provided during a procedure call will be assigned to a variable with the name <em><Name></em>.</p> <pre class="example">tepam::procedure {print_string} { -args { {<b class="cmd"><a href="../../../../index.html#key480">text</a></b> -type string -description "This is an unnamed argument"} } } { puts <b class="cmd">$text</b> } print_string <b class="cmd">"Hello"</b> <em> -> Hello</em></pre> </dd> |
︙ | ︙ | |||
367 368 369 370 371 372 373 | <dt><i class="arg">"-"</i> or <i class="arg">""</i></dt> <dd><p>A blank argument name (either '-' or <em>''</em>) starts a comment for the following arguments.</p> <pre class="example">tepam::procedure {print_time} { -interactive_display_format short -args { {hours -type integer -description "Hour"} {minutes -type integer -description "Minute"} | < < | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 | <dt><i class="arg">"-"</i> or <i class="arg">""</i></dt> <dd><p>A blank argument name (either '-' or <em>''</em>) starts a comment for the following arguments.</p> <pre class="example">tepam::procedure {print_time} { -interactive_display_format short -args { {hours -type integer -description "Hour"} {minutes -type integer -description "Minute"} <b class="cmd">{- The following arguments are optional:}</b> {seconds -type integer -default 0 -description "Seconds"} {milliseconds -type integer -default 0 -description "Milliseconds"} } } { puts "${hour}h${minutes}:[expr $seconds+0.001*$milliseconds]" }</pre> <p>Argument comments are basically used in the graphical argument definition forms that are created if a procedure is called interactively.</p></dd> <dt><i class="arg">"#*"</i></dt> <dd><p>An argument definition list that starts with '#' is considered as a section comment. The argument definition list will be trimmed from the '#' characters and the remaining string will be used as section comment.</p> <p>Section comments can be used to structure visually the argument definition code. Section comments are also used to structure the generated help texts and the interactive argument definition forms.</p> <pre class="example">tepam::procedure {complex_multiply} { -description "This function perform a complex multiplication" -args { <b class="cmd">{#### First complex number ####}</b> {-r0 -type double -description "First number's real part"} {-i0 -type double -description "First number's imaginary part"} <b class="cmd">{#### Second complex number ####}</b> {-r1 -type double -description "Second number's real part"} {-i1 -type double -description "Second number's imaginary part"} } } { return [expr $r0*$r1 - $i0*$i1] }</pre> |
︙ | ︙ | |||
426 427 428 429 430 431 432 | <dt>-range <i class="arg">{double double}</i></dt> <dd><p>Another argument constraint can be defined with the <i class="arg">-range</i> attribute. The valid range is defined with a list containing the minimum valid value and a maximum valid value. The <i class="arg">-range</i> attribute has to be used only for numerical arguments, like integers and doubles.</p></dd> <dt>-validatecommand <i class="arg">script</i></dt> <dd><p>Eventual more complex argument value validations can be performed via specific validation commands that are assigned to the <i class="arg">-validatecommand</i> attribute. The provided validation command can be a complete script in which the pattern <em>%P</em> is replaced by the argument value that has to be validated. An example of a validation command declaration is:</p> <pre class="example">tepam::procedure {display_message} { -args { | | | | | | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 | <dt>-range <i class="arg">{double double}</i></dt> <dd><p>Another argument constraint can be defined with the <i class="arg">-range</i> attribute. The valid range is defined with a list containing the minimum valid value and a maximum valid value. The <i class="arg">-range</i> attribute has to be used only for numerical arguments, like integers and doubles.</p></dd> <dt>-validatecommand <i class="arg">script</i></dt> <dd><p>Eventual more complex argument value validations can be performed via specific validation commands that are assigned to the <i class="arg">-validatecommand</i> attribute. The provided validation command can be a complete script in which the pattern <em>%P</em> is replaced by the argument value that has to be validated. An example of a validation command declaration is:</p> <pre class="example">tepam::procedure {display_message} { -args { {text -type string -description "Message text" \ <b class="cmd">-validatecommand "IllegalWordDetector %P"</b>} } { }</pre> </dd> <dt>-widget <i class="arg">string</i></dt> <dd><p>The widgets that allow defining the different arguments in case of an interactive procedure call are normally selected automatically in function of the argument type. The <i class="arg">-widget</i> attribute allows specifying explicitly a certain widget type for an argument.</p></dd> <dt>-auxargs <i class="arg">list</i></dt> <dd><p>In case a procedure is called interactively, additional argument attributes can be provided to the interactive argument definition form via the <em>-auxargs</em> attribute that is itself a list of attribute name/attribute value pairs:</p> <pre class="example">-auxargs {-<arg_attr_name_1a> <arg_attr_value_1a> \ -<arg_attr_name_1b> <arg_attr_value_1b> ... }</pre> <p>For example, if a procedure takes as argument a file name it may be beneficial to specify the required file type for the interactive argument definition form. This information can be provided via the <em>-auxargs</em> attribute to the argument definition form:</p> <pre class="example">tepam::procedure LoadPicture { -args { {FileName -type existingfile -description "Picture file" \ <b class="cmd">-auxargs {-filetypes {{"GIF" {*.gif}} {"JPG" {*.jpg}} }}</b>} } } { }</pre> </dd> <dt>-auxargs_commands <i class="arg">script</i></dt> <dd><p>If the auxiliary argument attributes are not static but have to be dynamically adaptable, the <em>-auxargs_commands</em> allows defining them via commands that are executed during a procedure call. A list of pairs of auxiliary attribute names and commands has to be provided to the <em>-auxargs_commands</em> attribute. The provided commands are executed in the context of the calling procedure.</p> <pre class="example">-auxargs_commands {-<arg_attr_name_1a> <arg_attr_command_1a> \ -<arg_attr_name_1b> <arg_attr_command_1b> ... }</pre> </dd> </dl></dd> </dl> </div> |
︙ | ︙ | |||
517 518 519 520 521 522 523 | <pre class="example">tepam::procedure flag_test { -args { <b class="cmd">{-flag -type none -description "This is a flag"}</b> } } { puts <b class="cmd">$flag</b> } | < < | 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 | <pre class="example">tepam::procedure flag_test { -args { <b class="cmd">{-flag -type none -description "This is a flag"}</b> } } { puts <b class="cmd">$flag</b> } flag_test <em>-> 0</em> flag_test -flag <em>-> 1</em></pre> <p>Since no argument value has to be provided to a flag, also no data check is performed for this argument type.</p></li> <li><p><b class="type">string</b></p> <p><b class="type">String</b> is a generic argument data type. Any data string can be provided to a string type argument and no data type checks are therefore performed. The string type allows defining single line strings during the interactive procedure calls.</p></li> <li><p><b class="type">text</b></p> <p><b class="type">Text</b> is identical to <b class="type">string</b> with the exception that it allows entering multi line strings during interactive procedure calls.</p></li> |
︙ | ︙ | |||
641 642 643 644 645 646 647 | } } { puts "$mtype: [join $text]" }</pre> <p>... can for example be called in the following ways:</p> <pre class="example"><b class="cmd">display_message Info "It is PM 7:00."</b> <em>-> Info: It is PM 7:00.</em> | < < < < < < < | 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 | } } { puts "$mtype: [join $text]" }</pre> <p>... can for example be called in the following ways:</p> <pre class="example"><b class="cmd">display_message Info "It is PM 7:00."</b> <em>-> Info: It is PM 7:00.</em> <b class="cmd">display_message Info "It is PM 7:00." "You should go home."</b> <em>-> Info: It is PM 7:00. You should go home.</em></pre> <p>The nice thing is that unnamed arguments can also be called as named arguments, which can be handy, for example if the exact specified argument order is not known to a user:</p> <pre class="example"><b class="cmd">display_message -mtype Info -text "It is PM 7:00."</b> <em>-> Info: It is PM 7:00.</em> <b class="cmd">display_message -text "It is PM 7:00." -mtype Info</b> <em>-> Info: It is PM 7:00.</em> <b class="cmd">display_message -mtype Info -text "It is PM 7:00." -text "You should go home."</b> <em>-> Info: It is PM 7:00. You should go home.</em> <b class="cmd">display_message -text "It is PM 7:00." -text "You should go home." -mtype Info</b> <em>-> Info: It is PM 7:00. You should go home.</em></pre> </div> <div id="subsection8" class="subsection"><h3><a name="subsection8">Named Arguments</a></h3> <p>Named arguments have to be provided to a procedure in form of a parameter pairs composed by the argument names and the argument values. The order how they are provided during a procedure call is irrelevant and has not to match with the argument specification order.</p> <p>The following declared procedure ...</p> <pre class="example">tepam::procedure {display_message} { -args { {-mtype -choices {Info Warning Error}} {-text -type string -multiple} } } { puts "$mtype: [join $text]" }</pre> <p>... can be called in the following ways:</p> <pre class="example"><b class="cmd">display_message -mtype Info -text "It is PM 7:00."</b> <em>-> Info: It is PM 7:00.</em> <b class="cmd">display_message -text "It is PM 7:00." -mtype Info</b> <em>-> Info: It is PM 7:00.</em> <b class="cmd">display_message -mtype Info -text "It is PM 7:00." -text "You should go home."</b> <em>-> Info: It is PM 7:00. You should go home.</em> <b class="cmd">display_message -text "It is PM 7:00." -text "You should go home." -mtype Info</b> <em>-> Info: It is PM 7:00. You should go home.</em></pre> <p>Also named arguments that have not the <em>-multiple</em> attribute can be provided multiple times. Only the last provided argument will be retained in such a case:</p> <pre class="example"><b class="cmd">display_message -mtype Info -text "It is PM 7:00." -mtype Warning</b> <em>-> Warning: It is PM 7:00.</em></pre> </div> <div id="subsection9" class="subsection"><h3><a name="subsection9">Unnamed Arguments First, Named Arguments Later (Tk Style)</a></h3> |
︙ | ︙ | |||
709 710 711 712 713 714 715 | <em>-> n1:'', n2:'', u1:'U1', u2:'U2'</em></pre> <p>Named arguments can be defined multiple times. If the named argument has the <em>-multiply</em> attribute, all argument values will be collected in a list. Otherwise, only the last provided attribute value will be retained:</p> <pre class="example">my_proc <b class="cmd">-n1 N1 -n2 N2 -n1 M1 U1 U2</b> <em>-> n1:'M1', n2:'N2', u1:'U1', u2:'U2'</em></pre> <p>The name of the first unnamed argument has therefore not to start with the '-' character. The unnamed argument is otherwise considered as name of another named argument. This is especially important if the first unnamed argument is given by a variable that can contain any character strings:</p> <pre class="example">my_proc <b class="cmd">-n1 N1 -n2 N2 "->" "<-"</b> <em>-> my_proc: Argument '->' not known</em> | < < | 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 | <em>-> n1:'', n2:'', u1:'U1', u2:'U2'</em></pre> <p>Named arguments can be defined multiple times. If the named argument has the <em>-multiply</em> attribute, all argument values will be collected in a list. Otherwise, only the last provided attribute value will be retained:</p> <pre class="example">my_proc <b class="cmd">-n1 N1 -n2 N2 -n1 M1 U1 U2</b> <em>-> n1:'M1', n2:'N2', u1:'U1', u2:'U2'</em></pre> <p>The name of the first unnamed argument has therefore not to start with the '-' character. The unnamed argument is otherwise considered as name of another named argument. This is especially important if the first unnamed argument is given by a variable that can contain any character strings:</p> <pre class="example">my_proc <b class="cmd">-n1 N1 -n2 N2 "->" "<-"</b> <em>-> my_proc: Argument '->' not known</em> set U1 "->" my_proc -n1 N1 -n2 N2 $U1 U2}] my_proc: Argument '->' not known</pre> <p>The '--' flag allows separating unambiguously the unnamed arguments from the named arguments. All data after the '--' flag will be considered as unnamed argument:</p> <pre class="example">my_proc <b class="cmd">-n1 N1 -n2 N2 -- "->" "<-"</b> <em>-> n1:'N1', n2:'N2', u1:'->', u2:'<-'</em> set U1 "->" my_proc <b class="cmd">-n1 N1 -n2 N2 -- $U1 U2</b> <em>-> n1:'N1', n2:'N2', u1:'->', u2:'<-'</em></pre> </div> <div id="subsection10" class="subsection"><h3><a name="subsection10">Named Arguments First, Unnamed Arguments Later (Tcl Style)</a></h3> <p>The Tk calling style will be chosen if a procedure is defined while the variable <b class="variable">tepam::named_arguments_first</b> is set to 0, or if the procedure attribute <i class="arg">-named_arguments_first</i> has been set to 0. The following procedure will be used in this section to illustrate this calling style:</p> <pre class="example"><b class="cmd">set tepam::named_arguments_first 0</b> |
︙ | ︙ | |||
768 769 770 771 772 773 774 | <em>-> my_proc: Argument 'U2' is not an option</em></pre> <p>The '--' flag has no special meaning if not all mandatory arguments have got assigned a value. This flag will simply be attributed to one of the unnamed arguments:</p> <pre class="example">my_proc <b class="cmd">-- -n1 N1</b> <em>-> n1:'N1', n2:'', u1:'--', u2:''</em></pre> <p>But the '--' flag is simply ignored if the argument parser has started to handle the named arguments:</p> <pre class="example">my_proc <b class="cmd">U1 -- -n1 N1</b> <em>-> n1:'N1', n2:'', u1:'U1', u2:''</em> | < | 752 753 754 755 756 757 758 759 760 761 762 763 764 765 | <em>-> my_proc: Argument 'U2' is not an option</em></pre> <p>The '--' flag has no special meaning if not all mandatory arguments have got assigned a value. This flag will simply be attributed to one of the unnamed arguments:</p> <pre class="example">my_proc <b class="cmd">-- -n1 N1</b> <em>-> n1:'N1', n2:'', u1:'--', u2:''</em></pre> <p>But the '--' flag is simply ignored if the argument parser has started to handle the named arguments:</p> <pre class="example">my_proc <b class="cmd">U1 -- -n1 N1</b> <em>-> n1:'N1', n2:'', u1:'U1', u2:''</em> my_proc <b class="cmd">U1 -n1 N1 -- -n2 N2</b> <em>-> n1:'N1', n2:'N2', u1:'U1', u2:''</em></pre> </div> <div id="subsection11" class="subsection"><h3><a name="subsection11">Raw Argument List</a></h3> <p>It may be necessary sometimes that the procedure body is able to access the entire list of arguments provided during a procedure call. This can happen via the <b class="variable">args</b> variable that contains always the unprocessed argument list:</p> <pre class="example">tepam::procedure {display_message} { -args { |
︙ | ︙ | |||
790 791 792 793 794 795 796 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> | | | 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 | <em>-> args: -mtype Warning {It is 7:00}</em></pre> </div> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="tepam_introduction.html">tepam(n)</a>, <a href="tepam_argument_dialogbox.html">tepam::argument_dialogbox(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key740">argument integrity</a>, <a href="../../../../index.html#key739">argument validation</a>, <a href="../../../../index.html#key738">arguments</a>, <a href="../../../../index.html#key34">procedure</a>, <a href="../../../../index.html#key737">subcommand</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Procedures, arguments, parameters, options</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009/2010, Andreas Drollinger</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_cattr.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Attributes</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Attributes</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
267 268 269 270 271 272 273 | <dt><a name="35"><b class="cmd">::term::ansi::code::attr::nostrike</b></a></dt> <dd><p>Strike-through off.</p></dd> <dt><a name="36"><b class="cmd">::term::ansi::code::attr::reset</b></a></dt> <dd><p>Reset all attributes to their default values.</p></dd> </dl> </div> </div> | | | | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | <dt><a name="35"><b class="cmd">::term::ansi::code::attr::nostrike</b></a></dt> <dd><p>Strike-through off.</p></dd> <dt><a name="36"><b class="cmd">::term::ansi::code::attr::reset</b></a></dt> <dd><p>Reset all attributes to their default values.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key175">ansi</a>, <a href="../../../../index.html#key174">attribute control</a>, <a href="../../../../index.html#key173">color control</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_cctrl.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Sequences</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Sequences</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
447 448 449 450 451 452 453 | <dt><a name="87"><b class="cmd">::term::ansi::code::ctrl::init</b></a></dt> <dd><p>Initialize default and alternate fonts to ASCII and box graphics.</p></dd> <dt><a name="88"><b class="cmd">::term::ansi::code::ctrl::showat</b> <i class="arg">row</i> <i class="arg">col</i> <i class="arg">text</i></a></dt> <dd><p>Format the block of text for display at the specified location.</p></dd> </dl> </div> </div> | | | | | 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 | <dt><a name="87"><b class="cmd">::term::ansi::code::ctrl::init</b></a></dt> <dd><p>Initialize default and alternate fonts to ASCII and box graphics.</p></dd> <dt><a name="88"><b class="cmd">::term::ansi::code::ctrl::showat</b> <i class="arg">row</i> <i class="arg">col</i> <i class="arg">text</i></a></dt> <dd><p>Format the block of text for display at the specified location.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key175">ansi</a>, <a href="../../../../index.html#key174">attribute control</a>, <a href="../../../../index.html#key173">color control</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_cmacros.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Sequences</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Sequences</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | <dd><p>The paragraph of text contained in the string is padded with spaces at the right margin, after normalizing internal tabs, and then put into a frame made of box-graphics. The result is returned as the result of the command.</p></dd> </dl> </div> </div> | | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | <dd><p>The paragraph of text contained in the string is padded with spaces at the right margin, after normalizing internal tabs, and then put into a frame made of box-graphics. The result is returned as the result of the command.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key175">ansi</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key663">frame</a>, <a href="../../../../index.html#key662">menu</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_code.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>term::ansi::code - Helper for control sequences</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>term::ansi::code - Helper for control sequences</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | sequence <i class="arg">code</i>, beginning with the specified escape sequence, either <b class="const">esc</b>, or <b class="const">escb</b>.</p></dd> <dt><a name="4"><b class="cmd">::term::ansi::code::const</b> <i class="arg">name</i> <i class="arg">code</i></a></dt> <dd><p>This command defines a procedure <i class="arg">name</i> which returns the control sequence <i class="arg">code</i>.</p></dd> </dl> </div> | | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | sequence <i class="arg">code</i>, beginning with the specified escape sequence, either <b class="const">esc</b>, or <b class="const">escb</b>.</p></dd> <dt><a name="4"><b class="cmd">::term::ansi::code::const</b> <i class="arg">name</i> <i class="arg">code</i></a></dt> <dd><p>This command defines a procedure <i class="arg">name</i> which returns the control sequence <i class="arg">code</i>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key320">declare</a>, <a href="../../../../index.html#key321">define</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_ctrlu.html.
︙ | ︙ | |||
119 120 121 122 123 124 125 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Operations</a></li> </ul> </li> | | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a> <ul> <li class="subsection"><a href="#subsection1">Introspection</a></li> <li class="subsection"><a href="#subsection2">Operations</a></li> </ul> </li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p><em>WARNING</em>: This package is unix-specific and depends on the availability of two unix system commands for terminal control, i.e. <b class="syscmd">stty</b> and <b class="syscmd">tput</b>, both of which have to be found in the <b class="variable">$PATH</b>. If any of these two commands is missing the loading of the package will fail.</p> <p>The package provides commands to switch the standard input of the | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p><em>WARNING</em>: This package is unix-specific and depends on the availability of two unix system commands for terminal control, i.e. <b class="syscmd">stty</b> and <b class="syscmd">tput</b>, both of which have to be found in the <b class="variable">$PATH</b>. If any of these two commands is missing the loading of the package will fail.</p> <p>The package provides commands to switch the standard input of the current process between <i class="term"><a href="../../../../index.html#key485">raw</a></i> and <i class="term"><a href="../../../../index.html#key483">cooked</a></i> input modes, and to query the size of terminals, i.e. the available number of columns and lines.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Introspection</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">::term::ansi::ctrl::unix::import</b> <span class="opt">?<i class="arg">ns</i>?</span> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> |
︙ | ︙ | |||
172 173 174 175 176 177 178 | <dt><a name="2"><b class="cmd">::term::ansi::ctrl::unix::raw</b></a></dt> <dd><p>This command switches the standard input of the current process to <i class="term"><a href="../../../../index.html#key485">raw</a></i> input mode. This means that from then on all characters typed by the user are immediately reported to the application instead of waiting in the OS buffer until the Enter/Return key is received.</p></dd> <dt><a name="3"><b class="cmd">::term::ansi::ctrl::unix::raw</b></a></dt> <dd><p>This command switches the standard input of the current process to | | | | | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | <dt><a name="2"><b class="cmd">::term::ansi::ctrl::unix::raw</b></a></dt> <dd><p>This command switches the standard input of the current process to <i class="term"><a href="../../../../index.html#key485">raw</a></i> input mode. This means that from then on all characters typed by the user are immediately reported to the application instead of waiting in the OS buffer until the Enter/Return key is received.</p></dd> <dt><a name="3"><b class="cmd">::term::ansi::ctrl::unix::raw</b></a></dt> <dd><p>This command switches the standard input of the current process to <i class="term"><a href="../../../../index.html#key483">cooked</a></i> input mode. This means that from then on all characters typed by the user are kept in OS buffers for editing until the Enter/Return key is received.</p></dd> <dt><a name="4"><b class="cmd">::term::ansi::ctrl::unix::columns</b></a></dt> <dd><p>This command queries the terminal connected to the standard input for the number of columns available for display.</p></dd> <dt><a name="5"><b class="cmd">::term::ansi::ctrl::unix::rows</b></a></dt> <dd><p>This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display.</p></dd> </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key175">ansi</a>, <a href="../../../../index.html#key484">columns</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key483">cooked</a>, <a href="../../../../index.html#key482">input mode</a>, <a href="../../../../index.html#key487">lines</a>, <a href="../../../../index.html#key485">raw</a>, <a href="../../../../index.html#key486">rows</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ansi_send.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>term::ansi::send - Output of ANSI control sequences to terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>term::ansi::send - Output of ANSI control sequences to terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
431 432 433 434 435 436 437 | <dd><p>Clear screen. In essence a sequence of CursorHome + EraseDown.</p></dd> <dt><a name="86"><b class="cmd">::term::ansi::send::init</b></a></dt> <dd><p>Initialize default and alternate fonts to ASCII and box graphics.</p></dd> <dt><a name="87"><b class="cmd">::term::ansi::send::showat</b> <i class="arg">row</i> <i class="arg">col</i> <i class="arg">text</i></a></dt> <dd><p>Show the block of text at the specified location.</p></dd> </dl> </div> | | | | | 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 | <dd><p>Clear screen. In essence a sequence of CursorHome + EraseDown.</p></dd> <dt><a name="86"><b class="cmd">::term::ansi::send::init</b></a></dt> <dd><p>Initialize default and alternate fonts to ASCII and box graphics.</p></dd> <dt><a name="87"><b class="cmd">::term::ansi::send::showat</b> <i class="arg">row</i> <i class="arg">col</i> <i class="arg">text</i></a></dt> <dd><p>Show the block of text at the specified location.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key404">character output</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/imenu.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Configuration</a></li> <li class="section"><a href="#section5">Interaction</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Configuration</a></li> <li class="section"><a href="#section5">Interaction</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
237 238 239 240 241 242 243 | <dt>Cursor Down</dt> <dd><p>The selection is moved down one entry, except if the last entry of the menu is already selected.</p></dd> <dt>Enter/Return</dt> <dd><p>The interaction with the object is terminated.</p></dd> </dl> </div> | | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | <dt>Cursor Down</dt> <dd><p>The selection is moved down one entry, except if the last entry of the menu is already selected.</p></dd> <dt>Enter/Return</dt> <dd><p>The interaction with the object is terminated.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key662">menu</a>, <a href="../../../../index.html#key104">terminal</a>, <a href="../../../../index.html#key770">text display</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/ipager.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Configuration</a></li> <li class="section"><a href="#section5">Interaction</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Configuration</a></li> <li class="section"><a href="#section5">Interaction</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
237 238 239 240 241 242 243 | <dt>Page Down</dt> <dd><p>The text is scrolled up a page. The pager will not react if the last line of the text is already shown.</p></dd> <dt>Enter/Return</dt> <dd><p>The interaction with the object is terminated.</p></dd> </dl> </div> | | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 | <dt>Page Down</dt> <dd><p>The text is scrolled up a page. The pager will not react if the last line of the text is already shown.</p></dd> <dt>Enter/Return</dt> <dd><p>The interaction with the object is terminated.</p></dd> </dl> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key771">pager</a>, <a href="../../../../index.html#key104">terminal</a>, <a href="../../../../index.html#key770">text display</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/receive.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>term::receive - General input from terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>term::receive - General input from terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
166 167 168 169 170 171 172 | </dl></dd> <dt><a name="5"><b class="cmd">::term::receive::unlisten</b> <span class="opt">?<i class="arg">chan</i>?</span></a></dt> <dd><p>This command disables the filevent listener for the channel with handle <i class="arg">chan</i>.</p> <p>If not specified <i class="arg">chan</i> defaults to <b class="const">stdin</b>.</p></dd> </dl> </div> | | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | </dl></dd> <dt><a name="5"><b class="cmd">::term::receive::unlisten</b> <span class="opt">?<i class="arg">chan</i>?</span></a></dt> <dd><p>This command disables the filevent listener for the channel with handle <i class="arg">chan</i>.</p> <p>If not specified <i class="arg">chan</i> defaults to <b class="const">stdin</b>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key108">character input</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key106">get character</a>, <a href="../../../../index.html#key109">listener</a>, <a href="../../../../index.html#key105">receiver</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/term.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>term - General terminal control</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | <p>term - General terminal control</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> <li>package require <b class="pkgname">Tcl 8.4</b></li> <li>package require <b class="pkgname">term <span class="opt">?0.1?</span></b></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>It is planned to have this package provide highlevel general terminal control commands, in the vein of ncurses or similar packages. Currently nothing has been implemented however. I.e. this package is empty. It can be loaded, yet provides nothing.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/term_bind.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Notes</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Object API</a></li> <li class="section"><a href="#section4">Notes</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
210 211 212 213 214 215 216 | <div id="section4" class="section"><h2><a name="section4">Notes</a></h2> <p>The simplicity of the DFA means that it is not possible to recognize a character sequence with has a another recognized character sequence as its prefix.</p> <p>In other words, the set of recognized strings has to form a <i class="term">prefix code</i>.</p> </div> | | | | | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | <div id="section4" class="section"><h2><a name="section4">Notes</a></h2> <p>The simplicity of the DFA means that it is not possible to recognize a character sequence with has a another recognized character sequence as its prefix.</p> <p>In other words, the set of recognized strings has to form a <i class="term">prefix code</i>.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key108">character input</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key495">dispatcher</a>, <a href="../../../../index.html#key109">listener</a>, <a href="../../../../index.html#key105">receiver</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/term/term_send.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | <p>term::send - General output to terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | <p>term::send - General output to terminals</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | Tcl internal and OS buffers to ensure that the characters are processed immediately.</p></dd> <dt><a name="2"><b class="cmd">::term::send::wr</b> <i class="arg">str</i></a></dt> <dd><p>This convenience command is like <b class="cmd">::term::send::wrch</b>, except that the destination channel is fixed to <em>stdout</em>.</p></dd> </dl> </div> | | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | Tcl internal and OS buffers to ensure that the characters are processed immediately.</p></dd> <dt><a name="2"><b class="cmd">::term::send::wr</b> <i class="arg">str</i></a></dt> <dd><p>This convenience command is like <b class="cmd">::term::send::wrch</b>, except that the destination channel is fixed to <em>stdout</em>.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>term</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key404">character output</a>, <a href="../../../../index.html#key107">control</a>, <a href="../../../../index.html#key104">terminal</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Terminal control</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/adjust.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::adjust - Procedures to adjust, indent, and undent paragraphs</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::adjust - Procedures to adjust, indent, and undent paragraphs</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
251 252 253 254 255 256 257 | <p>Lines containing only whitespace are always reduced to completely empty lines. They and empty lines are also ignored when computing the prefix to remove.</p> <p>Together with <b class="cmd">::textutil::adjust::adjust</b> it is possible to create properly wrapped paragraphs with arbitrary indentations.</p></dd> </dl> </div> | | | | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 | <p>Lines containing only whitespace are always reduced to completely empty lines. They and empty lines are also ignored when computing the prefix to remove.</p> <p>Together with <b class="cmd">::textutil::adjust::adjust</b> it is possible to create properly wrapped paragraphs with arbitrary indentations.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key327">TeX</a>, <a href="../../../../index.html#key328">adjusting</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key330">hyphenation</a>, <a href="../../../../index.html#key326">indenting</a>, <a href="../../../../index.html#key325">justification</a>, <a href="../../../../index.html#key329">paragraph</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key324">undenting</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/expander.html.
︙ | ︙ | |||
125 126 127 128 129 130 131 | <li class="subsection"><a href="#subsection3">Writing Macro Commands</a></li> <li class="subsection"><a href="#subsection4">Changing the Expansion Brackets</a></li> <li class="subsection"><a href="#subsection5">Customized Macro Expansion</a></li> <li class="subsection"><a href="#subsection6">Using the Context Stack</a></li> </ul> </li> <li class="section"><a href="#section4">HISTORY</a></li> | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | <li class="subsection"><a href="#subsection3">Writing Macro Commands</a></li> <li class="subsection"><a href="#subsection4">Changing the Expansion Brackets</a></li> <li class="subsection"><a href="#subsection5">Customized Macro Expansion</a></li> <li class="subsection"><a href="#subsection6">Using the Context Stack</a></li> </ul> </li> <li class="section"><a href="#section4">HISTORY</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
488 489 490 491 492 493 494 | or <b class="method">cname</b>.</p> </div> </div> <div id="section4" class="section"><h2><a name="section4">HISTORY</a></h2> <p><b class="cmd">expander</b> was written by William H. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool.</p> </div> | | | | | | | 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 | or <b class="method">cname</b>.</p> </div> </div> <div id="section4" class="section"><h2><a name="section4">HISTORY</a></h2> <p><b class="cmd">expander</b> was written by William H. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>[uri, http://www.wjduquette.com/expand, regexp, <a href="../../../../index.html#key418">split</a>, <a href="../../../../index.html#key270">string</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key762">template processing</a>, <a href="../../../../index.html#key763">text expansion</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Documentation tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © William H. Duquette, http://www.wjduquette.com/expand</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/repeat.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::repeat - Procedures to repeat strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::repeat - Procedures to repeat strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
146 147 148 149 150 151 152 | command <b class="cmd">string repeat</b> then this command will be implemented in its terms, for maximum possible speed. Otherwise a fast implementation in Tcl will be used.</p></dd> <dt><a name="2"><b class="cmd">::textutil::repeat::blank</b> <i class="arg">num</i></a></dt> <dd><p>A convenience command. Returns a string of <i class="arg">num</i> spaces.</p></dd> </dl> </div> | | | | | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | command <b class="cmd">string repeat</b> then this command will be implemented in its terms, for maximum possible speed. Otherwise a fast implementation in Tcl will be used.</p></dd> <dt><a name="2"><b class="cmd">::textutil::repeat::blank</b> <i class="arg">num</i></a></dt> <dd><p>A convenience command. Returns a string of <i class="arg">num</i> spaces.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key272">blanks</a>, <a href="../../../../index.html#key271">repetition</a>, <a href="../../../../index.html#key270">string</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/tabify.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::tabify - Procedures to (un)tabify strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::tabify - Procedures to (un)tabify strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
166 167 168 169 170 171 172 | instead and replaces tabs with just enough space characters to reach the next tabstop. This is the complement of the actions taken by <b class="cmd">::textutil::tabify::tabify2</b>. <i class="arg">num</i> defaults to 8.</p> <p>There is one asymmetry though: A tab can be replaced with a single space, but not the other way around.</p></dd> </dl> </div> | | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | instead and replaces tabs with just enough space characters to reach the next tabstop. This is the complement of the actions taken by <b class="cmd">::textutil::tabify::tabify2</b>. <i class="arg">num</i> defaults to 8.</p> <p>There is one asymmetry though: A tab can be replaced with a single space, but not the other way around.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key523">tabstops</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/textutil.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil - Procedures to manipulate texts and strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil - Procedures to manipulate texts and strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
399 400 401 402 403 404 405 | to the command, or the strings specified in the single <i class="arg">list</i>, and returns it as the result of the command.</p> <p>If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix.</p></dd> </dl> </div> | | | | | 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 | to the command, or the strings specified in the single <i class="arg">list</i>, and returns it as the result of the command.</p> <p>If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key327">TeX</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key330">hyphenation</a>, <a href="../../../../index.html#key326">indenting</a>, <a href="../../../../index.html#key329">paragraph</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key407">trimming</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/textutil_split.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::split - Procedures to split texts</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::split - Procedures to split texts</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
154 155 156 157 158 159 160 | parentheses part of separator will be added into the result list as additional element. If the <i class="arg">string</i> is empty the result is the empty list, like for <b class="cmd"><a href="../../../../index.html#key418">split</a></b>. If <i class="arg">regexp</i> is empty the <i class="arg">string</i> is split at every character, like <b class="cmd"><a href="../../../../index.html#key418">split</a></b> does. The regular expression <i class="arg">regexp</i> defaults to "[\\t \\r\\n]+".</p></dd> </dl> </div> | | | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | parentheses part of separator will be added into the result list as additional element. If the <i class="arg">string</i> is empty the result is the empty list, like for <b class="cmd"><a href="../../../../index.html#key418">split</a></b>. If <i class="arg">regexp</i> is empty the <i class="arg">string</i> is split at every character, like <b class="cmd"><a href="../../../../index.html#key418">split</a></b> does. The regular expression <i class="arg">regexp</i> defaults to "[\\t \\r\\n]+".</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key418">split</a>, <a href="../../../../index.html#key270">string</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/textutil_string.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::string - Procedures to manipulate texts and strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::string - Procedures to manipulate texts and strings.</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | to the command, or the strings specified in the single <i class="arg">list</i>, and returns it as the result of the command.</p> <p>If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix.</p></dd> </dl> </div> | | | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | to the command, or the strings specified in the single <i class="arg">list</i>, and returns it as the result of the command.</p> <p>If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key672">capitalize</a>, <a href="../../../../index.html#key671">chop</a>, <a href="../../../../index.html#key673">common prefix</a>, <a href="../../../../index.html#key331">formatting</a>, <a href="../../../../index.html#key670">prefix</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key669">uncapitalize</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/textutil/trim.html.
︙ | ︙ | |||
110 111 112 113 114 115 116 | <p>textutil::trim - Procedures to trim strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <p>textutil::trim - Procedures to trim strings</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
171 172 173 174 175 176 177 | have <i class="arg">prefix</i> at its beginning.</p></dd> <dt><a name="5"><b class="cmd">::textutil::trim::trimEmptyHeading</b> <i class="arg">string</i></a></dt> <dd><p>Looks for empty lines (including lines consisting of only whitespace) at the beginning of the <i class="arg">string</i> and removes it. The modified string is returned as the result of the command.</p></dd> </dl> </div> | | | | | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | have <i class="arg">prefix</i> at its beginning.</p></dd> <dt><a name="5"><b class="cmd">::textutil::trim::trimEmptyHeading</b> <i class="arg">string</i></a></dt> <dd><p>Looks for empty lines (including lines consisting of only whitespace) at the beginning of the <i class="arg">string</i> and removes it. The modified string is returned as the result of the command.</p></dd> </dl> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>textutil</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>regexp(n), split(n), string(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key670">prefix</a>, <a href="../../../../index.html#key306">regular expression</a>, <a href="../../../../index.html#key270">string</a>, <a href="../../../../index.html#key407">trimming</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Text processing</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tie/tie.html.
︙ | ︙ | |||
126 127 128 129 130 131 132 | <ul> <li class="subsection"><a href="#subsection3">DATA SOURCE OBJECTS</a></li> <li class="subsection"><a href="#subsection4">REGISTERING A NEW DATA SOURCE CLASS</a></li> <li class="subsection"><a href="#subsection5">DATA SOURCE CLASS</a></li> <li class="subsection"><a href="#subsection6">DATA SOURCE OBJECT API</a></li> </ul> </li> | | | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | <ul> <li class="subsection"><a href="#subsection3">DATA SOURCE OBJECTS</a></li> <li class="subsection"><a href="#subsection4">REGISTERING A NEW DATA SOURCE CLASS</a></li> <li class="subsection"><a href="#subsection5">DATA SOURCE CLASS</a></li> <li class="subsection"><a href="#subsection6">DATA SOURCE OBJECT API</a></li> </ul> </li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
484 485 486 487 488 489 490 | set a($idx) $val ds setv idx val unset a($idx) ds unsetv idx $a($idx) ds getv idx ----------- ----------- </pre> </div> </div> | | | | | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 | set a($idx) $val ds setv idx val unset a($idx) ds unsetv idx $a($idx) ds getv idx ----------- ----------- </pre> </div> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tie</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key41">array</a>, <a href="../../../../index.html#key38">database</a>, <a href="../../../../index.html#key35">file</a>, <a href="../../../../index.html#key40">metakit</a>, <a href="../../../../index.html#key37">persistence</a>, <a href="../../../../index.html#key39">tie</a>, <a href="../../../../index.html#key36">untie</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004-2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tie/tie_std.html.
︙ | ︙ | |||
112 113 114 115 116 117 118 | <p>tie - Array persistence, standard data sources</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> | | | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | <p>tie - Array persistence, standard data sources</p> </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
140 141 142 143 144 145 146 | packages providing the standard data sources of package <b class="package"><a href="tie.html">tie</a></b>, as described in section <i class="term">STANDARD DATA SOURCE TYPES</i> of <b class="package"><a href="tie.html">tie</a></b>'s documentation.</p> <p>They are automatically loaded and registered by <b class="package"><a href="tie.html">tie</a></b> when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so.</p> </div> | | | | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | packages providing the standard data sources of package <b class="package"><a href="tie.html">tie</a></b>, as described in section <i class="term">STANDARD DATA SOURCE TYPES</i> of <b class="package"><a href="tie.html">tie</a></b>'s documentation.</p> <p>They are automatically loaded and registered by <b class="package"><a href="tie.html">tie</a></b> when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so.</p> </div> <div id="section2" class="section"><h2><a name="section2">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tie</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key41">array</a>, <a href="../../../../index.html#key38">database</a>, <a href="../../../../index.html#key35">file</a>, <a href="../../../../index.html#key40">metakit</a>, <a href="../../../../index.html#key37">persistence</a>, <a href="../../../../index.html#key39">tie</a>, <a href="../../../../index.html#key36">untie</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/tiff/tiff.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">VARIABLES</a></li> <li class="section"><a href="#section4">LIMITATIONS</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">VARIABLES</a></li> <li class="section"><a href="#section4">LIMITATIONS</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
270 271 272 273 274 275 276 | <div id="section4" class="section"><h2><a name="section4">LIMITATIONS</a></h2> <ol class="enumerated"> <li><p>Cannot write exif ifd</p></li> <li><p>Reading limited to uncompressed 8 bit rgb and 8 bit palletized images</p></li> <li><p>Writing limited to uncompressed 8 bit rgb</p></li> </ol> </div> | | | | | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | <div id="section4" class="section"><h2><a name="section4">LIMITATIONS</a></h2> <ol class="enumerated"> <li><p>Cannot write exif ifd</p></li> <li><p>Reading limited to uncompressed 8 bit rgb and 8 bit palletized images</p></li> <li><p>Writing limited to uncompressed 8 bit rgb</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>tiff</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key134">image</a>, <a href="../../../../index.html#key133">tif</a>, <a href="../../../../index.html#key132">tiff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>File formats</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2005-2006, Aaron Faupell <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/connect.html.
︙ | ︙ | |||
148 149 150 151 152 153 154 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two | | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two complementary modes, called <i class="term"><a href="../../../../index.html#key593">active</a></i> (the object initiates the connection) and <i class="term"><a href="../../../../index.html#key594">passive</a></i> (the object receives the connection).</p> <p>Of the two objects in a connecting pair one has to be configured for <i class="term"><a href="../../../../index.html#key593">active</a></i> mode, and the other then has to be configured for <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode. This establishes which of the two partners connects to whom (the <i class="term"><a href="../../../../index.html#key593">active</a></i> to the other), or, who is waiting on whom (the <i class="term"><a href="../../../../index.html#key594">passive</a></i> on the other). Note that this is completely independent of the direction of any data transmission using the connection after it has been established. An active object can, after establishing the connection, either transmit or receive data. Equivalently the passive object can do the same after the waiting for its partner has ended.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::connect</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new connection object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#subsection4">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
191 192 193 194 195 196 197 | See section <span class="sectref"><a href="#subsection3">Object methods</a></span> for the detailed specifications.</p></dd> </dl> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> | | | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | See section <span class="sectref"><a href="#subsection3">Object methods</a></span> for the detailed specifications.</p></dd> </dl> </div> <div id="subsection3" class="subsection"><h3><a name="subsection3">Object methods</a></h3> <dl class="definitions"> <dt><a name="3"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>This method destroys the object. This is safe to do for an <i class="term"><a href="../../../../index.html#key593">active</a></i> object when a connection has been started, as the completion callback is synchronous. For a <i class="term"><a href="../../../../index.html#key594">passive</a></i> object currently waiting for its partner to establish the connection however this is not safe and will cause errors later on, when the connection setup completes and tries to access the now missing data structures of the destroyed object.</p></dd> <dt><a name="4"><i class="arg">objectName</i> <b class="method">connect</b> <i class="arg">command</i></a></dt> <dd><p>This method starts the connection setup per the configuration of the object. When the connection is established the callback <i class="arg">command</i> will be invoked with one additional argument, the channel handle of the socket over which data can be transfered.</p> <p>The detailed behaviour of the method depends on the configured mode.</p> <dl class="definitions"> <dt><i class="term"><a href="../../../../index.html#key593">active</a></i></dt> <dd><p>The connection setup is done synchronously. The object waits until the connection is established. The method returns the empty string as its result.</p></dd> <dt><i class="term"><a href="../../../../index.html#key594">passive</a></i></dt> <dd><p>The connection setup is done asynchronously. The method returns immediately after a listening socket has been set up. The connection will be established in the background. |
︙ | ︙ | |||
251 252 253 254 255 256 257 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key593">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key593">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any |
︙ | ︙ | |||
298 299 300 301 302 303 304 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key593">active</a>, <a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key592">connection</a>, <a href="../../../../index.html#key594">passive</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/copyops.html.
︙ | ︙ | |||
237 238 239 240 241 242 243 | </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/transfer/ddest.html.
︙ | ︙ | |||
154 155 156 157 158 159 160 | information from a channel into the described destination.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::data::destination</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new data destination object with an associated Tcl command whose name is <i class="arg">objectName</i>. | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | information from a channel into the described destination.</p> </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::data::destination</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new data destination object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection1">Object command</a></span> and <span class="sectref"><a href="#subsection2">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#subsection3">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
237 238 239 240 241 242 243 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key81">data destination</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/dsource.html.
︙ | ︙ | |||
159 160 161 162 163 164 165 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::data::source</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new data source object with an associated Tcl command whose name is <i class="arg">objectName</i>. | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::data::source</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new data source object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#subsection4">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
269 270 271 272 273 274 275 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | </dl> </div> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key354">data source</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/receiver.html.
︙ | ︙ | |||
162 163 164 165 166 167 168 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::receiver</b> <i class="arg">object</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new receiver object with an associated Tcl command whose name is <i class="arg">objectName</i>. | | | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::receiver</b> <i class="arg">object</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new receiver object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#subsection4">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
193 194 195 196 197 198 199 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the receiver object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used receiver object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key593">active</a></i> connection, and the port the internal receiver object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key594">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::receiver</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the received data is written to the file <i class="arg">path</i>, replacing any prior |
︙ | ︙ | |||
233 234 235 236 237 238 239 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | The method will throw an error if a reception is already/still in progress. I.e. it is not possible to run two receptions in parallel, only in sequence. Errors will also be thrown if the configuration of the data destination is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key593">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key594">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a reception is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> |
︙ | ︙ | |||
272 273 274 275 276 277 278 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key593">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key593">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any |
︙ | ︙ | |||
337 338 339 340 341 342 343 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key81">data destination</a>, <a href="../../../../index.html#key105">receiver</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/tqueue.html.
︙ | ︙ | |||
191 192 193 194 195 196 197 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::copy::queue</b> <i class="arg">objectName</i> <i class="arg">outchannel</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new queue object for the management of the channel <i class="arg">outchannel</i>, with an associated Tcl command whose name is <i class="arg">objectName</i>. | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::copy::queue</b> <i class="arg">objectName</i> <i class="arg">outchannel</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new queue object for the management of the channel <i class="arg">outchannel</i>, with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#section3">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
258 259 260 261 262 263 264 | they may come back in a different order than the requests from the client, and releases them to the actual queue in the proper order.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | they may come back in a different order than the requests from the client, and releases them to the actual queue in the proper order.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key54">queue</a>, <a href="../../../../index.html#key82">transfer</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/transfer/transmitter.html.
︙ | ︙ | |||
162 163 164 165 166 167 168 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::transmitter</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new transmitter object with an associated Tcl command whose name is <i class="arg">objectName</i>. | | | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <div id="subsection1" class="subsection"><h3><a name="subsection1">Package commands</a></h3> <dl class="definitions"> <dt><a name="1"><b class="cmd">transfer::transmitter</b> <i class="arg">objectName</i> <span class="opt">?<i class="arg">options</i>...?</span></a></dt> <dd><p>This command creates a new transmitter object with an associated Tcl command whose name is <i class="arg">objectName</i>. This <i class="term"><a href="../../../../index.html#key237">object</a></i> command is explained in full detail in the sections <span class="sectref"><a href="#subsection2">Object command</a></span> and <span class="sectref"><a href="#subsection3">Object methods</a></span>. The set of supported <i class="arg">options</i> is explained in section <span class="sectref"><a href="#subsection4">Options</a></span>.</p> <p>The object command will be created under the current namespace if the <i class="arg">objectName</i> is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command.</p></dd> |
︙ | ︙ | |||
191 192 193 194 195 196 197 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | <em>Note</em> however that the signature of the command prefix specified for the <b class="option">-command</b> callback differs from the signature for the same option of the transmitter object. This callback is only given the number of bytes and transfered, and possibly an error message. No reference to the internally used transmitter object is made.</p> <p>The result returned by the command is the empty string if it was set to make an <i class="term"><a href="../../../../index.html#key593">active</a></i> connection, and the port the internal transmitter object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key594">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="3"><b class="cmd">transfer::transmitter</b> <b class="method">stream file</b> <i class="arg">path</i> <i class="arg">host</i> <i class="arg">port</i> <span class="opt">?<i class="arg">arg</i>...?</span></a></dt> <dd><p>This method is like <b class="method">stream channel</b>, except that the data contained in the file <i class="arg">path</i> is transfered.</p></dd> |
︙ | ︙ | |||
230 231 232 233 234 235 236 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string | | | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | progress. I.e. it is not possible to run two transmissions in parallel on a single object, only in sequence. Multiple transmitter objects are needed to manage parallel transfers, one per transmission. Errors will also be thrown if the configuration of the data source is invalid, or if no completion callback was specified.</p> <p>The result returned by the method is the empty string for an object configured to make an <i class="term"><a href="../../../../index.html#key593">active</a></i> connection, and the port the object is listening on otherwise, i.e when it is configured to connect <i class="term"><a href="../../../../index.html#key594">passive</a></i>ly. See also the package <b class="package"><a href="connect.html">transfer::connect</a></b> and the description of the method <b class="method">connect</b> for where this behaviour comes from.</p></dd> <dt><a name="7"><i class="arg">objectName</i> <b class="method">busy</b></a></dt> <dd><p>This method returns a boolean value telling us whether a transmission is in progress (<b class="const">True</b>), or not (<b class="const">False</b>).</p></dd> |
︙ | ︙ | |||
271 272 273 274 275 276 277 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> | | | | 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | <dd><p>In this mode the option <b class="option">-host</b> has no relevance and is ignored should it be configured. The only option the object needs is <b class="option">-port</b>, and it specifies the TCP port on which the listening socket is opened to await the connection from the partner.</p></dd> </dl></dd> <dt><b class="option">-host</b> <i class="arg">hostname-or-ipaddr</i></dt> <dd><p>This option specifies the host to connect to in <i class="term"><a href="../../../../index.html#key593">active</a></i> mode, either by name or ip-address. An object configured for <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode ignores this option.</p></dd> <dt><b class="option">-port</b> <i class="arg">int</i></dt> <dd><p>For <i class="term"><a href="../../../../index.html#key593">active</a></i> mode this option specifies the port the object is expected to connect to. For <i class="term"><a href="../../../../index.html#key594">passive</a></i> mode however it is the port where the object creates the listening socket waiting for a connection. It defaults to <b class="const">0</b>, which allows the OS to choose the actual port to listen on.</p></dd> <dt><b class="option">-socketcmd</b> <i class="arg">command</i></dt> <dd><p>This option allows the user to specify which command to use to open a socket. The default is to use the builtin <b class="cmd">::socket</b>. Any |
︙ | ︙ | |||
342 343 344 345 346 347 348 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the | | | | 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | ... </pre> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>transfer</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key83">channel</a>, <a href="../../../../index.html#key84">copy</a>, <a href="../../../../index.html#key354">data source</a>, <a href="../../../../index.html#key339">secure</a>, <a href="../../../../index.html#key342">ssl</a>, <a href="../../../../index.html#key311">tls</a>, <a href="../../../../index.html#key82">transfer</a>, <a href="../../../../index.html#key699">transmitter</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Transfer module</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2006-2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/treeql/treeql.html.
︙ | ︙ | |||
134 135 136 137 138 139 140 | <li class="subsection"><a href="#subsection9">Node Set Operators</a></li> <li class="subsection"><a href="#subsection10">Node Set Iterators</a></li> <li class="subsection"><a href="#subsection11">Typed node support</a></li> </ul> </li> <li class="section"><a href="#section4">Examples</a></li> <li class="section"><a href="#section5">References</a></li> | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <li class="subsection"><a href="#subsection9">Node Set Operators</a></li> <li class="subsection"><a href="#subsection10">Node Set Iterators</a></li> <li class="subsection"><a href="#subsection11">Typed node support</a></li> </ul> </li> <li class="section"><a href="#section4">Examples</a></li> <li class="section"><a href="#section5">References</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
497 498 499 500 501 502 503 | <dt><b class="method">string</b> <i class="arg">op</i> <i class="arg">attr</i></dt> <dd><p>Applies the string operator <i class="arg">op</i> to the attribute named <i class="arg">attr</i>, for all nodes <b class="variable">N</b> in the node set, collects the results of that application and places them into the node set.</p> <p>The operator will fail if a node does not have an attribute named <i class="arg">attr</i>.</p> <p>The argument <i class="arg">op</i> is interpreted as partial argument list for the | | | | 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 | <dt><b class="method">string</b> <i class="arg">op</i> <i class="arg">attr</i></dt> <dd><p>Applies the string operator <i class="arg">op</i> to the attribute named <i class="arg">attr</i>, for all nodes <b class="variable">N</b> in the node set, collects the results of that application and places them into the node set.</p> <p>The operator will fail if a node does not have an attribute named <i class="arg">attr</i>.</p> <p>The argument <i class="arg">op</i> is interpreted as partial argument list for the builtin command <b class="cmd"><a href="../../../../index.html#key270">string</a></b>. Its first word has to be any of the sub-commands understood by <b class="cmd"><a href="../../../../index.html#key270">string</a></b>. This has to be followed by all arguments required for the subcommand, except the last. that last argument is supplied by the attribute value.</p></dd> <dt><b class="method">get</b> <i class="arg">pattern</i></dt> <dd><p>For all nodes <b class="variable">N</b> in the node set it determines all their attributes with names matching the glob <i class="arg">pattern</i>, then the values of these attributes, at last it replaces the node set with the list of these attribute values.</p></dd> |
︙ | ︙ | |||
632 633 634 635 636 637 638 | <div id="section5" class="section"><h2><a name="section5">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.tcl.tk/COST">COST</a> on the Tcler's Wiki.</p></li> <li><p><a href="http://wiki.tcl.tk/treeql">TreeQL</a> on the Tcler's Wiki. Discuss this package there.</p></li> </ol> </div> | | | | | 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 | <div id="section5" class="section"><h2><a name="section5">References</a></h2> <ol class="enumerated"> <li><p><a href="http://wiki.tcl.tk/COST">COST</a> on the Tcler's Wiki.</p></li> <li><p><a href="http://wiki.tcl.tk/treeql">TreeQL</a> on the Tcler's Wiki. Discuss this package there.</p></li> </ol> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>treeql</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key805">Cost</a>, <a href="../../../../index.html#key802">DOM</a>, <a href="../../../../index.html#key804">TreeQL</a>, <a href="../../../../index.html#key803">XPath</a>, <a href="../../../../index.html#key807">XSLT</a>, <a href="../../../../index.html#key808">structured queries</a>, <a href="../../../../index.html#key278">tree</a>, <a href="../../../../index.html#key806">tree query language</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Data structures</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004 Colin McCormack <[email protected]><br> Copyright © 2004 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/try/tcllib_try.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">EXAMPLES</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
213 214 215 216 217 218 219 | } <b class="method">trap</b> {POSIX EISDIR} {} { puts "failed to open /some/file/name: it's a directory" } <b class="method">trap</b> {POSIX ENOENT} {} { puts "failed to open /some/file/name: it doesn't exist" } </pre> </div> | | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 | } <b class="method">trap</b> {POSIX EISDIR} {} { puts "failed to open /some/file/name: it's a directory" } <b class="method">trap</b> {POSIX ENOENT} {} { puts "failed to open /some/file/name: it doesn't exist" } </pre> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>try</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p>catch(n), error(n), return(n), throw(n)</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/uev/uevent.html.
︙ | ︙ | |||
113 114 115 116 117 118 119 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> |
︙ | ︙ | |||
259 260 261 262 263 264 265 | <p>The result of the command is a token representing the watcher.</p></dd> <dt><a name="15"><b class="cmd">::uevent::watch::event::remove</b> <i class="arg">token</i></a></dt> <dd><p>This command removes a watcher for (un)bind events on tag/event combinations.</p> <p>The result of the command is the empty string.</p></dd> </dl> </div> | | | | 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | <p>The result of the command is a token representing the watcher.</p></dd> <dt><a name="15"><b class="cmd">::uevent::watch::event::remove</b> <i class="arg">token</i></a></dt> <dd><p>This command removes a watcher for (un)bind events on tag/event combinations.</p> <p>The result of the command is the empty string.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uevent</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../hook/hook.html">hook(n)</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/uev/uevent_onidle.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Examples</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Examples</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
165 166 167 168 169 170 171 | </dl> </div> <div id="section3" class="section"><h2><a name="section3">Examples</a></h2> <p>Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner.</p> </div> | | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | </dl> </div> <div id="section3" class="section"><h2><a name="section3">Examples</a></h2> <p>Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner.</p> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uevent</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key519">callback</a>, <a href="../../../../index.html#key522">deferal</a>, <a href="../../../../index.html#key521">event</a>, <a href="../../../../index.html#key520">idle</a>, <a href="../../../../index.html#key518">merge</a>, <a href="../../../../index.html#key517">on-idle</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/units/units.html.
︙ | ︙ | |||
130 131 132 133 134 135 136 | <li class="subsection"><a href="#subsection4">SI Prefixes</a></li> <li class="subsection"><a href="#subsection5">Non-SI Units</a></li> <li class="subsection"><a href="#subsection6">Quantities and Derived Units with Special Names</a></li> </ul> </li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> | | | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | <li class="subsection"><a href="#subsection4">SI Prefixes</a></li> <li class="subsection"><a href="#subsection5">Non-SI Units</a></li> <li class="subsection"><a href="#subsection6">Quantities and Derived Units with Special Names</a></li> </ul> </li> <li class="section"><a href="#section5">REFERENCES</a></li> <li class="section"><a href="#section6">AUTHORS</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
457 458 459 460 461 462 463 | analysis of unit strings using fixed size tables of C structs. After going missing in the late 1990's, Adrian's code has reappeared in the GNU Units program at <a href="http://www.gnu.org/software/units/">http://www.gnu.org/software/units/</a></p> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Robert W. Techentin</p> </div> | | | | | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | analysis of unit strings using fixed size tables of C structs. After going missing in the late 1990's, Adrian's code has reappeared in the GNU Units program at <a href="http://www.gnu.org/software/units/">http://www.gnu.org/software/units/</a></p> </div> <div id="section6" class="section"><h2><a name="section6">AUTHORS</a></h2> <p>Robert W. Techentin</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>units</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key559">angle</a>, <a href="../../../../index.html#key590">constants</a>, <a href="../../../../index.html#key20">conversion</a>, <a href="../../../../index.html#key455">distance</a>, <a href="../../../../index.html#key591">radians</a>, <a href="../../../../index.html#key589">unit</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2000-2005 Mayo Foundation</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/uri/uri.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">SCHEMES</a></li> <li class="section"><a href="#section4">EXTENDING</a></li> <li class="section"><a href="#section5">CREDITS</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">SCHEMES</a></li> <li class="section"><a href="#section4">EXTENDING</a></li> <li class="section"><a href="#section5">CREDITS</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">uri::split</b> <i class="arg">url</i> <span class="opt">?<i class="arg">defaultscheme</i>?</span></a></dt> <dd><p><b class="cmd">uri::split</b> takes an <i class="arg">url</i>, decodes it and then returns a list of key/value pairs suitable for <b class="cmd">array set</b> containing the constituents of the <i class="arg">url</i>. If the scheme is missing from the url it defaults to the value of <i class="arg">defaultscheme</i> if it was specified, | | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">uri::split</b> <i class="arg">url</i> <span class="opt">?<i class="arg">defaultscheme</i>?</span></a></dt> <dd><p><b class="cmd">uri::split</b> takes an <i class="arg">url</i>, decodes it and then returns a list of key/value pairs suitable for <b class="cmd">array set</b> containing the constituents of the <i class="arg">url</i>. If the scheme is missing from the url it defaults to the value of <i class="arg">defaultscheme</i> if it was specified, or <i class="term"><a href="../../../../index.html#key505">http</a></i> else. Currently only the schemes <i class="term"><a href="../../../../index.html#key505">http</a></i>, <i class="term"><a href="../../../../index.html#key275">ftp</a></i>, <i class="term"><a href="../../../../index.html#key513">mailto</a></i>, <i class="term"><a href="../../../../index.html#key560">urn</a></i>, <i class="term"><a href="../../../../index.html#key511">news</a></i>, <i class="term"><a href="../../../../index.html#key137">ldap</a></i> and <i class="term"><a href="../../../../index.html#key35">file</a></i> are supported by the package itself. See section <span class="sectref"><a href="#section4">EXTENDING</a></span> on how to expand that range.</p> <p>The set of constituents of an url (= the set of keys in the returned dictionary) is dependent on the scheme of the url. The only key which is therefore always present is <b class="const">scheme</b>. For the following schemes the constituents and their keys are known:</p> <dl class="definitions"> |
︙ | ︙ | |||
180 181 182 183 184 185 186 | <dd><p><b class="const">user</b>, <b class="const">host</b>. The host is optional.</p></dd> <dt>news</dt> <dd><p>Either <b class="const">message-id</b> or <b class="const">newsgroup-name</b>.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">uri::join</b> <span class="opt">?<i class="arg">key</i> <i class="arg">value</i>?</span>...</a></dt> <dd><p><b class="cmd">uri::join</b> takes a list of key/value pairs (generated by <b class="cmd">uri::split</b>, for example) and returns the canonical url they | | | | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | <dd><p><b class="const">user</b>, <b class="const">host</b>. The host is optional.</p></dd> <dt>news</dt> <dd><p>Either <b class="const">message-id</b> or <b class="const">newsgroup-name</b>.</p></dd> </dl></dd> <dt><a name="2"><b class="cmd">uri::join</b> <span class="opt">?<i class="arg">key</i> <i class="arg">value</i>?</span>...</a></dt> <dd><p><b class="cmd">uri::join</b> takes a list of key/value pairs (generated by <b class="cmd">uri::split</b>, for example) and returns the canonical url they represent. Currently only the schemes <i class="term"><a href="../../../../index.html#key505">http</a></i>, <i class="term"><a href="../../../../index.html#key275">ftp</a></i>, <i class="term"><a href="../../../../index.html#key513">mailto</a></i>, <i class="term"><a href="../../../../index.html#key560">urn</a></i>, <i class="term"><a href="../../../../index.html#key511">news</a></i>, <i class="term"><a href="../../../../index.html#key137">ldap</a></i> and <i class="term"><a href="../../../../index.html#key35">file</a></i> are supported. See section <span class="sectref"><a href="#section4">EXTENDING</a></span> on how to expand that range.</p></dd> <dt><a name="3"><b class="cmd">uri::resolve</b> <i class="arg">base</i> <i class="arg">url</i></a></dt> <dd><p><b class="cmd">uri::resolve</b> resolves the specified <i class="arg">url</i> relative to <i class="arg">base</i>. In other words: A non-relative <i class="arg">url</i> is returned unchanged, whereas for a relative <i class="arg">url</i> the missing parts are taken from <i class="arg">base</i> and prepended to it. The result of this |
︙ | ︙ | |||
233 234 235 236 237 238 239 | regular expression to recognize urls for a number of url schemes.</p> <p>For each supported scheme a namespace of the same name as the scheme itself is provided inside of the namespace <em>uri</em> containing the variable <b class="variable">url</b> whose contents are a regular expression to recognize urls of that scheme. Additional variables may contain regular expressions for parts of urls for that scheme.</p> <p>The variable <b class="variable">uri::schemes</b> contains a list of all supported | | | | | | | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | regular expression to recognize urls for a number of url schemes.</p> <p>For each supported scheme a namespace of the same name as the scheme itself is provided inside of the namespace <em>uri</em> containing the variable <b class="variable">url</b> whose contents are a regular expression to recognize urls of that scheme. Additional variables may contain regular expressions for parts of urls for that scheme.</p> <p>The variable <b class="variable">uri::schemes</b> contains a list of all supported schemes. Currently these are <i class="term"><a href="../../../../index.html#key275">ftp</a></i>, <i class="term"><a href="../../../../index.html#key137">ldap</a></i>, <i class="term"><a href="../../../../index.html#key35">file</a></i>, <i class="term"><a href="../../../../index.html#key505">http</a></i>, <i class="term"><a href="../../../../index.html#key510">gopher</a></i>, <i class="term"><a href="../../../../index.html#key513">mailto</a></i>, <i class="term"><a href="../../../../index.html#key511">news</a></i>, <i class="term"><a href="../../../../index.html#key509">wais</a></i> and <i class="term"><a href="../../../../index.html#key507">prospero</a></i>.</p> </div> <div id="section4" class="section"><h2><a name="section4">EXTENDING</a></h2> <p>Extending the range of schemes supported by <b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> is easy because both commands do not handle the request by themselves but dispatch it to another command in the <em>uri</em> namespace using the scheme of the url as criterion.</p> <p><b class="cmd">uri::split</b> and <b class="cmd">uri::join</b> call <b class="cmd">Split[string totitle <scheme>]</b> and <b class="cmd">Join[string totitle <scheme>]</b> respectively.</p> </div> <div id="section5" class="section"><h2><a name="section5">CREDITS</a></h2> <p>Original code (regular expressions) by Andreas Kupries. Modularisation by Steve Ball, also the split/join/resolve functionality.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uri</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key512">fetching information</a>, <a href="../../../../index.html#key35">file</a>, <a href="../../../../index.html#key275">ftp</a>, <a href="../../../../index.html#key510">gopher</a>, <a href="../../../../index.html#key505">http</a>, <a href="../../../../index.html#key137">ldap</a>, <a href="../../../../index.html#key513">mailto</a>, <a href="../../../../index.html#key511">news</a>, <a href="../../../../index.html#key507">prospero</a>, <a href="../../../../index.html#key514">rfc 2255</a>, <a href="../../../../index.html#key516">rfc 2396</a>, <a href="../../../../index.html#key506">uri</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key509">wais</a>, <a href="../../../../index.html#key515">www</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/uri/urn-scheme.html.
︙ | ︙ | |||
111 112 113 114 115 116 117 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> | | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> <ul class="requirements"> |
︙ | ︙ | |||
148 149 150 151 152 153 154 | its result.</p></dd> <dt><a name="2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></dt> <dd><p>This commands performs the reverse of <b class="cmd">::uri::urn::quote</b>. It takes an <i class="term"><a href="../../../../index.html#key560">urn</a></i> url, removes the quoting from all disallowed characters, and returns the modified urls as its result.</p></dd> </dl> </div> | | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | its result.</p></dd> <dt><a name="2"><b class="cmd">uri::urn::unquote</b> <i class="arg">url</i></a></dt> <dd><p>This commands performs the reverse of <b class="cmd">::uri::urn::quote</b>. It takes an <i class="term"><a href="../../../../index.html#key560">urn</a></i> url, removes the quoting from all disallowed characters, and returns the modified urls as its result.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uri</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key561">rfc 2141</a>, <a href="../../../../index.html#key506">uri</a>, <a href="../../../../index.html#key508">url</a>, <a href="../../../../index.html#key560">urn</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Networking</p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/uuid/uuid.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">REFERENCES</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
161 162 163 164 165 166 167 | </div> <div id="section4" class="section"><h2><a name="section4">REFERENCES</a></h2> <ol class="enumerated"> <li><p>Paul J. Leach, "UUIDs and GUIDs", February 1998. (<a href="http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt">http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt</a>)</p></li> </ol> </div> | | | | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | </div> <div id="section4" class="section"><h2><a name="section4">REFERENCES</a></h2> <ol class="enumerated"> <li><p>Paul J. Leach, "UUIDs and GUIDs", February 1998. (<a href="http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt">http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt</a>)</p></li> </ol> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>uuid</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key218">GUID</a>, <a href="../../../../index.html#key219">UUID</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Hashes, checksums, and encryption</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2004, Pat Thoyts <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/valtype/cc_amex.html.
︙ | ︙ | |||
200 201 202 203 204 205 206 | to be an AMEX creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | to be an AMEX creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key374">AMEX</a>, <a href="../../../../index.html#key373">American Express</a>, <a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key260">bank</a>, <a href="../../../../index.html#key258">card for credit</a>, <a href="../../../../index.html#key261">credit card</a>, <a href="../../../../index.html#key259">finance</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/cc_discover.html.
︙ | ︙ | |||
200 201 202 203 204 205 206 | to be a Discover creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | to be a Discover creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key262">Discover</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key260">bank</a>, <a href="../../../../index.html#key258">card for credit</a>, <a href="../../../../index.html#key261">credit card</a>, <a href="../../../../index.html#key259">finance</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/cc_mastercard.html.
︙ | ︙ | |||
200 201 202 203 204 205 206 | to be a Mastercard creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | to be a Mastercard creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key655">MasterCard</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key260">bank</a>, <a href="../../../../index.html#key258">card for credit</a>, <a href="../../../../index.html#key261">credit card</a>, <a href="../../../../index.html#key259">finance</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/cc_visa.html.
︙ | ︙ | |||
200 201 202 203 204 205 206 | to be a VISA creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | to be a VISA creditcard number.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key692">VISA</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key260">bank</a>, <a href="../../../../index.html#key258">card for credit</a>, <a href="../../../../index.html#key261">credit card</a>, <a href="../../../../index.html#key259">finance</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/ean13.html.
︙ | ︙ | |||
196 197 198 199 200 201 202 | <dd><p>The input value is of the wrong length to be an EAN13.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | <dd><p>The input value is of the wrong length to be an EAN13.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key111">EAN</a>, <a href="../../../../index.html#key112">EAN13</a>, <a href="../../../../index.html#key110">European Article Number</a>, <a href="../../../../index.html#key113">International Article Number</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/iban.html.
︙ | ︙ | |||
194 195 196 197 198 199 200 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key365">IBAN</a>, <a href="../../../../index.html#key364">International Bank Account Number</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key260">bank</a>, <a href="../../../../index.html#key259">finance</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/imei.html.
︙ | ︙ | |||
197 198 199 200 201 202 203 | <dd><p>The input value is of the wrong length to be an IMEI.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | <dd><p>The input value is of the wrong length to be an IMEI.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key772">IMEI</a>, <a href="../../../../index.html#key775">International Mobile Equipment Identity</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key776">cell-phone</a>, <a href="../../../../index.html#key75">isA</a>, <a href="../../../../index.html#key773">mobile phone</a>, <a href="../../../../index.html#key774">phone</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/isbn.html.
︙ | ︙ | |||
203 204 205 206 207 208 209 | <dd><p>The input value is of the wrong length to be an ISBN.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | <dd><p>The input value is of the wrong length to be an ISBN.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key346">Book Number</a>, <a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key111">EAN</a>, <a href="../../../../index.html#key112">EAN13</a>, <a href="../../../../index.html#key110">European Article Number</a>, <a href="../../../../index.html#key345">ISBN</a>, <a href="../../../../index.html#key113">International Article Number</a>, <a href="../../../../index.html#key347">International Standard Book Number</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/luhn.html.
︙ | ︙ | |||
194 195 196 197 198 199 200 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a>, <a href="../../../../index.html#key79">luhn</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/luhn5.html.
︙ | ︙ | |||
194 195 196 197 198 199 200 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a>, <a href="../../../../index.html#key79">luhn</a>, <a href="../../../../index.html#key74">luhn-5</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/usnpi.html.
︙ | ︙ | |||
197 198 199 200 201 202 203 | <dd><p>The input value is of the wrong length to be an USNPI.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | <dd><p>The input value is of the wrong length to be an USNPI.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key242">NPI</a>, <a href="../../../../index.html#key239">National Provider Identifier</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key240">US-NPI</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a>, <a href="../../../../index.html#key241">medicare</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/valtype_common.html.
︙ | ︙ | |||
207 208 209 210 211 212 213 | to be a <b class="const"><></b>.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | to be a <b class="const"><></b>.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/valtype/verhoeff.html.
︙ | ︙ | |||
194 195 196 197 198 199 200 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the | | | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | th input may be an outright fake too.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>valtype</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key73">Checking</a>, <a href="../../../../index.html#key78">Testing</a>, <a href="../../../../index.html#key77">Type checking</a>, <a href="../../../../index.html#key80">Validation</a>, <a href="../../../../index.html#key76">Value checking</a>, <a href="../../../../index.html#key75">isA</a>, <a href="../../../../index.html#key732">verhoeff</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> |
︙ | ︙ |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/cat.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
154 155 156 157 158 159 160 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::cat</b> <i class="arg">chan</i>...</a></dt> <dd><p>This command creates the concatenation channel using all the provided channels, and returns its handle.</p></dd> </dl> </div> | | | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::cat</b> <i class="arg">chan</i>...</a></dt> <dd><p>This command creates the concatenation channel using all the provided channels, and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key176">concatenation channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/facade.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
172 173 174 175 176 177 178 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::facade</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates the facade channel around the provided channel <i class="arg">chan</i>, and returns its handle.</p></dd> </dl> </div> | | | | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::facade</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates the facade channel around the provided channel <i class="arg">chan</i>, and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key176">concatenation channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/halfpipe.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Options</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Options</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
178 179 180 181 182 183 184 | Two arguments are supplied, the handle of the channel written to, and the data written. The result of the callback is ignored.</p></dd> <dt><b class="option">-empty-command</b> cmdprefix</dt> <dd><p>This callback is invoked when the channel has run out of data to read. A single argument is supplied, the handle of the channel.</p></dd> </dl> </div> | | | | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | Two arguments are supplied, the handle of the channel written to, and the data written. The result of the callback is ignored.</p></dd> <dt><b class="option">-empty-command</b> cmdprefix</dt> <dd><p>This callback is invoked when the channel has run out of data to read. A single argument is supplied, the handle of the channel.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key702">callbacks</a>, <a href="../../../../index.html#key588">fifo</a>, <a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/nullzero.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::nullzero</b></a></dt> <dd><p>This command creates a new nullzero channel and returns its handle.</p></dd> </dl> </div> | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::nullzero</b></a></dt> <dd><p>This command creates a new nullzero channel and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key744">/dev/null</a>, <a href="../../../../index.html#key126">/dev/zero</a>, <a href="../../../../index.html#key745">null</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a>, <a href="../../../../index.html#key125">zero</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/randseed.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
148 149 150 151 152 153 154 | id, current time, and Tcl random number generator.</p></dd> <dt><a name="2"><b class="cmd">::tcl::combine</b> <i class="arg">seed1</i> <i class="arg">seed2</i></a></dt> <dd><p>This command takes to seed lists and combines them into a single list by XORing them elementwise, modulo 256. If the lists are not of equial length the shorter of the two is padded with 0s before merging.</p></dd> </dl> </div> | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | id, current time, and Tcl random number generator.</p></dd> <dt><a name="2"><b class="cmd">::tcl::combine</b> <i class="arg">seed1</i> <i class="arg">seed2</i></a></dt> <dd><p>This command takes to seed lists and combines them into a single list by XORing them elementwise, modulo 256. If the lists are not of equial length the shorter of the two is padded with 0s before merging.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key577">/dev/random</a>, <a href="../../../../index.html#key518">merge</a>, <a href="../../../../index.html#key576">random</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key817">seed</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/std.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::std</b></a></dt> <dd><p>This command creates the std channel and returns its handle.</p> <p>The channel is created only once, on the first call, and all future calls simply return this handle.</p></dd> </dl> </div> | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::std</b></a></dt> <dd><p>This command creates the std channel and returns its handle.</p> <p>The channel is created only once, on the first call, and all future calls simply return this handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key814">standard io</a>, <a href="../../../../index.html#key815">stdin</a>, <a href="../../../../index.html#key816">stdout</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2011 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_fifo.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
150 151 152 153 154 155 156 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo</b></a></dt> <dd><p>This command creates a new fifo channel and returns its handle.</p></dd> </dl> </div> | | | | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo</b></a></dt> <dd><p>This command creates a new fifo channel and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key588">fifo</a>, <a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_fifo2.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
155 156 157 158 159 160 161 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo2</b></a></dt> <dd><p>This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements.</p></dd> </dl> </div> | | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::fifo2</b></a></dt> <dd><p>This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key724">connected fifos</a>, <a href="../../../../index.html#key588">fifo</a>, <a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key723">inter-thread communication</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_memchan.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::memchan</b></a></dt> <dd><p>This command creates a new memchan channel and returns its handle.</p></dd> </dl> </div> | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::memchan</b></a></dt> <dd><p>This command creates a new memchan channel and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_null.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::null</b></a></dt> <dd><p>This command creates a new null channel and returns its handle.</p></dd> </dl> </div> | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::null</b></a></dt> <dd><p>This command creates a new null channel and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key744">/dev/null</a>, <a href="../../../../index.html#key745">null</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_random.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::random</b> <i class="arg">seed</i></a></dt> <dd><p>This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator.</p></dd> </dl> </div> | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::random</b> <i class="arg">seed</i></a></dt> <dd><p>This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key577">/dev/random</a>, <a href="../../../../index.html#key576">random</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_string.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::string</b> <i class="arg">content</i></a></dt> <dd><p>This command creates a new string channel and returns its handle. The channel provides random read-only access to the <i class="arg">content</i> string.</p></dd> </dl> </div> | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::string</b> <i class="arg">content</i></a></dt> <dd><p>This command creates a new string channel and returns its handle. The channel provides random read-only access to the <i class="arg">content</i> string.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_variable.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::variable</b> <i class="arg">varname</i></a></dt> <dd><p>This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace variable <i class="arg">varname</i>.</p></dd> </dl> </div> | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::variable</b> <i class="arg">varname</i></a></dt> <dd><p>This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace variable <i class="arg">varname</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key59">in-memory channel</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/tcllib_zero.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
152 153 154 155 156 157 158 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::zero</b></a></dt> <dd><p>This command creates a new zero channel and returns its handle.</p></dd> </dl> </div> | | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | </div> <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::zero</b></a></dt> <dd><p>This command creates a new zero channel and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key126">/dev/zero</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a>, <a href="../../../../index.html#key125">zero</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_base/textwindow.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
147 148 149 150 151 152 153 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::textwindow</b> <i class="arg">widget</i></a></dt> <dd><p>This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated <i class="arg">widget</i>.</p></dd> </dl> </div> | | | | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::chan::textwindow</b> <i class="arg">widget</i></a></dt> <dd><p>This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated <i class="arg">widget</i>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key207">Tk</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key206">text widget</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/core.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | <dt><a name="4"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroying the channel core instance closes the channel it was initialized for, see the method <b class="method">initialize</b>. When destroyed from within a call of <b class="method">finalize</b> this does not happen, under the assumption that the channel is being destroyed by Tcl.</p></dd> </dl> </div> | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | <dt><a name="4"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroying the channel core instance closes the channel it was initialized for, see the method <b class="method">initialize</b>. When destroyed from within a call of <b class="method">finalize</b> this does not happen, under the assumption that the channel is being destroyed by Tcl.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/events.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
184 185 186 187 188 189 190 | can (allow) or cannot (disallow) generate. Together with the information about the events requested by Tcl's IO system coming in through the <b class="method">watch</b> method the event core is able to determine which events it should (not) generate and act accordingly.</p></dd> </dl> </div> | | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | can (allow) or cannot (disallow) generate. Together with the information about the events requested by Tcl's IO system coming in through the <b class="method">watch</b> method the event core is able to determine which events it should (not) generate and act accordingly.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key494">event management</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_core/transformcore.html.
︙ | ︙ | |||
115 116 117 118 119 120 121 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">Class API</a></li> <li class="section"><a href="#section3">Instance API</a></li> <li class="section"><a href="#section4">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
176 177 178 179 180 181 182 | <dt><a name="4"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroying the transform core instance closes the channel and transform it was initialized for, see the method <b class="method">initialize</b>. When destroyed from within a call of <b class="method">finalize</b> this does not happen, under the assumption that the channel and transform are being destroyed by Tcl.</p></dd> </dl> </div> | | | | 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | <dt><a name="4"><i class="arg">objectName</i> <b class="method">destroy</b></a></dt> <dd><p>Destroying the transform core instance closes the channel and transform it was initialized for, see the method <b class="method">initialize</b>. When destroyed from within a call of <b class="method">finalize</b> this does not happen, under the assumption that the channel and transform are being destroyed by Tcl.</p></dd> </dl> </div> <div id="section4" class="section"><h2><a name="section4">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key58">tip 219</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/adler32.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | variable, the location where the transformation has to store the adler32 checksum of the data written to the channel.</p> <p>If not specified, or the empty string, the checksum of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> | | | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | variable, the location where the transformation has to store the adler32 checksum of the data written to the channel.</p> <p>If not specified, or the empty string, the checksum of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key651">adler32</a>, <a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/base64.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::base64</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a base64 transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::base64</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a base64 transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key759">base64</a>, <a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key758">tip 317</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/counter.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
168 169 170 171 172 173 174 | variable, the location where the transformation has to store the byte count of the data written to the channel.</p> <p>If not specified, or the empty string, the counter of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> | | | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | variable, the location where the transformation has to store the byte count of the data written to the channel.</p> <p>If not specified, or the empty string, the counter of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key297">counter</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/crc32.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
169 170 171 172 173 174 175 | variable, the location where the transformation has to store the crc32 checksum of the data written to the channel.</p> <p>If not specified, or the empty string, the checksum of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> | | | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | variable, the location where the transformation has to store the crc32 checksum of the data written to the channel.</p> <p>If not specified, or the empty string, the checksum of the write direction is not saved.</p></dd> </dl></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key158">checksum</a>, <a href="../../../../index.html#key155">crc32</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/hex.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::hex</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a hex transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::hex</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates a hex transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key720">hexadecimal</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/identity.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::identity</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates an identity transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> | | | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | <div id="section2" class="section"><h2><a name="section2">API</a></h2> <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::identity</b> <i class="arg">chan</i></a></dt> <dd><p>This command creates an identity transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key420">identity</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/limitsize.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
151 152 153 154 155 156 157 | <dd><p>This command creates a size limiting transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p> <p><i class="arg">max</i> is the number of bytes which can be read from the channel before EOF is signaled by the transformation. Note that popping the transformation clears the EOF it generated as well.</p></dd> </dl> </div> | | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | <dd><p>This command creates a size limiting transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p> <p><i class="arg">max</i> is the number of bytes which can be read from the channel before EOF is signaled by the transformation. Note that popping the transformation clears the EOF it generated as well.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key706">limitsize</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key705">size limit</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/observe.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
155 156 157 158 159 160 161 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::observe</b> <i class="arg">chan</i> <i class="arg">logw</i> <i class="arg">logr</i></a></dt> <dd><p>This command creates an observer transformation on top of the channel <i class="arg">chan</i> and returns its handle. The channel handles <i class="arg">logr</i> and <i class="arg">logw</i> are there the data is copied to.</p></dd> </dl> </div> | | | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | <dl class="definitions"> <dt><a name="1"><b class="cmd">::tcl::transform::observe</b> <i class="arg">chan</i> <i class="arg">logw</i> <i class="arg">logr</i></a></dt> <dd><p>This command creates an observer transformation on top of the channel <i class="arg">chan</i> and returns its handle. The channel handles <i class="arg">logr</i> and <i class="arg">logw</i> are there the data is copied to.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key630">observer</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key631">stream copy</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/otp.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
153 154 155 156 157 158 159 | top of the channel <i class="arg">chan</i> and returns its handle.</p> <p>The two channels <i class="arg">keychanw</i> and <i class="arg">keychanr</i> contain the one-time pads for the write and read directions, respectively. Their contents are reads and xored with the bytes written to and read from the channel.</p></dd> </dl> </div> | | | | | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | top of the channel <i class="arg">chan</i> and returns its handle.</p> <p>The two channels <i class="arg">keychanw</i> and <i class="arg">keychanr</i> contain the one-time pads for the write and read directions, respectively. Their contents are reads and xored with the bytes written to and read from the channel.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key179">cipher</a>, <a href="../../../../index.html#key378">decryption</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key783">one time pad</a>, <a href="../../../../index.html#key784">otp</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a>, <a href="../../../../index.html#key782">xor</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/rot.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
156 157 158 159 160 161 162 | alphabet, and is wrapped to the range "0...25".</p> <p>Note that this transformation affects only bytes in the ranges ASCII 65...90, and 97...122, i.e. the upper- and lower-case alphabetic characters, i.e. "A...Z" and "a...z". All other bytes are passed through unchanged.</p></dd> </dl> </div> | | | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | alphabet, and is wrapped to the range "0...25".</p> <p>Note that this transformation affects only bytes in the ranges ASCII 65...90, and 97...122, i.e. the upper- and lower-case alphabetic characters, i.e. "A...Z" and "a...z". All other bytes are passed through unchanged.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key379">caesar cipher</a>, <a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key179">cipher</a>, <a href="../../../../index.html#key378">decryption</a>, <a href="../../../../index.html#key153">encryption</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key377">rot</a>, <a href="../../../../index.html#key376">rot13</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/spacer.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
151 152 153 154 155 156 157 | <i class="arg">chan</i> and returns its handle.</p> <p>The <i class="arg">space</i> character sequence will be added every <i class="arg">n</i> bytes of data written, and on the read side the same is done in reverse, removing the spacing. If <i class="arg">space</i> is not specified it defaults to a single space character (ASCII 32).</p></dd> </dl> </div> | | | | | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | <i class="arg">chan</i> and returns its handle.</p> <p>The <i class="arg">space</i> character sequence will be added every <i class="arg">n</i> bytes of data written, and on the read side the same is done in reverse, removing the spacing. If <i class="arg">space</i> is not specified it defaults to a single space character (ASCII 32).</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key500">spacing</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/virtchannel_transform/tcllib_zlib.html.
︙ | ︙ | |||
114 115 116 117 118 119 120 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | </div> <div id="toc" class="section"><h2><a name="toc">Table Of Contents</a></h2> <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">API</a></li> <li class="section"><a href="#section3">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
149 150 151 152 153 154 155 | <dt><a name="1"><b class="cmd">::tcl::transform::zlib</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">level</i>?</span></a></dt> <dd><p>This command creates a zlib compressor transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p> <p>The <i class="arg">level</i> specifies how much effort is put into the compression, from <b class="const">0</b> to <b class="const">9</b>, and defaults to <b class="const">4</b>.</p></dd> </dl> </div> | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | <dt><a name="1"><b class="cmd">::tcl::transform::zlib</b> <i class="arg">chan</i> <span class="opt">?<i class="arg">level</i>?</span></a></dt> <dd><p>This command creates a zlib compressor transformation on top of the channel <i class="arg">chan</i> and returns its handle.</p> <p>The <i class="arg">level</i> specifies how much effort is put into the compression, from <b class="const">0</b> to <b class="const">9</b>, and defaults to <b class="const">4</b>.</p></dd> </dl> </div> <div id="section3" class="section"><h2><a name="section3">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>virtchannel</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key298">channel transformation</a>, <a href="../../../../index.html#key527">compression</a>, <a href="../../../../index.html#key528">decompression</a>, <a href="../../../../index.html#key60">reflected channel</a>, <a href="../../../../index.html#key299">tip 230</a>, <a href="../../../../index.html#key526">tip 234</a>, <a href="../../../../index.html#key300">transformation</a>, <a href="../../../../index.html#key57">virtual channel</a>, <a href="../../../../index.html#key525">zlib</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Channels</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2009 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/wip/wip.html.
︙ | ︙ | |||
117 118 119 120 121 122 123 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">GENERAL BEHAVIOUR</a></li> <li class="section"><a href="#section3">CLASS API</a></li> <li class="section"><a href="#section4">OBJECT API</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">GENERAL BEHAVIOUR</a></li> <li class="section"><a href="#section3">CLASS API</a></li> <li class="section"><a href="#section4">OBJECT API</a></li> <li class="section"><a href="#section5">EXAMPLES</a></li> <li class="section"><a href="#section6">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#category">Category</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
392 393 394 395 396 397 398 | <dd><p>Like method <b class="method">addl</b>, except the words are specified through multiple arguments.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">EXAMPLES</a></h2> <p>No examples yet.</p> </div> | | | | | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 | <dd><p>Like method <b class="method">addl</b>, except the words are specified through multiple arguments.</p></dd> </dl> </div> <div id="section5" class="section"><h2><a name="section5">EXAMPLES</a></h2> <p>No examples yet.</p> </div> <div id="section6" class="section"><h2><a name="section6">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>wip</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key31">interpreter</a>, <a href="../../../../index.html#key280">list</a>, <a href="../../../../index.html#key253">word</a></p> </div> <div id="category" class="section"><h2><a name="category">Category</a></h2> <p>Programming tools</p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2007-2010 Andreas Kupries <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/yaml/huddle.html.
︙ | ︙ | |||
118 119 120 121 122 123 124 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">TYPE CALLBACK</a></li> <li class="section"><a href="#section4">How to add type</a></li> <li class="section"><a href="#section5">WORKING SAMPLE</a></li> <li class="section"><a href="#section6">LIMITATIONS</a></li> | | | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">TYPE CALLBACK</a></li> <li class="section"><a href="#section4">How to add type</a></li> <li class="section"><a href="#section5">WORKING SAMPLE</a></li> <li class="section"><a href="#section6">LIMITATIONS</a></li> <li class="section"><a href="#section7">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
579 580 581 582 583 584 585 | "s" ] </pre> </div> <div id="section6" class="section"><h2><a name="section6">LIMITATIONS</a></h2> <p>now printing.</p> </div> | | | | 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | "s" ] </pre> </div> <div id="section6" class="section"><h2><a name="section6">LIMITATIONS</a></h2> <p>now printing.</p> </div> <div id="section7" class="section"><h2><a name="section7">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>huddle</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="yaml.html">yaml</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key189">data exchange</a>, <a href="../../../../index.html#key188">exchange format</a>, <a href="../../../../index.html#key568">huddle</a>, <a href="../../../../index.html#key190">json</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key569">yaml</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 KATO Kanryu <[email protected]></p> </div> </div></body></html> |
Changes to embedded/www/tcllib/files/modules/yaml/yaml.html.
︙ | ︙ | |||
116 117 118 119 120 121 122 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">LIMITATIONS</a></li> | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <ul class="toc"> <li class="section"><a href="#toc">Table Of Contents</a></li> <li class="section"><a href="#synopsis">Synopsis</a></li> <li class="section"><a href="#section1">Description</a></li> <li class="section"><a href="#section2">COMMANDS</a></li> <li class="section"><a href="#section3">EXAMPLES</a></li> <li class="section"><a href="#section4">LIMITATIONS</a></li> <li class="section"><a href="#section5">Bugs, Ideas, Feedback</a></li> <li class="section"><a href="#see-also">See Also</a></li> <li class="section"><a href="#keywords">Keywords</a></li> <li class="section"><a href="#copyright">Copyright</a></li> </ul> </div> <div id="synopsis" class="section"><h2><a name="synopsis">Synopsis</a></h2> <div class="synopsis"> |
︙ | ︙ | |||
140 141 142 143 144 145 146 | <li><a href="#5"><b class="cmd">::yaml::list2yaml</b> <i class="arg">list</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#6"><b class="cmd">::yaml::huddle2yaml</b> <i class="arg">huddle</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">yaml</b> package provides a simple Tcl-only library for parsing the | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | <li><a href="#5"><b class="cmd">::yaml::list2yaml</b> <i class="arg">list</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> <li><a href="#6"><b class="cmd">::yaml::huddle2yaml</b> <i class="arg">huddle</i> <span class="opt">?<i class="arg">indent</i>?</span> <span class="opt">?<i class="arg">wordwrap</i>?</span></a></li> </ul> </div> </div> <div id="section1" class="section"><h2><a name="section1">Description</a></h2> <p>The <b class="package">yaml</b> package provides a simple Tcl-only library for parsing the YAML <a href="http://www.yaml.org/">http://www.yaml.org/</a> data exchange format as specified in <a href="http://www.yaml.org/spec/1.1/">http://www.yaml.org/spec/1.1/</a>.</p> <p>The <b class="package">yaml</b> package returns data as a Tcl <b class="cmd">dict</b>. Either the <b class="package">dict</b> package or Tcl 8.5 is required for use.</p> </div> <div id="section2" class="section"><h2><a name="section2">COMMANDS</a></h2> <dl class="definitions"> |
︙ | ︙ | |||
248 249 250 251 252 253 254 | <p>An example of a yaml object converted to Tcl. A yaml object is returned as a multi-element list (a dict).</p> <pre class="example">{ --- - [name , hr, avg ] - [Mark McGwire, 65, 0.278] - [Sammy Sosa , 63, 0.288] | | | | | 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | <p>An example of a yaml object converted to Tcl. A yaml object is returned as a multi-element list (a dict).</p> <pre class="example">{ --- - [name , hr, avg ] - [Mark McGwire, 65, 0.278] - [Sammy Sosa , 63, 0.288] - Mark McGwire: {hr: 65, avg: 0.278} Sammy Sosa: { hr: 63, avg: 0.288} } => {name hr avg} {{Mark McGwire} 65 0.278} {{Sammy Sosa} 63 0.288} {{Mark McGwire} {hr 65 avg 0.278} {Sammy Sosa} {hr 63 avg 0.288}} </pre> </div> <div id="section4" class="section"><h2><a name="section4">LIMITATIONS</a></h2> <p>tag parser not implemented. currentry, tags are merely ignored.</p> <p>Only Anchor => Aliases ordering. back alias-referring is not supported.</p> <p>Too many braces, or too few braces.</p> <p>Not enough character set of line feeds. Please use only "\n" as line breaks.</p> </div> <div id="section5" class="section"><h2><a name="section5">Bugs, Ideas, Feedback</a></h2> <p>This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category <em>yaml</em> of the <a href="http://core.tcl.tk/tcllib/reportlist">Tcllib Trackers</a>. Please also report any ideas for enhancements you may have for either package and/or documentation.</p> </div> <div id="see-also" class="section"><h2><a name="see-also">See Also</a></h2> <p><a href="../base64/base64.html">base64</a>, <a href="huddle.html">huddle</a>, <a href="../json/json.html">json</a></p> </div> <div id="keywords" class="section"><h2><a name="keywords">Keywords</a></h2> <p><a href="../../../../index.html#key189">data exchange</a>, <a href="../../../../index.html#key568">huddle</a>, <a href="../../../../index.html#key26">parsing</a>, <a href="../../../../index.html#key195">text processing</a>, <a href="../../../../index.html#key569">yaml</a></p> </div> <div id="copyright" class="section"><h2><a name="copyright">Copyright</a></h2> <p>Copyright © 2008 KATO Kanryu <[email protected]></p> </div> </div></body></html> |
Changes to examples/mime/mbot/README.html.
︙ | ︙ | |||
123 124 125 126 127 128 129 | and "USER" is your username. </p> <a name="rfc.section.1.1"></a><h4><a name="anchor2">1.1</a> Requirements</h4> <p>This package requires: <ul class="text"> | | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | and "USER" is your username. </p> <a name="rfc.section.1.1"></a><h4><a name="anchor2">1.1</a> Requirements</h4> <p>This package requires: <ul class="text"> <li><a href="http://core.tcl.tk/tcl/">Tcl version 8.3</a> or later </li> <li><a href="http://core.tcl.tk/tcllib/">tcl lib</a> </li> <li><a href="http://sourceforge.net/projects/tclx/">TclX version 8.0</a> or later </li> </ul><p> </p> <a name="rfc.section.1.2"></a><h4><a name="anchor3">1.2</a> Copyrights</h4> |
︙ | ︙ |
Changes to examples/mime/mbot/README.txt.
︙ | ︙ | |||
615 616 617 618 619 620 621 | Rose [Page 11] README The personal.tcl Mailbot February 2002 References | | | | 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | Rose [Page 11] README The personal.tcl Mailbot February 2002 References [1] <http://core.tcl.tk/tcl/> [2] <http://core.tcl.tk/tcllib/> [3] <http://sourceforge.net/projects/tclx/> Author's Address Marshall T. Rose |
︙ | ︙ |
Changes to examples/mime/mbot/README.xml.
︙ | ︙ | |||
44 45 46 47 48 49 50 | "FILE" is the name of your configuration file, and "USER" is your username.</postamble> </figure> <section title="Requirements"> <t>This package requires: <list style="symbols"> | | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | "FILE" is the name of your configuration file, and "USER" is your username.</postamble> </figure> <section title="Requirements"> <t>This package requires: <list style="symbols"> <t><eref target="http://core.tcl.tk/tcl/">Tcl version 8.3</eref> or later</t> <t><eref target="http://core.tcl.tk/tcllib/">tcl lib</eref></t> <t><eref target="http://sourceforge.net/projects/tclx/">TclX version 8.0</eref> or later</t> </list></t> </section> <section title="Copyrights"> |
︙ | ︙ |
Changes to modules/aes/aes.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin aes n 1.1.1] [copyright {2005, Pat Thoyts <[email protected]>}] [copyright {2012-2013, Andreas Kupries <[email protected]>}] [moddesc {Advanced Encryption Standard (AES)}] [titledesc {Implementation of the AES block cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require aes [opt 1.1.1]] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin aes n 1.1.1] [see_also blowfish(n)] [see_also des(n)] [see_also md5(n)] [see_also sha1(n)] [keywords aes] [keywords {block cipher}] [keywords {data integrity}] [keywords encryption] [keywords security] [copyright {2005, Pat Thoyts <[email protected]>}] [copyright {2012-2013, Andreas Kupries <[email protected]>}] [moddesc {Advanced Encryption Standard (AES)}] [titledesc {Implementation of the AES block cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require aes [opt 1.1.1]] |
︙ | ︙ | |||
35 36 37 38 39 40 41 | by the argument or on the data read from the [arg "-in"] channel. If an [arg "-out"] channel is given then the result will be written to this channel. [para] The [arg -key] option must be given. This parameter takes a binary | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | by the argument or on the data read from the [arg "-in"] channel. If an [arg "-out"] channel is given then the result will be written to this channel. [para] The [arg -key] option must be given. This parameter takes a binary string of either 16, 24 or 32 bytes in length and is used to generate the key schedule. [para] The [arg -mode] and [arg -dir] options are optional and default to cbc mode and encrypt respectively. The initialization vector [arg -iv] takes a 16 byte binary argument which defaults to all zeros. |
︙ | ︙ | |||
146 147 148 149 150 151 152 | [enum] "Advanced Encryption Standard", Federal Information Processing Standards Publication 197, 2001 ([uri http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf]) [list_end] | < < < | < < | < < < < < < < < | 155 156 157 158 159 160 161 162 163 164 165 166 167 | [enum] "Advanced Encryption Standard", Federal Information Processing Standards Publication 197, 2001 ([uri http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf]) [list_end] [section AUTHORS] Thorsten Schloermann, Pat Thoyts [vset CATEGORY aes] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/amazon-s3/S3.man.
1 2 3 4 5 6 7 8 9 10 | [manpage_begin S3 n 1.0.0] [moddesc {Amazon S3 Web Service Utilities}] [titledesc {Amazon S3 Web Service Interface}] [category Networking] [copyright {Copyright 2006,2008 Darren New. All Rights Reserved. See LICENSE.TXT for terms.}] [require Tcl 8.5] [require sha1 1.0] [require md5 2.0] [require base64 2.3] [require xsxp 1.0] | > > > < | | | | | | | | | | < | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | [manpage_begin S3 n 1.0.0] [keywords amazon] [keywords cloud] [keywords s3] [moddesc {Amazon S3 Web Service Utilities}] [titledesc {Amazon S3 Web Service Interface}] [category Networking] [copyright {Copyright 2006,2008 Darren New. All Rights Reserved. See LICENSE.TXT for terms.}] [require Tcl 8.5] [require sha1 1.0] [require md5 2.0] [require base64 2.3] [require xsxp 1.0] [description] This package provides access to Amazon's Simple Storage Solution web service. [para] As a quick summary, Amazon Simple Storage Solution provides a for-fee web service allowing the storage of arbitrary data as "resources" within "buckets" online. See [uri http://www.amazonaws.com/] for details on that system. Access to the service is via HTTP (SOAP or REST). Much of this documentation will not make sense if you're not familiar with the terms and functionality of the Amazon S3 service. [para] This package provides services for reading and writing the data items via the REST interface. It also provides some higher-level operations. Other packages in the same distribution provide for even more functionality. [para] Copyright 2006 Darren New. All Rights Reserved. NO WARRANTIES OF ANY TYPE ARE PROVIDED. COPYING OR USE INDEMNIFIES THE AUTHOR IN ALL WAYS. This software is licensed under essentially the same terms as Tcl. See LICENSE.txt for the terms. [section "ERROR REPORTING"] The error reporting from this package makes use of $errorCode to provide more details on what happened than simply throwing an error. Any error caught by the S3 package (and we try to catch them all) will return with an $errorCode being a list having at least three elements. In all cases, the first element will be "S3". The second element will take on one of six values, with that element defining the value of the third and subsequent elements. S3::REST does not throw an error, but rather returns a dictionary with the keys "error", "errorInfo", and "errorCode" set. This allows for reliable background use. The possible second elements are these: [list_begin definitions] [def usage] The usage of the package is incorrect. For example, a command has been invoked which requires the library to be configured before the library has been configured, or an invalid combination of options has been specified. The third element of $errorCode supplies the name of the parameter that was wrong. The fourth usually provides the arguments that were actually supplied to the throwing proc, unless the usage error isn't confined to a single proc. [def local] Something happened on the local system which threw an error. For example, a request to upload or download a file was made and the file permissions denied that sort of access. The third element of $errorCode is the original $errorCode. [def socket] Something happened with the socket. It closed prematurely, or some other condition of failure-to-communicate-with-Amazon was detected. The third element of $errorCode is the original $errorCode, or sometimes the message from fcopy, or ...? [def remote] The Amazon web service returned an error code outside the 2xx range in the HTTP header. In other words, everything went as documented, except this particular case was documented not to work. The third element is the dictionary returned from [cmd ::S3::REST]. Note that S3::REST itself never throws this error, but just returns the dictionary. Most of the higher-level commands throw for convenience, unless an argument indicates they should not. If something is documented as "not throwing an S3 remote error", it means a status return is set rather than throwing an error if Amazon returns a non-2XX HTTP result code. [def notyet] The user obeyed the documentation, but the author has not yet gotten around to implementing this feature. (Right now, only TLS support and sophisticated permissions fall into this category, as well as the S3::Acl command.) [def xml] The service has returned invalid XML, or XML whose schema is unexpected. For the high-level commands that accept service XML as input for parsing, this may also be thrown. [list_end] [section COMMANDS] This package provides several separate levels of complexity. [list_begin itemized] [item] The lowest level simply takes arguments to be sent to the service, sends them, retrieves the result, and provides it to the caller. [emph Note:] This layer allows both synchronous and event-driven processing. It depends on the MD5 and SHA1 and base64 packages from Tcllib (available at [uri http://core.tcl.tk/tcllib/]). Note that [cmd S3::Configure] is required for [cmd S3::REST] to work due to the authentication portion, so we put that in the "lowest level." [item] The next layer parses the results of calls, allowing for functionality such as uploading only changed files, synchronizing directories, and so on. This layer depends on the [package TclXML] package as well as the included [package xsxp] package. These packages are package required when these more-sophisticated routines are called, so nothing breaks if they are not correctly installed. [item] Also included is a separate program that uses the library. It provides code to parse $argv0 and $argv from the command line, allowing invocation as a tclkit, etc. (Not yet implmented.) [item] Another separate program provides a GUI interface allowing drag-and-drop and other such functionality. (Not yet implemented.) [item] Also built on this package is the OddJob program. It is a separate program designed to allow distribution of computational work units over Amazon's Elastic Compute Cloud web service. [list_end] [para] The goal is to have at least the bottom-most layers implemented in pure Tcl using only that which comes from widely-available sources, such as Tcllib. [section "LOW LEVEL COMMANDS"] These commands do not require any packages not listed above. They talk directly to the service, or they are utility or configuration routines. Note that the "xsxp" package was written to support this package, so it should be available wherever you got this package. [list_begin definitions] [call [cmd S3::Configure] \ [opt "[option -reset] [arg boolean]"] \ [opt "[option -retries] [arg integer]"] \ [opt "[option -accesskeyid] [arg idstring]"] \ [opt "[option -secretaccesskey] [arg idstring]"] \ [opt "[option -service-access-point] [arg FQDN]"] \ [opt "[option -use-tls] [arg boolean]"] \ [opt "[option -default-compare] [arg always|never|exists|missing|newer|date|checksum|different]"] \ [opt "[option -default-separator] [arg string]"] \ [opt "[option -default-acl] [arg private|public-read|public-read-write|authenticated-read|keep|calc]"] \ [opt "[option -default-bucket] [arg bucketname]"] \ ] There is one command for configuration, and that is [cmd S3::Configure]. If called with no arguments, it returns a dictionary of key/value pairs listing all current settings. If called with one argument, it returns the value of that single argument. If called with two or more arguments, it must be called with pairs of arguments, and it applies the changes in order. There is only one set of configuration information per interpreter. [para] |
︙ | ︙ | |||
176 177 178 179 180 181 182 | backoff delay will be tried this many times before finally throwing the 500 error. This applies to each call to [cmd S3::REST] from the higher-level commands, but not to [cmd S3::REST] itself. That is, [cmd S3::REST] will always return httpstatus 500 if that's what it receives. Functions like [cmd S3::Put] will retry the PUT call, and will also retry the GET and HEAD calls used to do content comparison. Changing this to 0 will prevent retries and their associated delays. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | backoff delay will be tried this many times before finally throwing the 500 error. This applies to each call to [cmd S3::REST] from the higher-level commands, but not to [cmd S3::REST] itself. That is, [cmd S3::REST] will always return httpstatus 500 if that's what it receives. Functions like [cmd S3::Put] will retry the PUT call, and will also retry the GET and HEAD calls used to do content comparison. Changing this to 0 will prevent retries and their associated delays. In addition, socket errors (i.e., errors whose errorCode starts with "S3 socket") will be similarly retried after backoffs. [def "[option -accesskeyid] [arg idstring]"] [def "[option -secretaccesskey] [arg idstring]"] Each defaults to an empty string. These must be set before any calls are made. This is your S3 ID. Once you sign up for an account, go to [uri http://www.amazonaws.com/], sign in, go to the "Your Web Services Account" button, pick "AWS Access Identifiers", and your access key ID and secret access keys will be available. All [cmd S3::REST] calls are authenticated. Blame Amazon for the poor choice of names. [def "[option -service-access-point] [arg FQDN]"] Defaults to "s3.amazonaws.com". This is the fully-qualified domain name of the server to contact for [cmd S3::REST] calls. You should probably never need to touch this, unless someone else implements a compatible service, or you wish to test something by pointing the library at your own service. [def "[option -slop-seconds] [arg integer]"] When comparing dates between Amazon and the local machine, two dates within this many seconds of each other are considered the same. Useful for clock drift correction, processing overhead time, and so on. [def "[option -use-tls] [arg boolean]"] Defaults to false. This is not yet implemented. If true, [cmd S3::REST] will negotiate a TLS connection to Amazon. If false, unencrypted connections are used. [def "[option -bucket-prefix] [arg string]"] Defaults to "TclS3". This string is used by [cmd S3::SuggestBucketName] if that command is passed an empty string as an argument. It is used to distinguish different applications using the Amazon service. Your application should always set this to keep from interfering with the buckets of other users of Amazon S3 or with other buckets of the same user. [def "[option -default-compare] [arg always|never|exists|missing|newer|date|checksum|different]"] Defaults to "always." If no -compare is specified on [cmd S3::Put], [cmd S3::Get], or [cmd S3::Delete], this comparison is used. See those commands for a description of the meaning. [def "[option -default-separator] [arg string]"] Defaults to "/". This is currently unused. It might make sense to use this for [cmd S3::Push] and [cmd S3::Pull], but allowing resources to have slashes in their names that aren't marking directories would be problematic. Hence, this currently does nothing. [def "[option -default-acl] [arg private|public-read|public-read-write|authenticated-read|keep|calc]"] Defaults to an empty string. If no -acl argument is provided to [cmd S3::Put] or [cmd S3::Push], this string is used (given as the x-amz-acl header if not keep or calc). If this is also empty, no x-amz-acl header is generated. This is [emph not] used by [cmd S3::REST]. [def "[option -default-bucket] [arg bucketname]"] If no bucket is given to [cmd S3::GetBucket], [cmd S3::PutBucket], [cmd S3::Get], [cmd S3::Put], [cmd S3::Head], [cmd S3::Acl], [cmd S3::Delete], [cmd S3::Push], [cmd S3::Pull], or [cmd S3::Toss], and if this configuration variable is not an empty string (and not simply "/"), then this value will be used for the bucket. This is useful if one program does a large amount of resource manipulation within a single bucket. [list_end] [para] [call [cmd S3::SuggestBucket] [opt [arg name]]] The [cmd S3::SuggestBucket] command accepts an optional string as a prefix and returns a valid bucket containing the [arg name] argument and the Access Key ID. This makes the name unique to the owner and to the application (assuming the application picks a good [arg name] argument). If no name is provided, the name from [cmd S3::Configure] [arg -bucket-prefix] is used. If that too is empty (which is not the default), an error is thrown. [call [cmd S3::REST] [arg dict]] The [cmd S3::REST] command takes as an argument a dictionary and returns a dictionary. The return dictionary has the same keys as the input dictionary, and includes additional keys as the result. The presence or absence of keys in the input dictionary can control the behavior of the routine. It never throws an error directly, but includes keys "error", "errorInfo", and "errorCode" if necessary. Some keys are required, some optional. The routine can run either in blocking or non-blocking mode, based on the presense of [option resultvar] in the input dictionary. This requires the [arg -accesskeyid] and [arg -secretaccesskey] to be configured via [cmd S3::Configure] before being called. [para] The possible input keys are these: [list_begin definitions] [def "[option verb] [arg GET|PUT|DELETE|HEAD]"] This required item indicates the verb to be used. [def "[option resource] [arg string]"] This required item indicates the resource to be accessed. A leading / is added if not there already. It will be URL-encoded for you if necessary. Do not supply a resource name that is already URL-encoded. [def [opt "[option rtype] [arg torrent|acl]"]] This indicates a torrent or acl resource is being manipulated. Do not include this in the [option resource] key, or the "?" separator will get URL-encoded. [def [opt "[option parameters] [arg dict]"]] This optional dictionary provides parameters added to the URL for the transaction. The keys must be in the correct case (which is confusing in the Amazon documentation) and the values must be valid. This can be an empty dictionary or omitted entirely if no parameters are desired. No other error checking on parameters is performed. [def [opt "[option headers] [arg dict]"]] This optional dictionary provides headers to be added to the HTTP request. The keys must be in [emph "lower case"] for the authentication to work. The values must not contain embedded newlines or carriage returns. This is primarily useful for adding x-amz-* headers. Since authentication is calculated by [cmd S3::REST], do not add that header here. Since content-type gets its own key, also do not add that header here. [def [opt "[option inbody] [arg contentstring]"]] This optional item, if provided, gives the content that will be sent. It is sent with a tranfer encoding of binary, and only the low bytes are used, so use [lb]encoding convertto utf-8[rb] if the string is a utf-8 string. This is written all in one blast, so if you are using non-blocking mode and the [option inbody] is especially large, you may wind up blocking on the write socket. [def [opt "[option infile] [arg filename]"]] This optional item, if provided, and if [option inbody] is not provided, names the file from which the body of the HTTP message will be constructed. The file is opened for reading and sent progressively by [lb]fcopy[rb], so it should not block in non-blocking mode even if the file is very large. The file is transfered in binary mode, so the bytes on your disk will match the bytes in your resource. Due to HTTP restrictions, it must be possible to use [lb]file size[rb] on this file to determine the size at the start of the transaction. [def [opt "[option S3chan] [arg channel]"]] This optional item, if provided, indicates the already-open socket over which the transaction should be conducted. If not provided, a connection is made to the service access point specified via [cmd S3::Configure], which is normally s3.amazonaws.com. If this is provided, the channel is not closed at the end of the transaction. [def [opt "[option outchan] [arg channel]"]] This optional item, if provided, indicates the already-open channel to which the body returned from S3 should be written. That is, to retrieve a large resource, open a file, set the translation mode, and pass the channel as the value of the key outchan. Output will be written to the channel in pieces so memory does not fill up unnecessarily. The channel is not closed at the end of the transaction. [def [opt "[option resultvar] [arg varname]"]] This optional item, if provided, indicates that [cmd S3::REST] should run in non-blocking mode. The [arg varname] should be fully qualified with respect to namespaces and cannot be local to a proc. If provided, the result of the [cmd S3::REST] call is assigned to this variable once everything has completed; use trace or vwait to know when this has happened. If this key is not provided, the result is simply returned from the call to [cmd S3::REST] and no calls to the eventloop are invoked from within this call. [def [opt "[option throwsocket] [arg throw|return]"]] This optional item, if provided, indicates that [cmd S3::REST] should throw an error if throwmode is throw and a socket error is encountered. It indicates that [cmd S3::REST] should return the error code in the returned dictionary if a socket error is encountered and this is set to return. If [option throwsocket] is set to [arg return] or if the call is not blocking, then a socket error (i.e., an error whose error code starts with "S3 socket" will be returned in the dictionary as [option error], [option errorInfo], and [option errorCode]. If a foreground call is made (i.e., [option resultvar] is not provided), and this option is not provided or is set to [arg throw], then [cmd error] will be invoked instead. [list_end] [para] Once the call to [cmd S3::REST] completes, a new dict is returned, either in the [arg resultvar] or as the result of execution. This dict is a copy of the original dict with the results added as new keys. The possible new keys are these: [list_begin definitions] [def "[option error] [arg errorstring]"] [def "[option errorInfo] [arg errorstring]"] [def "[option errorCode] [arg errorstring]"] If an error is caught, these three keys will be set in the result. Note that [cmd S3::REST] does [emph not] consider a non-2XX HTTP return code as an error. The [option errorCode] value will be formatted according to the [sectref "ERROR REPORTING"] description. If these are present, other keys described here might not be. [def "[option httpstatus] [arg threedigits]"] The three-digit code from the HTTP transaction. 2XX for good, 5XX for server error, etc. [def "[option httpmessage] [arg text]"] The textual result after the status code. "OK" or "Forbidden" or etc. [def "[option outbody] [arg contentstring]"] If [arg outchan] was not specified, this key will hold a reference to the (unencoded) contents of the body returned. If Amazon returned an error (a la the httpstatus not a 2XX value), the error message will be in [option outbody] or written to [option outchan] as appropriate. [def "[option outheaders] [arg dict]"] This contains a dictionary of headers returned by Amazon. The keys are always lower case. It's mainly useful for finding the x-amz-meta-* headers, if any, although things like last-modified and content-type are also useful. The keys of this dictionary are always lower case. Both keys and values are trimmed of extraneous whitespace. [list_end] [list_end] [section "HIGH LEVEL COMMANDS"] The routines in this section all make use of one or more calls to [cmd S3::REST] to do their work, then parse and manage the data in a convenient way. All these commands throw errors as described in [sectref "ERROR REPORTING"] unless otherwise noted. [para] In all these commands, all arguments are presented as name/value pairs, in any order. All the argument names start with a hyphen. [para] There are a few options that are common to many of the commands, and those common options are documented here. [list_begin definitions] [def "[option -blocking] [arg boolean]"] If provided and specified as false, then any calls to [cmd S3:REST] will be non-blocking, and internally these routines will call [lb]vwait[rb] to get the results. In other words, these routines will return the same value, but they'll have event loops running while waiting for Amazon. [def "[option -parse-xml] [arg xmlstring]"] |
︙ | ︙ | |||
443 444 445 446 447 448 449 | Almost every high-level command needs to know what bucket the resources are in. This option specifies that. (Only the command to list available buckets does not require this parameter.) This does not need to be URL-encoded, even if it contains special or non-ASCII characters. May or may not contain leading or trailing spaces - commands normalize the bucket. If this is not supplied, the value is taken from [cmd "S3::Configure -default-bucket"] | | | | 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 | Almost every high-level command needs to know what bucket the resources are in. This option specifies that. (Only the command to list available buckets does not require this parameter.) This does not need to be URL-encoded, even if it contains special or non-ASCII characters. May or may not contain leading or trailing spaces - commands normalize the bucket. If this is not supplied, the value is taken from [cmd "S3::Configure -default-bucket"] if that string isn't empty. Note that spaces and slashes are always trimmed from both ends and the rest must leave a valid bucket. [def "[option -resource] [arg resourcename]"] This specifies the resource of interest within the bucket. It may or may not start with a slash - both cases are handled. This does not need to be URL-encoded, even if it contains special or non-ASCII characters. [def "[option -compare] [arg always|never|exists|missing|newer|date|checksum|different]"] When commands copy resources to files or files to resources, the caller may specify that the copy should be skipped if the contents are the same. This argument specifies the conditions under which the files should be copied. If it is not passed, the result of [cmd "S3::Configure -default-compare"] is used, which in turn defaults to "always." The meanings of the various values are these: |
︙ | ︙ | |||
469 470 471 472 473 474 475 | [def [arg exists]] Copy the data only if the destination already exists. [def [arg missing]] Copy the data only if the destination does not already exist. [def [arg newer]] | | | | | | | | | | < | | | | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 | [def [arg exists]] Copy the data only if the destination already exists. [def [arg missing]] Copy the data only if the destination does not already exist. [def [arg newer]] Copy the data if the destination is missing, or if the date on the source is newer than the date on the destination by at least [cmd "S3::Configure -slop-seconds"] seconds. If the source is Amazon, the date is taken from the Last-Modified header. If the source is local, it is taken as the mtime of the file. If the source data is specified in a string rather than a file, it is taken as right now, via [lb]clock seconds[rb]. [def [arg date]] Like [arg newer], except copy if the date is newer [emph or] older. [def [arg checksum]] Calculate the MD5 checksum on the local file or string, ask Amazon for the eTag of the resource, and copy the data if they're different. Copy the data also if the destination is missing. Note that this can be slow with large local files unless the C version of the MD5 support is available. [def [arg different]] Copy the data if the destination does not exist. If the destination exists and an actual file name was specified (rather than a content string), and the date on the file differs from the date on the resource, copy the data. If the data is provided as a content string, the "date" is treated as "right now", so it will likely always differ unless slop-seconds is large. If the dates are the same, the MD5 checksums are compared, and the data is copied if the checksums differ. [list_end] [para] Note that "newer" and "date" don't care about the contents, and "checksum" doesn't care about the dates, but "different" checks both. [call [cmd S3::ListAllMyBuckets] \ [opt "[option -blocking] [arg boolean]"] \ [opt "[option -parse-xml] [arg xmlstring]"] \ [opt "[option -result-type] [arg REST|xml|pxml|dict|names|owner]"] \ ] This routine performs a GET on the Amazon S3 service, which is defined to return a list of buckets owned by the account identified by the authorization header. (Blame Amazon for the dumb names.) [list_begin definitions] [def "[option -blocking] [arg boolean]"] See above for standard definition. [def "[option -parse-xml] [arg xmlstring]"] See above for standard definition. [def "[option -result-type] [arg REST]"] The dictionary returned by [cmd S3::REST] is the return value of [cmd S3::ListAllMyBuckets]. In this case, a non-2XX httpstatus will not throw an error. You may not combine this with [arg -parse-xml]. [def "[option -result-type] [arg xml]"] The raw XML of the body is returned as the result (with no encoding applied). [def "[option -result-type] [arg pxml]"] The XML of the body as parsed by [cmd xsxp::parse] is returned. [def "[option -result-type] [arg dict]"] A dictionary of interesting portions of the XML is returned. The dictionary contains the following keys: [list_begin definitions] [def Owner/ID] The Amazon AWS ID (in hex) of the owner of the bucket. [def Owner/DisplayName] The Amazon AWS ID's Display Name. [def Bucket/Name] A list of names, one for each bucket. [def Bucket/CreationDate] A list of dates, one for each bucket, in the same order as Bucket/Name, in ISO format (as returned by Amazon). [list_end] [para] [def "[option -result-type] [arg names]"] A list of bucket names is returned with all other information stripped out. This is the default result type for this command. [def "[option -result-type] [arg owner]"] A list containing two elements is returned. The first element is the owner's ID, and the second is the owner's display name. [list_end] [para] [call [cmd S3::PutBucket] \ |
︙ | ︙ | |||
567 568 569 570 571 572 573 | [call [cmd S3::DeleteBucket] \ [opt "[option -bucket] [arg bucketname]"] \ [opt "[option -blocking] [arg boolean]"] \ ] This command deletes a bucket if it is empty and you have such permission. Note that Amazon's list of buckets is a global resource, requiring | | | | | | 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 | [call [cmd S3::DeleteBucket] \ [opt "[option -bucket] [arg bucketname]"] \ [opt "[option -blocking] [arg boolean]"] \ ] This command deletes a bucket if it is empty and you have such permission. Note that Amazon's list of buckets is a global resource, requiring far-flung synchronization. If you delete a bucket, it may be quite a few minutes (or hours) before you can recreate it, yielding "Conflict" errors until then. [call [cmd S3::GetBucket] \ [opt "[option -bucket] [arg bucketname]"] \ [opt "[option -blocking] [arg boolean]"] \ [opt "[option -parse-xml] [arg xmlstring]"] \ [opt "[option -max-count] [arg integer]"] \ [opt "[option -prefix] [arg prefixstring]" ] \ [opt "[option -delimiter] [arg delimiterstring]" ] \ [opt "[option -result-type] [arg REST|xml|pxml|names|dict]"] \ ] This lists the contents of a bucket. That is, it returns a directory listing of resources within a bucket, rather than transfering any user data. [list_begin definitions] [def "[option -bucket] [arg bucketname]"] The standard bucket argument. [def "[option -blocking] [arg boolean]"] The standard blocking argument. [def "[option -parse-xml] [arg xmlstring]"] The standard parse-xml argument. [def "[option -max-count] [arg integer]"] If supplied, this is the most number of records to be returned. If not supplied, the code will iterate until all records have been found. Not compatible with -parse-xml. Note that if this is supplied, only one call to [cmd S3::REST] will be made. Otherwise, enough calls will be made to exhaust the listing, buffering results in memory, so take care if you may have huge buckets. [def "[option -prefix] [arg prefixstring]"] If present, restricts listing to resources with a particular prefix. One leading / is stripped if present. [def "[option -delimiter] [arg delimiterstring]"] If present, specifies a delimiter for the listing. The presence of this will summarize multiple resources into one entry, as if S3 supported directories. See the Amazon documentation for details. |
︙ | ︙ | |||
627 628 629 630 631 632 633 | If [arg -max-count] is specified, the body returned from [cmd S3::REST] is returned. If [arg -max-count] is not specified, a list of all the bodies returned from the one or more calls to [cmd S3::REST] is returned. [def pxml] If [arg -max-count] is specified, the body returned | | | 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 | If [arg -max-count] is specified, the body returned from [cmd S3::REST] is returned. If [arg -max-count] is not specified, a list of all the bodies returned from the one or more calls to [cmd S3::REST] is returned. [def pxml] If [arg -max-count] is specified, the body returned from [cmd S3::REST] is passed throught [cmd xsxp::parse] and then returned. If [arg -max-count] is not specified, a list of all the bodies returned from the one or more calls to [cmd S3::REST] are each passed through [cmd xsxp::parse] and then returned. [def names] Returns a list of all names found in either the Contents/Key fields or |
︙ | ︙ | |||
654 655 656 657 658 659 660 | [def Marker] From the final call to [cmd S3::REST]. [def MaxKeys] From the final call to [cmd S3::REST]. [def IsTruncated] From the final call to [cmd S3::REST], so always false if [arg -max-count] is not specified. [def NextMarker] Always provided if IsTruncated is true, and calculated of Amazon does not provide it. May be empty if IsTruncated is false. | | | | 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 | [def Marker] From the final call to [cmd S3::REST]. [def MaxKeys] From the final call to [cmd S3::REST]. [def IsTruncated] From the final call to [cmd S3::REST], so always false if [arg -max-count] is not specified. [def NextMarker] Always provided if IsTruncated is true, and calculated of Amazon does not provide it. May be empty if IsTruncated is false. [def Key] A list of names of resources in the bucket matching the [arg -prefix] and [arg -delimiter] restrictions. [def LastModified] A list of times of resources in the bucket, in the same order as Key, in the format returned by Amazon. (I.e., it is not parsed into a seconds-from-epoch.) [def ETag] A list of entity tags (a.k.a. MD5 checksums) in the same order as Key. [def Size] A list of sizes in bytes of the resources, in the same order as Key. [def Owner/ID] A list of owners of the resources in the bucket, in the same order as Key. |
︙ | ︙ | |||
689 690 691 692 693 694 695 | [opt "[option -acl] [arg private|public-read|public-read-write|authenticated-read|calc|keep]"] \ [opt "[option -content-type] [arg contenttypestring]"] \ [opt "[option -x-amz-meta-*] [arg metadatatext]"] \ [opt "[option -compare] [arg comparemode]"] \ ] This command sends data to a resource on Amazon's servers for storage, | | | | | | | | | | | | | | | | | | | | | | | 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 | [opt "[option -acl] [arg private|public-read|public-read-write|authenticated-read|calc|keep]"] \ [opt "[option -content-type] [arg contenttypestring]"] \ [opt "[option -x-amz-meta-*] [arg metadatatext]"] \ [opt "[option -compare] [arg comparemode]"] \ ] This command sends data to a resource on Amazon's servers for storage, using the HTTP PUT command. It returns 0 if the [option -compare] mode prevented the transfer, 1 if the transfer worked, or throws an error if the transfer was attempted but failed. Server 5XX errors and S3 socket errors are retried according to [cmd "S3:Configure -retries"] settings before throwing an error; other errors throw immediately. [list_begin definitions] [def [option -bucket]] This specifies the bucket into which the resource will be written. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def [option -blocking]] The standard blocking flag. [def [option -file]] If this is specified, the [arg filename] must exist, must be readable, and must not be a special or directory file. [lb]file size[rb] must apply to it and must not change for the lifetime of the call. The default content-type is calculated based on the name and/or contents of the file. Specifying this is an error if [option -content] is also specified, but at least one of [option -file] or [option -content] must be specified. (The file is allowed to not exist or not be readable if [option -compare] [arg never] is specified.) [def [option -content]] If this is specified, the [arg contentstring] is sent as the body of the resource. The content-type defaults to "application/octet-string". Only the low bytes are sent, so non-ASCII should use the appropriate encoding (such as [lb]encoding convertto utf-8[rb]) before passing it to this routine, if necessary. Specifying this is an error if [option -file] is also specified, but at least one of [option -file] or [option -content] must be specified. [def [option -acl]] This defaults to [cmd "S3::Configure -default-acl"] if not specified. It sets the x-amz-acl header on the PUT operation. If the value provided is [arg calc], the x-amz-acl header is calculated based on the I/O permissions of the file to be uploaded; it is an error to specify [arg calc] and [option -content]. If the value provided is [arg keep], the acl of the resource is read before the PUT (or the default is used if the resource does not exist), then set back to what it was after the PUT (if it existed). An error will occur if the resource is successfully written but the kept ACL cannot be then applied. This should never happen. [emph Note:] [arg calc] is not currently fully implemented. [def [option -x-amz-meta-*]] If any header starts with "-x-amz-meta-", its contents are added to the PUT command to be stored as metadata with the resource. Again, no encoding is performed, and the metadata should not contain characters like newlines, carriage returns, and so on. It is best to stick with simple ASCII strings, or to fix the library in several places. [def [option -content-type]] This overrides the content-type calculated by [option -file] or sets the content-type for [option -content]. [def [option -compare]] This is the standard compare mode argument. [cmd S3::Put] returns 1 if the data was copied or 0 if the data was skipped due to the comparison mode so indicating it should be skipped. |
︙ | ︙ | |||
773 774 775 776 777 778 779 | [opt "[option -compare] [arg comparemode]"] \ [opt "[option -file] [arg filename]"] \ [opt "[option -content] [arg contentvarname]"] \ [opt "[option -timestamp] [arg aws|now]"] \ [opt "[option -headers] [arg headervarname]"] \ ] This command retrieves data from a resource on Amazon's S3 servers, | | | | | | | | | | | 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 | [opt "[option -compare] [arg comparemode]"] \ [opt "[option -file] [arg filename]"] \ [opt "[option -content] [arg contentvarname]"] \ [opt "[option -timestamp] [arg aws|now]"] \ [opt "[option -headers] [arg headervarname]"] \ ] This command retrieves data from a resource on Amazon's S3 servers, using the HTTP GET command. It returns 0 if the [option -compare] mode prevented the transfer, 1 if the transfer worked, or throws an error if the transfer was attempted but failed. Server 5XX errors and S3 socket errors are are retried according to [cmd S3:Configure] settings before throwing an error; other errors throw immediately. Note that this is always authenticated as the user configured in via [cmd "S3::Configure -accesskeyid"]. Use the Tcllib http for unauthenticated GETs. [list_begin definitions] [def [option -bucket]] This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def [option -blocking]] The standard blocking flag. [def [option -file]] If this is specified, the body of the resource will be read into this file, incrementally without pulling it entirely into memory first. The parent directory must already exist. If the file already exists, it must be writable. If an error is thrown part-way through the process and the file already existed, it may be clobbered. If an error is thrown part-way through the process and the file did not already exist, any partial bits will be deleted. Specifying this is an error if [option -content] is also specified, but at least one of [option -file] or [option -content] must be specified. [def [option -timestamp]] This is only valid in conjunction with [option -file]. It may be specified as [arg now] or [arg aws]. The default is [arg now]. If [arg now], the file's modification date is left up to the system. If [arg aws], the file's mtime is set to match the Last-Modified header on the resource, synchronizing the two appropriately for [option -compare] [arg date] or [option -compare] [arg newer]. [def [option -content]] If this is specified, the [arg contentvarname] is a variable in the caller's scope (not necessarily global) that receives the value of the body of the resource. No encoding is done, so if the resource (for example) represents a UTF-8 byte sequence, use [lb]encoding convertfrom utf-8[rb] to get a valid UTF-8 string. If this is specified, the [option -compare] is ignored unless it is [arg never], in which case no assignment to [arg contentvarname] is performed. Specifying this is an error if [option -file] is also specified, but at least one of [option -file] or [option -content] must be specified. [def [option -compare]] This is the standard compare mode argument. [cmd S3::Get] returns 1 if the data was copied or 0 if the data was skipped due to the comparison mode so indicating it should be skipped. |
︙ | ︙ | |||
862 863 864 865 866 867 868 | [list_begin definitions] [def [option -bucket]] This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] | | | | | | | | | | | | | 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 | [list_begin definitions] [def [option -bucket]] This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def [option -blocking]] The standard blocking flag. [def [option -dict]] If specified, the resulting dictionary from the [cmd S3::REST] call is assigned to the indicated (not necessarily global) variable in the caller's scope. [def [option -headers]] If specified, the dictionary of headers from the result are assigned to the indicated (not necessarily global) variable in the caller's scope. [def [option -status]] If specified, the indicated (not necessarily global) variable in the caller's scope is assigned a 2-element list. The first element is the 3-digit HTTP status code, while the second element is the HTTP message (such as "OK" or "Forbidden"). [list_end] [call [cmd S3::GetAcl] \ [opt "[option -blocking] [arg boolean]"] \ [opt "[option -bucket] [arg bucketname]"] \ [option -resource] [arg resourcename] \ [opt "[option -result-type] [arg REST|xml|pxml]"] \ ] This command gets the ACL of the indicated resource or throws an error if it is unavailable. [list_begin definitions] [def "[option -blocking] [arg boolean]"] See above for standard definition. [def [option -bucket]] This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def "[option -parse-xml] [arg xml]"] The XML from a previous GetACL can be passed in to be parsed into dictionary form. In this case, -result-type must be pxml or dict. [def "[option -result-type] [arg REST]"] The dictionary returned by [cmd S3::REST] is the return value of [cmd S3::GetAcl]. In this case, a non-2XX httpstatus will not throw an error. [def "[option -result-type] [arg xml]"] The raw XML of the body is returned as the result (with no encoding applied). [def "[option -result-type] [arg pxml]"] The XML of the body as parsed by [cmd xsxp::parse] is returned. [def "[option -result-type] [arg dict]"] This fetches the ACL, parses it, and returns a dictionary of two elements. [para] The first element has the key "owner" whose value is the canonical ID of the owner of the resource. [para] |
︙ | ︙ | |||
953 954 955 956 957 958 959 | [option -resource] [arg resourcename] \ [opt "[option -acl] [arg new-acl]"] \ ] This sets the ACL on the indicated resource. It returns the XML written to the ACL, or throws an error if anything went wrong. [list_begin definitions] | | | | | | | | 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 | [option -resource] [arg resourcename] \ [opt "[option -acl] [arg new-acl]"] \ ] This sets the ACL on the indicated resource. It returns the XML written to the ACL, or throws an error if anything went wrong. [list_begin definitions] [def "[option -blocking] [arg boolean]"] See above for standard definition. [def [option -bucket]] This specifies the bucket from which the resource will be read. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def [option -owner]] If this is provided, it is assumed to match the owner of the resource. Otherwise, a GET may need to be issued against the resource to find the owner. If you already have the owner (such as from a call to [cmd S3::GetAcl], you can pass the value of the "owner" key as the value of this option, and it will be used in the construction of the XML. [def [option -acl]] If this option is specified, it provides the ACL the caller wishes to write to the resource. If this is not supplied or is empty, the value is taken from [cmd "S3::Configure -default-acl"]. The ACL is written with a PUT to the ?acl resource. [para] If the value passed to this option starts with "<", it is taken to be a body to be PUT to the ACL resource. [para] If the value matches one of the standard Amazon x-amz-acl headers (i.e., a canned access policy), that header is translated to XML and then applied. The canned access policies are private, public-read, public-read-write, and authenticated-read (in lower case). [para] Otherwise, the value is assumed to be a dictionary formatted as the "acl" sub-entry within the dict returns by [cmd "S3::GetAcl -result-type dict"]. The proper XML is generated and applied to the resource. Note that a value containing "//" is assumed to be a group, a value containing "@" is assumed to be an AmazonCustomerByEmail, and otherwise the value is assumed to be a canonical Amazon ID. [para] Note that you cannot change the owner, so calling GetAcl on a resource owned by one user and applying it via PutAcl on a resource owned by another user may not do exactly what you expect. |
︙ | ︙ | |||
1024 1025 1026 1027 1028 1029 1030 | [list_begin definitions] [def [option -bucket]] This specifies the bucket from which the resource will be deleted. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] | | | | | | 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 | [list_begin definitions] [def [option -bucket]] This specifies the bucket from which the resource will be deleted. Leading and/or trailing slashes are removed for you, as are spaces. [def [option -resource]] This is the full name of the resource within the bucket. A single leading slash is removed, but not a trailing slash. Spaces are not trimmed. [def [option -blocking]] The standard blocking flag. [def [option -status]] If specified, the indicated (not necessarily global) variable in the caller's scope is set to a two-element list. The first element is the 3-digit HTTP status code. The second element is the HTTP message (such as "OK" or "Forbidden"). Note that Amazon's DELETE result is 204 on success, that being the code indicating no content in the returned body. [list_end] [para] [call [cmd S3::Push] \ |
︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 | [opt "[option -error] [arg throw|break|continue]"] \ [opt "[option -progress] [arg scriptprefix]"] \ ] This synchronises a local directory with a remote bucket by pushing the differences using [cmd S3::Put]. Note that if something has changed in the bucket but not locally, those changes could be lost. Thus, this is not a general | | | | | | | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 | [opt "[option -error] [arg throw|break|continue]"] \ [opt "[option -progress] [arg scriptprefix]"] \ ] This synchronises a local directory with a remote bucket by pushing the differences using [cmd S3::Put]. Note that if something has changed in the bucket but not locally, those changes could be lost. Thus, this is not a general two-way synchronization primitive. (See [cmd S3::Sync] for that.) Note too that resource names are case sensitive, so changing the case of a file on a Windows machine may lead to otherwise-unnecessary transfers. Note that only regular files are considered, so devices, pipes, symlinks, and directories are not copied. [list_begin definitions] [def [option -bucket]] This names the bucket into which data will be pushed. [def [option -directory]] This names the local directory from which files will be taken. It must exist, be readable via [lb]glob[rb] and so on. If only some of the files therein are readable, [cmd S3::Push] will PUT those files that are readable and return in its results the list of files that could not be opened. [def [option -prefix]] This names the prefix that will be added to all resources. That is, it is the remote equivalent of [option -directory]. If it is not specified, the root of the bucket will be treated as the remote directory. An example may clarify. [example { S3::Push -bucket test -directory /tmp/xyz -prefix hello/world }] In this example, /tmp/xyz/pdq.html will be stored as http://s3.amazonaws.com/test/hello/world/pdq.html in Amazon's servers. Also, /tmp/xyz/abc/def/Hello will be stored as http://s3.amazonaws.com/test/hello/world/abc/def/Hello in Amazon's servers. Without the [option -prefix] option, /tmp/xyz/pdq.html would be stored as http://s3.amazonaws.com/test/pdq.html. [def [option -blocking]] This is the standard blocking option. [def [option -compare]] If present, this is passed to each invocation of [cmd S3::Put]. Naturally, [cmd "S3::Configure -default-compare"] is used if this is not specified. [def [option -x-amz-meta-*]] If present, this is passed to each invocation of [cmd S3::Put]. All copied files will have the same metadata. [def [option -acl]] |
︙ | ︙ | |||
1119 1120 1121 1122 1123 1124 1125 | prevent the deletion of a remote resource with a corresponding name. [def [option -error]] This controls the behavior of [cmd S3::Push] in the event that [cmd S3::Put] throws an error. Note that errors encountered on the local file system or in reading the list of resources in the remote bucket always throw errors. | | | | 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 | prevent the deletion of a remote resource with a corresponding name. [def [option -error]] This controls the behavior of [cmd S3::Push] in the event that [cmd S3::Put] throws an error. Note that errors encountered on the local file system or in reading the list of resources in the remote bucket always throw errors. This option allows control over "partial" errors, when some files were copied and some were not. [cmd S3::Delete] is always finished up, with errors simply recorded in the return result. [list_begin definitions] [def throw] The error is rethrown with the same errorCode. [def break] Processing stops without throwing an error, the error is recorded in the return value, and the command returns with a normal return. The calls to [cmd S3::Delete] are not started. [def continue] This is the default. Processing continues without throwing, recording the error in the return result, and resuming with the next file in the local directory to be copied. [list_end] [def [option -progress]] If this is specified and the indicated script prefix is not empty, the indicated script prefix will be invoked several times in the caller's context with additional arguments at various points in the processing. |
︙ | ︙ | |||
1160 1161 1162 1163 1164 1165 1166 | first additional argument and a list of suffixes existing in the remote bucket as the second additional argument. Then, for each file in the local list, the prefix will be invoked with [arg start] as the first additional argument and the common suffix as the second additional argument. When [cmd S3::Put] returns for that file, the prefix will be invoked with [arg copy] as the first additional argument, the common suffix as the second additional argument, and a third argument that will | | | | | | | | | | | | | | | | | | | | | | | | 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 | first additional argument and a list of suffixes existing in the remote bucket as the second additional argument. Then, for each file in the local list, the prefix will be invoked with [arg start] as the first additional argument and the common suffix as the second additional argument. When [cmd S3::Put] returns for that file, the prefix will be invoked with [arg copy] as the first additional argument, the common suffix as the second additional argument, and a third argument that will be "copied" (if [cmd S3::Put] sent the resource), "skipped" (if [cmd S3::Put] decided not to based on [option -compare]), or the errorCode that [cmd S3::Put] threw due to unexpected errors (in which case the third argument is a list that starts with "S3"). When all files have been transfered, the prefix may be invoked zero or more times with [arg delete] as the first additional argument and the suffix of the resource being deleted as the second additional argument, with a third argument being either an empty string (if the delete worked) or the errorCode from [cmd S3::Delete] if it failed. Finally, the prefix will be invoked with [arg finished] as the first additional argument and the return value as the second additional argument. [list_end] The return result from this command is a dictionary. They keys are the suffixes (i.e., the common portion of the path after the [option -directory] and [option -prefix]), while the values are either "copied", "skipped" (if [option -compare] indicated not to copy the file), or the errorCode thrown by [cmd S3::Put], as appropriate. If [option -delete] was true, there may also be entries for suffixes with the value "deleted" or "notdeleted", indicating whether the attempted [cmd S3::Delete] worked or not, respectively. There is one additional pair in the return result, whose key is the empty string and whose value is a nested dictionary. The keys of this nested dictionary include "filescopied" (the number of files successfully copied), "bytescopied" (the number of data bytes in the files copied, excluding headers, metadata, etc), "compareskipped" (the number of files not copied due to [option -compare] mode), "errorskipped" (the number of files not copied due to thrown errors), "filesdeleted" (the number of resources deleted due to not having corresponding files locally, or 0 if [option -delete] is false), and "filesnotdeleted" (the number of resources whose deletion was attempted but failed). [para] Note that this is currently implemented somewhat inefficiently. It fetches the bucket listing (including timestamps and eTags), then calls [cmd S3::Put], which uses HEAD to find the timestamps and eTags again. Correcting this with no API change is planned for a future upgrade. [para] [call [cmd S3::Pull] \ [opt "[option -bucket] [arg bucketname]"] \ [option -directory] [arg directoryname] \ [opt "[option -prefix] [arg prefixstring]"] \ [opt "[option -blocking] [arg boolean]"] \ [opt "[option -compare] [arg comparemode]"] \ [opt "[option -delete] [arg boolean]"] \ [opt "[option -timestamp] [arg aws|now]"] \ [opt "[option -error] [arg throw|break|continue]"] \ [opt "[option -progress] [arg scriptprefix]"] \ ] This synchronises a remote bucket with a local directory by pulling the differences using [cmd S3::Get] If something has been changed locally but not in the bucket, those difference may be lost. This is not a general two-way synchronization mechanism. (See [cmd S3::Sync] for that.) This creates directories if needed; new directories are created with default permissions. Note that resource names are case sensitive, so changing the case of a file on a Windows machine may lead to otherwise-unnecessary transfers. Also, try not to store data in resources that end with a slash, or which are prefixes of resources that otherwise would start with a slash; i.e., don't use this if you store data in resources whose names have to be directories locally. [para] Note that this is currently implemented somewhat inefficiently. It fetches the bucket listing (including timestamps and eTags), then calls [cmd S3::Get], which uses HEAD to find the timestamps and eTags again. Correcting this with no API change is planned for a future upgrade. [list_begin definitions] [def [option -bucket]] This names the bucket from which data will be pulled. [def [option -directory]] This names the local directory into which files will be written It must exist, be readable via [lb]glob[rb], writable for file creation, and so on. If only some of the files therein are writable, [cmd S3::Pull] will GET those files that are writable and return in its results the list of files that could not be opened. [def [option -prefix]] The prefix of resources that will be considered for retrieval. See [cmd S3::Push] for more details, examples, etc. (Of course, [cmd S3::Pull] reads rather than writes, but the prefix is treated similarly.) [def [option -blocking]] This is the standard blocking option. [def [option -compare]] This is passed to each invocation of [cmd S3::Get] if provided. Naturally, [cmd "S3::Configure -default-compare"] is used if this is not provided. [def [option -timestamp]] This is passed to each invocation of [cmd S3::Get] if provided. [def [option -delete]] If this is specified and true, files that exist in the [option -directory] that are not in the [option -prefix] will be deleted after all resources have been copied. In addition, empty directories (other than the top-level [option -directory]) will be deleted, as Amazon S3 has no concept of an empty directory. [def [option -error]] See [cmd S3::Push] for a description of this option. [def [option -progress]] See [cmd S3::Push] for a description of this option. It differs slightly in that local directories may be included with a trailing slash to indicate they are directories. [list_end] The return value from this command is a dictionary. It is identical in form and meaning to the description of the return result of [cmd S3::Push]. It differs only in that directories may be included, with a trailing slash in their name, if they are empty and get deleted. [call [cmd S3::Toss] \ [opt "[option -bucket] [arg bucketname]"] \ |
︙ | ︙ | |||
1313 1314 1315 1316 1317 1318 1319 | for the prefix. [opt_def [option -error]] If this is "throw", [cmd S3::Toss] rethrows any errors it encounters. If this is "break", [cmd S3::Toss] returns with a normal return after the first error, recording that error in the return result. If this is "continue", which is | | | 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 | for the prefix. [opt_def [option -error]] If this is "throw", [cmd S3::Toss] rethrows any errors it encounters. If this is "break", [cmd S3::Toss] returns with a normal return after the first error, recording that error in the return result. If this is "continue", which is the default, [cmd S3::Toss] continues on and lists all errors in the return result. [opt_def [option -progress]] If this is specified and not an empty string, the script prefix will be invoked several times in the context of the caller with additional arguments appended. Initially, it will be invoked with the first additional argument being [arg args] and the second |
︙ | ︙ | |||
1337 1338 1339 1340 1341 1342 1343 | [list_end] The return value is a dictionary. The keys are the suffixes of files that [cmd S3::Toss] attempted to delete, and whose values are either the string "deleted" or "notdeleted". There is also one additional pair, whose key is the empty string and whose value is an embedded | | | | | | | | | | | | 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 | [list_end] The return value is a dictionary. The keys are the suffixes of files that [cmd S3::Toss] attempted to delete, and whose values are either the string "deleted" or "notdeleted". There is also one additional pair, whose key is the empty string and whose value is an embedded dictionary. The keys of this embedded dictionary include "filesdeleted" and "filesnotdeleted", each of which has integer values. [list_end] [section LIMITATIONS] [list_begin itemized] [item] The pure-Tcl MD5 checking is slow. If you are processing files in the megabyte range, consider ensuring binary support is available. [item] The commands [cmd S3::Pull] and [cmd S3::Push] fetch a directory listing which includes timestamps and MD5 hashes, then invoke [cmd S3::Get] and [cmd S3::Put]. If a complex [option -compare] mode is specified, [cmd S3::Get] and [cmd S3::Put] will invoke a HEAD operation for each file to fetch timestamps and MD5 hashes of each resource again. It is expected that a future release of this package will solve this without any API changes. [item] The commands [cmd S3::Pull] and [cmd S3::Push] fetch a directory listing without using [option -max-count]. The entire directory is pulled into memory at once. For very large buckets, this could be a performance problem. The author, at this time, does not plan to change this behavior. Welcome to Open Source. [item] [cmd S3::Sync] is neither designed nor implemented yet. The intention would be to keep changes synchronised, so changes could be made to both the bucket and the local directory and be merged by [cmd S3::Sync]. [item] Nor is [option -compare] [arg calc] fully implemented. This is primarily due to Windows not providing a convenient method for distinguishing between local files that are "public-read" or "public-read-write". Assistance figuring out TWAPI for this would be appreciated. The U**X semantics are difficult to map directly as well. See the source for details. Note that there are not tests for calc, since it isn't done yet. [item] The HTTP processing is implemented within the library, rather than using a "real" HTTP package. Hence, multi-line headers are not (yet) handled correctly. Do not include carriage returns or linefeeds in x-amz-meta-* headers, content-type values, and so on. The author does not at this time expect to improve this. [item] Internally, [cmd S3::Push] and [cmd S3::Pull] and [cmd S3::Toss] are all very similar and should be refactored. [item] The idea of using [option -compare] [arg never] [option -delete] [arg true] to delete files that have been deleted from one place but not the other yet not copying changed files is untested. [list_end] [section "USAGE SUGGESTIONS"] To fetch a "directory" out of a bucket, make changes, and store it back: |
︙ | ︙ | |||
1413 1414 1415 1416 1417 1418 1419 | update files: [example_begin] S3::Pull -bucket sample -prefix of/interest -directory ./myfiles \ -compare never -delete true [example_end] | < | | | | < | < < | < < < < < < < | 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 | update files: [example_begin] S3::Pull -bucket sample -prefix of/interest -directory ./myfiles \ -compare never -delete true [example_end] [section "FUTURE DEVELOPMENTS"] The author intends to work on several additional projects related to this package, in addition to finishing the unfinished features. [para] First, a command-line program allowing browsing of buckets and transfer of files from shell scripts and command prompts is useful. [para] Second, a GUI-based program allowing visual manipulation of bucket and resource trees not unlike Windows Explorer would be useful. [para] Third, a command-line (and perhaps a GUI-based) program called "OddJob" that will use S3 to synchronize computation amongst multiple servers running OddJob. An S3 bucket will be set up with a number of scripts to run, and the OddJob program can be invoked on multiple machines to run scripts on all the machines, each moving on to the next unstarted task as it finishes each. This is still being designed, and it is intended primarily to be run on Amazon's Elastic Compute Cloud. [vset CATEGORY amazon-s3] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/amazon-s3/xsxp.man.
1 2 3 4 5 6 7 | [manpage_begin xsxp n 1.0] [moddesc {Amazon S3 Web Service Utilities}] [titledesc {eXtremely Simple Xml Parser}] [copyright {Copyright 2006 Darren New. All Rights Reserved.}] [category {Text processing}] [require Tcl 8.4] [require xml] | > > > < | | | | < | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | [manpage_begin xsxp n 1.0] [keywords dom] [keywords parser] [keywords xml] [moddesc {Amazon S3 Web Service Utilities}] [titledesc {eXtremely Simple Xml Parser}] [copyright {Copyright 2006 Darren New. All Rights Reserved.}] [category {Text processing}] [require Tcl 8.4] [require xml] [description] This package provides a simple interface to parse XML into a pure-value list. It also provides accessor routines to pull out specific subtags, not unlike DOM access. This package was written for and is used by Darren New's Amazon S3 access package. [para] This is pretty lame, but I needed something like this for S3, and at the time, TclDOM would not work with the new 8.5 Tcl due to version number problems. [para] In addition, this is a pure-value implementation. There is no garbage to clean up in the event of a thrown error, for example. This simplifies the code for sufficiently small XML documents, which is what Amazon's S3 guarantees. [para] Copyright 2006 Darren New. All Rights Reserved. NO WARRANTIES OF ANY TYPE ARE PROVIDED. COPYING OR USE INDEMNIFIES THE AUTHOR IN ALL WAYS. This software is licensed under essentially the same terms as Tcl. See LICENSE.txt for the terms. [section COMMANDS] The package implements five rather simple procedures. One parses, one is for debugging, and the rest pull various parts of the parsed document out for processing. [list_begin definitions] [call [cmd xsxp::parse] [arg xml]] This parses an XML document (using the standard xml tcllib module in a SAX sort of way) and builds a data structure which it returns if the parsing succeeded. The return value is referred to herein as a "pxml", or "parsed xml". The list consists of two or more elements: [list_begin itemized] [item] The first element is the name of the tag. [item] The second element is an array-get formatted list of key/value pairs. The keys are attribute names and the values are attribute values. This is an empty list if there are no attributes on the tag. [item] The third through end elements are the children of the node, if any. Each child is, recursively, a pxml. [item] Note that if the zero'th element, i.e. the tag name, is "%PCDATA", then the attributes will be empty and the third element will be the text of the element. In addition, if an element's contents consists only of PCDATA, it will have only one child, and all the PCDATA will be concatenated. In other words, this parser works poorly for XML with elements that contain both child tags and PCDATA. Since Amazon S3 does not do this (and for that matter most uses of XML where XML is a poor choice don't do this), this is probably not a serious limitation. [list_end] [para] [call [cmd xsxp::fetch] [arg pxml] [arg path] [opt [arg part]]] [arg pxml] is a parsed XML, as returned from xsxp::parse. [arg path] is a list of element tag names. Each element is the name of a child to look up, optionally followed by a hash ("#") and a string of digits. An empty list or an initial empty element selects [arg pxml]. If no hash sign is present, the behavior is as if "#0" had been appended to that element. (In addition to a list, slashes can separate subparts where convenient.) [para] An element of [arg path] scans the children at the indicated level for the n'th instance of a child whose tag matches the part of the element before the hash sign. If an element is simply "#" followed by digits, that indexed child is selected, regardless of the tags in the children. Hence, an element of "#3" will always select the fourth child of the node under consideration. [para] [arg part] defaults to "%ALL". It can be one of the following case-sensitive terms: [list_begin definitions] [def %ALL] returns the entire selected element. [def %TAGNAME] returns lindex 0 of the selected element. [def %ATTRIBUTES] returns index 1 of the selected element. |
︙ | ︙ | |||
94 95 96 97 98 99 100 | [def %PCDATA?] is like %PCDATA, but returns an empty string if no PCDATA is found. [list_end] [para] | | | | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | [def %PCDATA?] is like %PCDATA, but returns an empty string if no PCDATA is found. [list_end] [para] For example, to fetch the first bold text from the fifth paragraph of the body of your HTML file, [example {xsxp::fetch $pxml {html body p#4 b} %PCDATA}] [para] [call [cmd xsxp::fetchall] [arg pxml_list] [arg path] [opt [arg part]]] This iterates over each PXML in [arg pxml_list] (which must be a list of pxmls) selecting the indicated path from it, building a new list with the selected data, and returning that new list. [para] For example, [arg pxml_list] might be the %CHILDREN of a particular element, and the [arg path] and [arg part] might select from each child a sub-element in which we're interested. |
︙ | ︙ | |||
126 127 128 129 130 131 132 | [call [cmd xsxp::prettyprint] [arg pxml] [opt [arg chan]]] This outputs to [arg chan] (default stdout) a pretty-printed version of [arg pxml]. [list_end] | < | < < | < < < < < < < | 127 128 129 130 131 132 133 134 135 136 | [call [cmd xsxp::prettyprint] [arg pxml] [opt [arg chan]]] This outputs to [arg chan] (default stdout) a pretty-printed version of [arg pxml]. [list_end] [vset CATEGORY amazon-s3] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/asn/asn.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin asn n 0.8] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2004 Jochen Loewer <[email protected]>}] [copyright {2004-2011 Michael Schlenker <[email protected]>}] [moddesc {ASN.1 processing}] [category Networking] [titledesc {ASN.1 BER encoder/decoder}] [require Tcl 8.4] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin asn n 0.8] [keywords asn] [keywords ber] [keywords cer] [keywords der] [keywords internet] [keywords protocol] [keywords x.208] [keywords x.209] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2004 Jochen Loewer <[email protected]>}] [copyright {2004-2011 Michael Schlenker <[email protected]>}] [moddesc {ASN.1 processing}] [category Networking] [titledesc {ASN.1 BER encoder/decoder}] [require Tcl 8.4] |
︙ | ︙ | |||
29 30 31 32 33 34 35 | Also see [uri http://luca.ntop.org/Teaching/Appunti/asn1.html] for [emph {A Layman's Guide to a Subset of ASN.1, BER, and DER}], an RSA Laboratories Technical Note by Burton S. Kaliski Jr. (Revised November 1, 1993). A text version of this note is part of the module sources and should be read by any implementor. | < | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | Also see [uri http://luca.ntop.org/Teaching/Appunti/asn1.html] for [emph {A Layman's Guide to a Subset of ASN.1, BER, and DER}], an RSA Laboratories Technical Note by Burton S. Kaliski Jr. (Revised November 1, 1993). A text version of this note is part of the module sources and should be read by any implementor. [section {PUBLIC API}] [subsection ENCODER] [list_begin definitions] [call [cmd ::asn::asnSequence] [arg evalue]...] |
︙ | ︙ | |||
60 61 62 63 64 65 66 | returns its encoded binary form. [call [cmd ::asn::asnApplicationConstr] [arg appNumber] [arg evalue]...] Takes zero or more encoded values, packs them into an ASN application construct and returns its encoded binary form. | < < < < < < < < < < < < < < < | < < < < < | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | returns its encoded binary form. [call [cmd ::asn::asnApplicationConstr] [arg appNumber] [arg evalue]...] Takes zero or more encoded values, packs them into an ASN application construct and returns its encoded binary form. [call [cmd ::asn::asnApplication] [arg appNumber] [arg data]] Takes a single encoded value [arg data], packs it into an ASN application construct and returns its encoded binary form. [call [cmd ::asn::asnChoice] [arg appNumber] [arg evalue]...] Takes zero or more encoded values, packs them into an ASN choice construct and returns its encoded binary form. [call [cmd ::asn::asnChoiceConstr] [arg appNumber] [arg evalue]...] Takes zero or more encoded values, packs them into an ASN choice construct and returns its encoded binary form. [call [cmd ::asn::asnInteger] [arg number]] Returns the encoded form of the specified integer [arg number]. [call [cmd ::asn::asnEnumeration] [arg number]] Returns the encoded form of the specified enumeration id [arg number]. [call [cmd ::asn::asnBoolean] [arg bool]] Returns the encoded form of the specified boolean value [arg bool]. [call [cmd ::asn::asnContext] [arg context] [arg data]] Takes an encoded value and packs it into a constructed value with application tag, the [arg context] number. [call [cmd ::asn::asnContextConstr] [arg context] [arg evalue]...] Takes zero or more encoded values and packs them into a constructed value with application tag, the [arg context] number. [call [cmd ::asn::asnObjectIdentifier] [arg idlist]] Takes a list of at least 2 integers describing an object identifier (OID) value, and returns the encoded value. [call [cmd ::asn::asnUTCTime] [arg utcstring]] Returns the encoded form of the specified UTC time string. [call [cmd ::asn::asnNull]] Returns the NULL encoding. [call [cmd ::asn::asnBitString] [arg string]] Returns the encoded form of the specified [arg string]. [call [cmd ::asn::asnOctetString] [arg string]] Returns the encoded form of the specified [arg string]. [call [cmd ::asn::asnNumericString] [arg string]] Returns the [arg string] encoded as ASN.1 NumericString. Raises an error if the [arg string] contains characters other than decimal numbers and space. [call [cmd ::asn::asnPrintableString] [arg string]] Returns the [arg string] encoding as ASN.1 PrintableString. Raises an error if the [arg string] contains characters which are not allowed by the Printable String datatype. The allowed characters are A-Z, a-z, 0-9, space, apostrophe, colon, parentheses, plus, minus, comma, period, forward slash, question mark, and the equals sign. [call [cmd ::asn::asnIA5String] [arg string]] Returns the [arg string] encoded as ASN.1 IA5String. Raises an error if the [arg string] contains any characters outside of the US-ASCII range. [call [cmd ::asn::asnBMPString] [arg string]] Returns the [arg string] encoded as ASN.1 Basic Multilingual Plane string (Which is essentialy big-endian UCS2). [call [cmd ::asn::asnUTF8String] [arg string]] Returns the [arg string] encoded as UTF8 String. Note that some legacy applications such as Windows CryptoAPI do not like UTF8 strings. Use BMPStrings if you are not sure. [call [cmd ::asn::asnString] [arg string]] Returns an encoded form of [arg string], choosing the most restricted ASN.1 string type possible. If the string contains non-ASCII characters, then there is more than one string type which can be used. See [cmd ::asn::defaultStringType]. [call [cmd ::asn::defaultStringType] [opt [arg type]]] Selects the string type to use for the encoding of non-ASCII strings. Returns current default when called without argument. If the argument [arg type] is supplied, it should be either [const UTF8] or [const BMP] to choose UTF8String or BMPString respectively. |
︙ | ︙ | |||
210 211 212 213 214 215 216 | After extraction the data variable is always modified first, before by writing the extracted value to its variable. This means that if both arguments refer to the same variable, it will always contain the extracted value after the call, and not the remainder of the input. [list_end] | < < < < < < < | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | After extraction the data variable is always modified first, before by writing the extracted value to its variable. This means that if both arguments refer to the same variable, it will always contain the extracted value after the call, and not the remainder of the input. [list_end] [para] [list_begin definitions] [call [cmd ::asn::asnPeekByte] [arg data_var] [arg byte_var]] Retrieve the first byte of the data, without modifing [arg data_var]. This can be used to check for implicit tags. [call [cmd ::asn::asnGetLength] [arg data_var] [arg length_var]] Decode the length information for a block of BER data. The tag has already to be removed from the data. [call [cmd ::asn::asnGetResponse] [arg chan] [arg data_var]] Reads an encoded ASN [emph sequence] from the channel [arg chan] and stores it into the variable named by [arg data_var]. [call [cmd ::asn::asnGetInteger] [arg data_var] [arg int_var]] Assumes that an encoded integer value is at the front of the data stored in the variable named [arg data_var], extracts and stores it into the variable named by [arg int_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetEnumeration] [arg data_var] [arg enum_var]] Assumes that an enumeration id is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg enum_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetOctetString] [arg data_var] [arg string_var]] Assumes that a string is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetString] [arg data_var] [arg string_var] [opt [arg type_var]]] Decodes a user-readable string. This is a convenience function which is able to automatically distinguish all supported ASN.1 string types and convert the input value appropriately. |
︙ | ︙ | |||
283 284 285 286 287 288 289 | "Invalid command name asnGetSome[var UnsupportedString]" if the unsupported string type [var Unsupported] is encountered. You can create the appropriate function "asn::asnGetSome[var UnsupportedString]" in your application if neccessary. | < < < < < < | < | < | | | < | < < < < | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 | "Invalid command name asnGetSome[var UnsupportedString]" if the unsupported string type [var Unsupported] is encountered. You can create the appropriate function "asn::asnGetSome[var UnsupportedString]" in your application if neccessary. [call [cmd ::asn::asnGetNumericString] [arg data_var] [arg string_var]] Assumes that a numeric string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetPrintableString] [arg data_var] [arg string_var]] Assumes that a printable string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetIA5String] [arg data_var] [arg string_var]] Assumes that a IA5 (ASCII) string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetBMPString] [arg data_var] [arg string_var]] Assumes that a BMP (two-byte unicode) string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var], converting it into a proper Tcl string. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetUTF8String] [arg data_var] [arg string_var]] Assumes that a UTF8 string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg string_var], converting it into a proper Tcl string. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetUTCTime] [arg data_var] [arg utc_var]] Assumes that a UTC time value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg utc_var]. The UTC time value is stored as a string, which has to be decoded with the usual clock scan commands. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetBitString] [arg data_var] [arg bits_var]] Assumes that a bit string value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg bits_var] as a string containing only 0 and 1. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetObjectIdentifier] [arg data_var] [arg oid_var]] Assumes that a object identifier (OID) value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg oid_var] as a list of integers. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetBoolean] [arg data_var] [arg bool_var]] Assumes that a boolean value is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg bool_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [call [cmd ::asn::asnGetNull] [arg data_var]] Assumes that a NULL value is at the front of the data stored in the variable named [arg data_var] and removes the bytes used to encode it from the data. [call [cmd ::asn::asnGetSequence] [arg data_var] [arg sequence_var]] Assumes that an ASN sequence is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg sequence_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [para] The data in [arg sequence_var] is encoded binary and has to be further decoded according to the definition of the sequence, using the decoder commands here. [call [cmd ::asn::asnGetSet] [arg data_var] [arg set_var]] Assumes that an ASN set is at the front of the data stored in the variable named [arg data_var], and stores it into the variable named by [arg set_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. [para] The data in [arg set_var] is encoded binary and has to be further decoded according to the definition of the set, using the decoder commands here. [call [cmd ::asn::asnGetApplication] [arg data_var] [arg appNumber_var] [opt [arg content_var]] [opt [arg encodingType_var]]] Assumes that an ASN application construct is at the front of the data stored in the variable named [arg data_var], and stores its id into the variable named by [arg appNumber_var]. Additionally removes all bytes associated with the value from the data for further processing |
︙ | ︙ | |||
428 429 430 431 432 433 434 | [para] Otherwise it is the responsibility of the caller to decode the remainder of the application construct based on the id retrieved by this command, using the decoder commands of this package. | < | | 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 | [para] Otherwise it is the responsibility of the caller to decode the remainder of the application construct based on the id retrieved by this command, using the decoder commands of this package. [call [cmd ::asn::asnGetContext] [arg data_var] [arg contextNumber_var] [opt [arg content_var]] [opt [arg encodingType_var]]] Assumes that an ASN context tag construct is at the front of the data stored in the variable named [arg data_var], and stores its id into the variable named by [arg contextNumber_var]. Additionally removes all bytes associated with the value from the data for further processing by the following decoder commands. |
︙ | ︙ | |||
475 476 477 478 479 480 481 | to the class of the tag. (Either UNIVERSAL, CONTEXT, APPLICATION or PRIVATE). The [arg constr_var] is set to 1 if the tag is for a constructed value, and to 0 for not constructed. It returns the length of the tag. [call [cmd ::asn::asnTag] [arg tagnumber] [opt [arg class]] [opt [arg tagstyle]]] The [cmd ::asn::asnTag] can be used to create a tag value. The [arg tagnumber] gives the number of the tag, while the [arg class] gives one of the classes (UNIVERSAL,CONTEXT,APPLICATION or PRIVATE). The class may be abbreviated to just the first letter (U,C,A,P), | | < < < | < < | < < < < < < < < | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 | to the class of the tag. (Either UNIVERSAL, CONTEXT, APPLICATION or PRIVATE). The [arg constr_var] is set to 1 if the tag is for a constructed value, and to 0 for not constructed. It returns the length of the tag. [call [cmd ::asn::asnTag] [arg tagnumber] [opt [arg class]] [opt [arg tagstyle]]] The [cmd ::asn::asnTag] can be used to create a tag value. The [arg tagnumber] gives the number of the tag, while the [arg class] gives one of the classes (UNIVERSAL,CONTEXT,APPLICATION or PRIVATE). The class may be abbreviated to just the first letter (U,C,A,P), default is UNIVERSAL. The [arg tagstyle] is either C for Constructed encoding, or P for primitve encoding. It defaults to P. You can also use 1 instead of C and 0 instead of P for direct use of the values returned by [cmd ::asn::asnPeekTag]. [call [cmd ::asn::asnRetag] [arg data_var] [arg newTag]] Replaces the tag in front of the data in [arg data_var] with [arg newTag]. The new Tag can be created using the [cmd ::asn::asnTag] command. [list_end] [section EXAMPLES] Examples for the usage of this package can be found in the implementation of package [package ldap]. [vset CATEGORY asn] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base32/base32.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32 n 0.1] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {base32 standard encoding}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [require base32 [opt 0.1]] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32 n 0.1] [keywords base32] [keywords rfc3548] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {base32 standard encoding}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [require base32 [opt 0.1]] [description] [para] This package provides commands for encoding and decoding of strings into and out of the standard base32 encoding as specified in RFC 3548. [section API] |
︙ | ︙ | |||
45 46 47 48 49 50 51 | [enum] the input contains characters which are not valid output of a base32 encoder, [enum] the length of the input is not a multiple of eight, [enum] padding appears not at the end of input, but in the middle, [enum] the padding has not of length six, four, three, or one characters, [list_end] [list_end] | < < | < < | < < < < < < < | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | [enum] the input contains characters which are not valid output of a base32 encoder, [enum] the length of the input is not a multiple of eight, [enum] padding appears not at the end of input, but in the middle, [enum] the padding has not of length six, four, three, or one characters, [list_end] [list_end] [section {Code map}] The code map used to convert 5-bit sequences is shown below, with the numeric id of the bit sequences to the left and the character used to encode it to the right. It should be noted that the characters "0" and "1" are not used by the encoding. This is done as these characters can be easily confused with "O", "o" and "l" (L). [example { 0 A 9 J 18 S 27 3 1 B 10 K 19 T 28 4 2 C 11 L 20 U 29 5 3 D 12 M 21 V 30 6 4 E 13 N 22 W 31 7 5 F 14 O 23 X 6 G 15 P 24 Y 7 H 16 Q 25 Z 8 I 17 R 26 2 }] [vset CATEGORY base32] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base32/base32core.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32::core n 0.1] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {Expanding basic base32 maps}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [description] | > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32::core n 0.1] [keywords base32] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {Expanding basic base32 maps}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [description] [para] This package provides generic commands for the construction of full base32 mappings from a basic mapping listing just the codes and associated characters. The full mappings, regular and inverse, created here map to and from bit sequences, and also handle the partial mappings at the end of a string. [para] This is in essence an internal package to be used by implementors of a base32 en- and decoder. A regular user has no need of this package at all. [section API] [list_begin definitions] [call [cmd ::base32::core::define] [arg map] [arg forwvar] [arg backwvar] [arg ivar]] This command computes full forward and backward (inverse) mappings from the basic [arg map] and stores them in the variables named by [arg forwvar] and [arg backwvar] resp. It also constructs a regexp pattern for the detection of invalid characters in supposedly base32 encoded input and stores it in the variable named by [arg ivar]. [call [cmd ::base32::core::valid] [arg string] [arg pattern] [arg mvar]] This command checks if the input [arg string] is a valid base32 encoded string, based on the [arg pattern] of invalid characters as generated by [cmd ::base32::core::define], and some other general rules. |
︙ | ︙ | |||
59 60 61 62 63 64 65 | [list_begin enumerated] [enum] The length of the input is not a multiple of eight, [enum] The padding appears not at the end of input, but in the middle, [enum] The padding has not of length six, four, three, or one characters, [list_end] [list_end] | < | < < | < < < < < < < | 57 58 59 60 61 62 63 64 65 66 | [list_begin enumerated] [enum] The length of the input is not a multiple of eight, [enum] The padding appears not at the end of input, but in the middle, [enum] The padding has not of length six, four, three, or one characters, [list_end] [list_end] [vset CATEGORY base32] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base32/base32hex.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32::hex n 0.1] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {base32 extended hex encoding}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [require base32::hex [opt 0.1]] [description] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin base32::hex n 0.1] [keywords base32] [keywords hex] [keywords rfc3548] [copyright {Public domain}] [moddesc {Base32 encoding}] [titledesc {base32 extended hex encoding}] [category {Text processing}] [require Tcl 8.4] [require base32::core [opt 0.1]] [require base32::hex [opt 0.1]] [description] [para] This package provides commands for encoding and decoding of strings into and out of the extended hex base32 encoding as specified in the RFC 3548bis draft. [section API] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | of a extended hex base32 encoder, [enum] the length of the input is not a multiple of eight, [enum] padding appears not at the end of input, but in the middle, [enum] the padding has not of length six, four, three, or one characters, [list_end] [list_end] | < < | < < | < < < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | of a extended hex base32 encoder, [enum] the length of the input is not a multiple of eight, [enum] padding appears not at the end of input, but in the middle, [enum] the padding has not of length six, four, three, or one characters, [list_end] [list_end] [section {Code map}] The code map used to convert 5-bit sequences is shown below, with the numeric id of the bit sequences to the left and the character used to encode it to the right. The important feature of the extended hex mapping is that the first 16 codes map to the digits and hex characters. [example { 0 0 9 9 18 I 27 R 1 1 10 A 19 J 28 S 2 2 11 B 20 K 29 T 3 3 12 C 21 L 30 U 4 4 13 D 22 M 31 V 5 5 14 E 23 N 6 6 15 F 24 O 7 7 16 G 25 P 8 8 17 H 26 Q }] [vset CATEGORY base32] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base64/ascii85.man.
1 2 3 4 5 6 7 8 | [manpage_begin ascii85 n 1.0] [copyright "2010, Emiliano Gavil\u00e1n"] [moddesc {Text encoding & decoding binary data}] [titledesc {ascii85-encode/decode binary data}] [category {Text processing}] [require Tcl 8.4] [require ascii85 [opt 1.0]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin ascii85 n 1.0] [keywords ascii85] [keywords encoding] [copyright "2010, Emiliano Gavil\u00e1n"] [moddesc {Text encoding & decoding binary data}] [titledesc {ascii85-encode/decode binary data}] [category {Text processing}] [require Tcl 8.4] [require ascii85 [opt 1.0]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | [emph {Note well}]: If your string is not simple ascii you should fix the string encoding before doing ascii85 encoding. See the examples. [para] The command will throw an error for negative values of [arg maxlen], or if [arg maxlen] is not an integer number. | < | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | [emph {Note well}]: If your string is not simple ascii you should fix the string encoding before doing ascii85 encoding. See the examples. [para] The command will throw an error for negative values of [arg maxlen], or if [arg maxlen] is not an integer number. [call [cmd ::ascii85::decode] [arg "string"]] Ascii85 decodes the given [arg "string"] and returns the binary data. The decoder ignores whitespace in the string, as well as tabs and newlines. |
︙ | ︙ | |||
65 66 67 68 69 70 71 | [list_begin enum] [enum] [uri http://en.wikipedia.org/wiki/Ascii85] [enum] Postscript Language Reference Manual, 3rd Edition, page 131. [uri http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf] [list_end] | < | < < | < < < < < < < < | 66 67 68 69 70 71 72 73 74 75 | [list_begin enum] [enum] [uri http://en.wikipedia.org/wiki/Ascii85] [enum] Postscript Language Reference Manual, 3rd Edition, page 131. [uri http://www.adobe.com/devnet/postscript/pdfs/PLRM.pdf] [list_end] [vset CATEGORY base64] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base64/base64.man.
1 2 3 4 5 6 7 8 | [manpage_begin base64 n 2.4.2] [copyright {2000, Eric Melski}] [copyright {2001, Miguel Sofer}] [moddesc {Text encoding & decoding binary data}] [titledesc {base64-encode/decode binary data}] [category {Text processing}] [require Tcl 8] [require base64 [opt 2.4.2]] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin base64 n 2.4.2] [keywords base64] [keywords encoding] [copyright {2000, Eric Melski}] [copyright {2001, Miguel Sofer}] [moddesc {Text encoding & decoding binary data}] [titledesc {base64-encode/decode binary data}] [category {Text processing}] [require Tcl 8] [require base64 [opt 2.4.2]] |
︙ | ︙ | |||
29 30 31 32 33 34 35 | the string encoding before doing base64 encoding. See the examples. [para] The command will throw an error for negative values of [arg maxlen], or if [arg maxlen] is not an integer number. | < | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | the string encoding before doing base64 encoding. See the examples. [para] The command will throw an error for negative values of [arg maxlen], or if [arg maxlen] is not an integer number. [call [cmd ::base64::decode] [arg "string"]] Base64 decodes the given [arg "string"] and returns the binary data. The decoder ignores whitespace in the string. [list_end] |
︙ | ︙ | |||
60 61 62 63 64 65 66 | # NOTE: base64 encodes BINARY strings. % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"] % set encoded [base64::encode $chemical] Q+KCiEjigoHigoBO4oKET+KCgg== % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] }] | | < | < < < < < < < < < < < | 61 62 63 64 65 66 67 68 69 70 | # NOTE: base64 encodes BINARY strings. % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"] % set encoded [base64::encode $chemical] Q+KCiEjigoHigoBO4oKET+KCgg== % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]] }] [vset CATEGORY base64] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base64/uuencode.man.
1 2 3 4 5 6 7 8 | [manpage_begin uuencode n 1.1.4] [copyright {2002, Pat Thoyts}] [moddesc {Text encoding & decoding binary data}] [titledesc {UU-encode/decode binary data}] [category {Text processing}] [require Tcl 8] [require uuencode [opt 1.1.4]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin uuencode n 1.1.4] [keywords encoding] [keywords uuencode] [copyright {2002, Pat Thoyts}] [moddesc {Text encoding & decoding binary data}] [titledesc {UU-encode/decode binary data}] [category {Text processing}] [require Tcl 8] [require uuencode [opt 1.1.4]] [description] |
︙ | ︙ | |||
86 87 88 89 90 91 92 | [para] [example { % uuencode::uudecode $d {hello.txt 644 {Hello World}} }] | < | < < | < < < < < < < < | 88 89 90 91 92 93 94 95 96 97 | [para] [example { % uuencode::uudecode $d {hello.txt 644 {Hello World}} }] [vset CATEGORY base64] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/base64/yencode.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin yencode n 1.1.2] [copyright {2002, Pat Thoyts}] [moddesc {Text encoding & decoding binary data}] [titledesc {Y-encode/decode binary data}] [category {Text processing}] [require Tcl 8.2] [require yencode [opt 1.1.2]] [description] [para] This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that | > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [manpage_begin yencode n 1.1.2] [keywords encoding] [keywords ydecode] [keywords yEnc] [keywords yencode] [copyright {2002, Pat Thoyts}] [moddesc {Text encoding & decoding binary data}] [titledesc {Y-encode/decode binary data}] [category {Text processing}] [require Tcl 8.2] [require yencode [opt 1.1.2]] [description] [para] This package provides a Tcl-only implementation of the yEnc file encoding. This is a recently introduced method of encoding binary files for transmission through Usenet. This encoding packs binary data into a format that requires an 8-bit clean transmission layer but that escapes characters special to the [term NNTP] posting protocols. See [uri http://www.yenc.org/] for details concerning the algorithm. [list_begin definitions] [call [cmd ::yencode::encode] [arg string]] returns the yEnc encoded data. |
︙ | ︙ | |||
83 84 85 86 87 88 89 | [section References] [list_begin enum] [enum] [uri http://www.yenc.org/yenc-draft.1.3.txt] [list_end] | < | < < | < < < < < < < < | 87 88 89 90 91 92 93 94 95 96 | [section References] [list_begin enum] [enum] [uri http://www.yenc.org/yenc-draft.1.3.txt] [list_end] [vset CATEGORY base64] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bee/bee.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bee n 0.1] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {BitTorrent}] [titledesc {BitTorrent Serialization Format Encoder/Decoder}] [category Networking] [require Tcl 8.4] [require bee [opt 0.1]] [description] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bee n 0.1] [keywords bee] [keywords BitTorrent] [keywords bittorrent] [keywords serialization] [keywords torrent] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {BitTorrent}] [titledesc {BitTorrent Serialization Format Encoder/Decoder}] [category Networking] [require Tcl 8.4] [require bee [opt 0.1]] [description] |
︙ | ︙ | |||
27 28 29 30 31 32 33 | [para] [list_begin definitions] [call [cmd ::bee::encodeString] [arg string]] Returns the bee-encoding of the [arg string]. | < < < < | < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | [para] [list_begin definitions] [call [cmd ::bee::encodeString] [arg string]] Returns the bee-encoding of the [arg string]. [call [cmd ::bee::encodeNumber] [arg integer]] Returns the bee-encoding of the [arg integer] number. [call [cmd ::bee::encodeListArgs] [arg value]...] Takes zero or more bee-encoded values and returns the bee-encoding of their list. [call [cmd ::bee::encodeList] [arg list]] Takes a list of bee-encoded values and returns the bee-encoding of the list. [call [cmd ::bee::encodeDictArgs] [arg key] [arg value]...] Takes zero or more pairs of keys and values and returns the bee-encoding of the dictionary they form. The values are expected to be already bee-encoded, but the keys must not be. Their encoding will be done by the command itself. [call [cmd ::bee::encodeDict] [arg dict]] Takes a dictionary list of string keys and bee-encoded values and returns the bee-encoding of the list. Note that the keys in the input must not be bee-encoded already. This will be done by the command itself. [list_end] [para] [subsection DECODER] The package provides two main decoder commands, one for decoding a string expected to contain a complete data structure, the other for the incremental decoding of bee-values arriving on a channel. The latter command is asynchronous and provides the completed decoded values to the user through a command callback. [para] [list_begin definitions] [call [cmd ::bee::decode] [arg string] [opt [arg endvar]] [opt [arg start]]] Takes the bee-encoding in the string and returns one decoded value. In |
︙ | ︙ | |||
97 98 99 100 101 102 103 | contained values. [para] The optional [arg start] index defaults to [const 0], i.e. the beginning of the string. It is the index of the first character of the bee-encoded value to extract. | < | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | contained values. [para] The optional [arg start] index defaults to [const 0], i.e. the beginning of the string. It is the index of the first character of the bee-encoded value to extract. [call [cmd ::bee::decodeIndices] [arg string] [opt [arg endvar]] [opt [arg start]]] Takes the same arguments as [cmd ::bee::decode] and returns the same information in [arg endvar]. The result however is different. Instead of the tcl value contained in the [arg string] it returns a list describing the value with respect to type and location (indices for |
︙ | ︙ | |||
166 167 168 169 170 171 172 | bee-string. While the index information of the keys is unique enough, i.e. serviceable as keys, they are not easy to navigate when trying to find particular element. Using the actual keys makes this much easier. [list_end] [para] | < | 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | bee-string. While the index information of the keys is unique enough, i.e. serviceable as keys, they are not easy to navigate when trying to find particular element. Using the actual keys makes this much easier. [list_end] [para] [call [cmd ::bee::decodeChannel] [arg chan] \ [option -command] [arg cmdprefix] \ [opt [option -exact]] \ [opt "[option -prefix] [arg data]"] \ ] The command creates a decoder for a series of bee-values arriving on |
︙ | ︙ | |||
200 201 202 203 204 205 206 | [call [cmd cmdprefix] [method eof] [arg token]] The decoder has reached eof on the channel [arg chan]. No further invocations of the callback will be made after this. The channel has already been closed at the time of the call, and the [arg token] is not valid anymore as well. | < < | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | [call [cmd cmdprefix] [method eof] [arg token]] The decoder has reached eof on the channel [arg chan]. No further invocations of the callback will be made after this. The channel has already been closed at the time of the call, and the [arg token] is not valid anymore as well. [call [cmd cmdprefix] [method error] [arg token] [arg message]] The decoder encountered an error, which is not eof. For example a malformed bee-value. The [arg message] provides details about the error. The decoder token is in the same state as for eof, i.e. invalid. The channel however is kept open. [call [cmd cmdprefix] [method value] [arg token] [arg value]] The decoder received and successfully decoded a bee-value. The format of the equivalent tcl [arg value] is the same as returned by [cmd ::bee::decode]. The channel is still open and the decoder |
︙ | ︙ | |||
254 255 256 257 258 259 260 | [list_end] [para] [call [cmd ::bee::decodeCancel] [arg token]] This command cancels the decoder set up by [cmd ::bee::decodeChannel] and represented by the handle [arg token]. | < | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | [list_end] [para] [call [cmd ::bee::decodeCancel] [arg token]] This command cancels the decoder set up by [cmd ::bee::decodeChannel] and represented by the handle [arg token]. [call [cmd ::bee::decodePush] [arg token] [arg string]] This command appends the [arg string] to the internal decoder buffer. It is the runtime equivalent of the option [option -prefix] of [cmd ::bee::decodeChannel]. Use it to push data back into the decoder when the [method value] callback used data from the channel to |
︙ | ︙ | |||
338 339 340 341 342 343 344 | [list_end] [para] By wrapping an integer number into [const i]...[const e] the format makes sure that they are different from strings, which all begin with a digit. | < < | < < | < < < < < < < < | 332 333 334 335 336 337 338 339 340 341 342 343 | [list_end] [para] By wrapping an integer number into [const i]...[const e] the format makes sure that they are different from strings, which all begin with a digit. [section EXAMPLES] [vset CATEGORY bee] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench n 0.4] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench - Processing benchmark suites}] [category {Benchmark tools}] [require Tcl 8.2] [require bench [opt 0.4]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench n 0.4] [see_also bench_intro] [see_also bench_lang_intro] [see_also bench_lang_spec] [see_also bench_read] [see_also bench_wcsv] [see_also bench_wtext] [keywords benchmark] [keywords merging] [keywords normalization] [keywords performance] [keywords testing] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench - Processing benchmark suites}] [category {Benchmark tools}] [require Tcl 8.2] [require bench [opt 0.4]] [description] |
︙ | ︙ | |||
142 143 144 145 146 147 148 | [para] The benchmark results are in the format described in section [sectref {Result format}]. [para] The column is identified by an integer number. | < < < < | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | [para] The benchmark results are in the format described in section [sectref {Result format}]. [para] The column is identified by an integer number. [call [cmd ::bench::edit] [arg bench_result] [arg column] [arg newvalue]] This command renames a column in the specified benchmark result and returns the modified result. This means that the path of the Tcl interpreter in the identified column is changed to an arbitrary string. [para] The benchmark results are in the format described in section [sectref {Result format}]. [para] The column is identified by an integer number. [call [cmd ::bench::merge] [arg bench_result]...] This commands takes one or more benchmark results, merges them into one big result, and returns that as its result. [para] All benchmark results are in the format described in section [sectref {Result format}]. [call [cmd ::bench::norm] [arg bench_result] [arg column]] This command normalizes the timing results in the specified benchmark result and returns the modified result. This means that the cell values are not times anymore, but factors showing how much faster or slower the execution was relative to the baseline. |
︙ | ︙ | |||
193 194 195 196 197 198 199 | slower execution. [para] The benchmark results are in the format described in section [sectref {Result format}]. [para] The column is identified by an integer number. | < < | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | slower execution. [para] The benchmark results are in the format described in section [sectref {Result format}]. [para] The column is identified by an integer number. [call [cmd ::bench::out::raw] [arg bench_result]] This command formats the specified benchmark result for output to a file, socket, etc. This specific command does no formatting at all, it passes the input through unchanged. |
︙ | ︙ | |||
282 283 284 285 286 287 288 | [def BAD_RES] The benchmark could be executed, however the result from its body did not match the declared expectations. [list_end] [list_end] | | < | < < < < < < < < < < < < < < < < < | 287 288 289 290 291 292 293 294 295 296 | [def BAD_RES] The benchmark could be executed, however the result from its body did not match the declared expectations. [list_end] [list_end] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench introduction}] [category {Benchmark tools}] [description] [para] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_intro n 1.0] [see_also bench] [see_also bench_lang_faq] [see_also bench_lang_intro] [see_also bench_lang_spec] [keywords {bench language}] [keywords benchmark] [keywords performance] [keywords testing] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench introduction}] [category {Benchmark tools}] [description] [para] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | At the bottom level sits the package [package bench], providing the basic facilities to read and execute files containing benchmarks written in the bench language, and to manipulate benchmark results. [list_end] | < | < | < < < < < < < < < < < < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | At the bottom level sits the package [package bench], providing the basic facilities to read and execute files containing benchmarks written in the bench language, and to manipulate benchmark results. [list_end] [section {HISTORICAL NOTES}] This module and package have been derived from Jeff Hobbs' [syscmd tclbench] application for the benchmarking of the Tcl core and its ancestor [file runbench.tcl]. [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_lang_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_lang_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench language introduction}] [category {Benchmark tools}] [description] [para] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_lang_intro n 1.0] [see_also bench_intro] [see_also bench_lang_spec] [keywords {bench language}] [keywords benchmark] [keywords examples] [keywords performance] [keywords testing] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench language introduction}] [category {Benchmark tools}] [description] [para] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | } [example_end] This code declares a benchmark named [const LABEL] which measures the time it takes to assign a value to a variable. The Tcl code doing this assignment is the [option -body] of the benchmark. | < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | } [example_end] This code declares a benchmark named [const LABEL] which measures the time it takes to assign a value to a variable. The Tcl code doing this assignment is the [option -body] of the benchmark. [subsection {Pre- and postprocessing}] Our next example demonstrates how to declare [term initialization] and [term cleanup] code, i.e. code computing information for the use of the [option -body], and for releasing such resources after the measurement is done. |
︙ | ︙ | |||
59 60 61 62 63 64 65 | set key [lb]aes::Init ecb $k $i[rb] } -body { aes::Encrypt $key $p } [option -post] { aes::Final $key } [example_end] | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | set key [lb]aes::Init ecb $k $i[rb] } -body { aes::Encrypt $key $p } [option -post] { aes::Final $key } [example_end] [subsection {Advanced pre- and postprocessing}] Our last example again deals with initialization and cleanup code. To see the difference to the regular initialization and cleanup discussed in the last section it is necessary to know a bit more about how bench actually measures the speed of the the [option -body]. |
︙ | ︙ | |||
129 130 131 132 133 134 135 | } -body { struct::set include A x } [option -ipost] { unset A B } [example_end] | < < | < | < < < < < < < < | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | } -body { struct::set include A x } [option -ipost] { unset A B } [example_end] [section {FURTHER READING}] Now that this document has been digested the reader, assumed to be a [term writer] of benchmarks, he should be fortified enough to be able to understand the formal [term {bench language specfication}]. It will also serve as the detailed specification and cheat sheet for all available commands and their syntax. [para] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_lang_spec.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_lang_spec n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {bench language specification}] [category {Benchmark tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the bench language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the more informally written [term {bench language introduction}] first. | > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench_lang_spec n 1.0] [see_also bench_intro] [see_also bench_lang_intro] [keywords {bench language}] [keywords benchmark] [keywords performance] [keywords specification] [keywords testing] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {bench language specification}] [category {Benchmark tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the bench language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the more informally written [term {bench language introduction}] first. [section Commands] [list_begin definitions] [call [cmd bench_rm] [arg path]...] This command silently removes the files specified as its arguments and then returns the empty string as its result. The command is [emph trusted], there is no checking if the specified files are outside of whatever restricted area the benchmarks are run in. [call [cmd bench_tmpfile]] This command returns the path to a bench specific unique temporary file. The uniqueness means that multiple calls will return different paths. While the path may exist from previous runs, the command itself does [emph not] create aynthing. |
︙ | ︙ | |||
46 47 48 49 50 51 52 | [file /tmp] [def Windows] [var \$TEMP] [def {Anything else}] The current working directory. [list_end] [para] | < | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | [file /tmp] [def Windows] [var \$TEMP] [def {Anything else}] The current working directory. [list_end] [para] [call [cmd bench] [arg options]...] This command declares a single benchmark. Its result is the empty string. All parts of the benchmark are declared via options, and their values. The options can occur in any order. The accepted options are: |
︙ | ︙ | |||
119 120 121 122 123 124 125 | [emph before] any of the iterations of the body are run. Its responsibility is to create whatever resources are needed by the body to run without failing. [list_end] [list_end] | < | < < | < < < < < < < < < | 123 124 125 126 127 128 129 130 131 132 | [emph before] any of the iterations of the body are run. Its responsibility is to create whatever resources are needed by the body to run without failing. [list_end] [list_end] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_read.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::in n 0.1] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::in - Reading benchmark results}] [category {Benchmark tools}] [require Tcl 8.2] [require csv] [require bench::in [opt 0.1]] | > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::in n 0.1] [see_also bench] [see_also bench::out::csv] [see_also bench::out::text] [see_also bench_intro] [keywords benchmark] [keywords csv] [keywords formatting] [keywords {human readable}] [keywords parsing] [keywords performance] [keywords reading] [keywords testing] [keywords text] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::in - Reading benchmark results}] [category {Benchmark tools}] [require Tcl 8.2] [require csv] [require bench::in [opt 0.1]] |
︙ | ︙ | |||
43 44 45 46 47 48 49 | [list_end] [para] and automatically detects which format is used by the input file. [list_end] | | < | < < < < < < < < < < < < < < < < | 56 57 58 59 60 61 62 63 64 65 | [list_end] [para] and automatically detects which format is used by the input file. [list_end] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_wcsv.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::out::csv n 0.1.2] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::out::csv - Formatting benchmark results as CSV}] [category {Benchmark tools}] [require Tcl 8.2] [require bench::out::csv [opt 0.1.2]] [description] This package provides commands for fomatting of benchmark results into a CSV table importable by spread sheets. | > > > > > > > < < | < | < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::out::csv n 0.1.2] [see_also bench] [see_also bench::out::text] [keywords benchmark] [keywords csv] [keywords formatting] [keywords performance] [keywords testing] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::out::csv - Formatting benchmark results as CSV}] [category {Benchmark tools}] [require Tcl 8.2] [require bench::out::csv [opt 0.1.2]] [description] This package provides commands for fomatting of benchmark results into a CSV table importable by spread sheets. [para] A reader interested in the generation or processing of such results should go and read [term {bench - Processing benchmark suites}] instead. [para] If the bench language itself is the actual interest please start with the [term {bench language introduction}] and then proceed from there to the formal [term {bench language specification}]. [para] [section {PUBLIC API}] [list_begin definitions] [call [cmd ::bench::out::csv] [arg bench_result]] This command formats the specified benchmark result for output to a file, socket, etc. This specific command generates CSV data importable by spread sheets. [para] For other formatting styles see the packages [package bench] and [package bench::out::text] which provide commands to format benchmark results in raw form, or for human consumption, respectively. [list_end] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bench/bench_wtext.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::out::text n 0.1.2] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::out::text - Formatting benchmark results as human readable text}] [category {Benchmark tools}] [require Tcl 8.2] [require bench::out::text [opt 0.1.2]] [description] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bench::out::text n 0.1.2] [see_also bench] [see_also bench::out::csv] [keywords benchmark] [keywords formatting] [keywords {human readable}] [keywords performance] [keywords testing] [keywords text] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Benchmarking/Performance tools}] [titledesc {bench::out::text - Formatting benchmark results as human readable text}] [category {Benchmark tools}] [require Tcl 8.2] [require bench::out::text [opt 0.1.2]] [description] |
︙ | ︙ | |||
38 39 40 41 42 43 44 | For other formatting styles see the packages [package bench] and [package bench::out::csv] which provide commands to format benchmark results in raw form, or as importable CSV data, respectively. [list_end] | | < | < < < < < < < < < < < < < | 46 47 48 49 50 51 52 53 54 55 | For other formatting styles see the packages [package bench] and [package bench::out::csv] which provide commands to format benchmark results in raw form, or as importable CSV data, respectively. [list_end] [vset CATEGORY bench] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/bibtex/bibtex.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bibtex n 0.5] [copyright {2005 for documentation, Andreas Kupries <[email protected]>}] [moddesc {bibtex}] [titledesc {Parse bibtex files}] [category {Text processing}] [require Tcl 8.4] [require bibtex [opt 0.5]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin bibtex n 0.5] [keywords bibliography] [keywords bibtex] [keywords parsing] [keywords {text processing}] [copyright {2005 for documentation, Andreas Kupries <[email protected]>}] [moddesc {bibtex}] [titledesc {Parse bibtex files}] [category {Text processing}] [require Tcl 8.4] [require bibtex [opt 0.5]] [description] |
︙ | ︙ | |||
20 21 22 23 24 25 26 | bibliography. Depending on the options used to invoke it it will either return a token for the parser, or the parsed entries of the input bibliography. Instead of performing an immediate parse returning a predefined format the command can also enter an event-based parsing style where all relevant entries in the input are reported through callback commands, in the style of SAX. | < < | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | bibliography. Depending on the options used to invoke it it will either return a token for the parser, or the parsed entries of the input bibliography. Instead of performing an immediate parse returning a predefined format the command can also enter an event-based parsing style where all relevant entries in the input are reported through callback commands, in the style of SAX. [call [cmd ::bibtex::parse] [arg text]] In this form the command will assume that the specified [arg text] is a bibliography in BibTeX format, parse it, and then return a list containing one element per record found in the bibliography. Note that comments, string definitions, preambles, etc. will not show up in the result. Each element will be a list containing record type, bibliography key and record data, in this order. The record data will be a dictionary, its keys the keys of the record, with the associated values. [call [cmd ::bibtex::parse] \ [opt "[option -command] [arg cmd]"] \ [option -channel] [arg chan]] In this form the command will reads the bibliography from the specified Tcl channel [arg chan] and then returns the same data |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [list_end] [para] [emph Note] that the parser will [emph not] close the channel after it has exhausted it. This is still the responsibility of the user of the parser. | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | [list_end] [para] [emph Note] that the parser will [emph not] close the channel after it has exhausted it. This is still the responsibility of the user of the parser. [call [cmd ::bibtex::parse] \ [opt "[option -recordcommand] [arg recordcmd]"] \ [opt "[option -preamblecommand] [arg preamblecmd]"] \ [opt "[option -stringcommand] [arg stringcmd]"] \ [opt "[option -commentcommand] [arg commentcmd]"] \ [opt "[option -progresscommand] [arg progresscmd]"] \ |
︙ | ︙ | |||
103 104 105 106 107 108 109 | This callback is invoked whenever the parser detects a bibliography record in the input. Its arguments are the record type, the bibliography key for the record, and a dictionary containing the keys and values describing the record. Any string macros known to the parser have already been expanded. | < < < < < < < < | < < | < < < < < < < < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | This callback is invoked whenever the parser detects a bibliography record in the input. Its arguments are the record type, the bibliography key for the record, and a dictionary containing the keys and values describing the record. Any string macros known to the parser have already been expanded. [def "[cmd preamblecmd] [arg token] [arg preambletext]"] This callback is invoked whenever the parser detects an @preamble block in the input. The only additional argument is the text found in the preamble block. By default such entries are ignored. [def "[cmd stringcmd] [arg token] [arg stringdict]"] This callback is invoked whenever the parser detects an @string-based macro definition in the input. The argument is a dictionary with the macro names as keys and their replacement strings as values. By default such definitions are added to the parser state for use in future bibliography records. [def "[cmd commentcmd] [arg token] [arg commenttext]"] This callback is invoked whenever the parser detects a comment in the input. The only additional argument is the comment text. By default such entries are ignored. [def "[cmd progresscmd] [arg token] [arg percent]"] This callback is invoked during processing to tell the user about the progress which has been made. Its argument is the percentage of data processed, as integer number between [const 0] and [const 100]. In the case of incremental processing the perecentage will always be [const -1] as the total number of entries is not known beforehand. [list_end] [para] [call [cmd ::bibtex::wait] [arg token]] This command waits for the parser represented by the [arg token] to complete and then returns. The returned result is the empty string. [call [cmd ::bibtex::destroy] [arg token]] This command cleans up all internal state associated with the parser represented by the handle [arg token], effectively destroying it. This command can be called from within the parser callbacks to terminate processing. [call [cmd ::bibtex::addStrings] [arg token] [arg stringdict]] This command adds the macro definitions stored in the dictionary [arg stringdict] to the parser represented by the handle [arg token]. [para] The dictionary keys are the macro names and the values their replacement strings. This command has the correct signature for use as a [option -stringcommand] callback in an invokation of the command [cmd ::bibtex::parse]. [list_end] [vset CATEGORY bibtex] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/blowfish/blowfish.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin blowfish n 1.0.3] [copyright {2003, Pat Thoyts <[email protected]>}] [moddesc {Blowfish Block Cipher}] [titledesc {Implementation of the Blowfish block cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.4] [require blowfish [opt 1.0.4]] [description] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin blowfish n 1.0.3] [see_also 3des] [see_also des] [see_also rc4] [keywords {block cipher}] [keywords blowfish] [keywords cryptography] [keywords encryption] [keywords security] [copyright {2003, Pat Thoyts <[email protected]>}] [moddesc {Blowfish Block Cipher}] [titledesc {Implementation of the Blowfish block cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.4] [require blowfish [opt 1.0.4]] [description] |
︙ | ︙ | |||
97 98 99 100 101 102 103 | [call [cmd "::blowfish::Final"] [arg "Key"]] This should be called to clean up resources associated with [arg Key]. Once this function has been called the key may not be used again. [list_end] | < | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | [call [cmd "::blowfish::Final"] [arg "Key"]] This should be called to clean up resources associated with [arg Key]. Once this function has been called the key may not be used again. [list_end] [section "MODES OF OPERATION"] [list_begin definitions] [def "Electronic Code Book (ECB)"] ECB is the basic mode of all block ciphers. Each block is encrypted independently and so identical plain text will produce identical |
︙ | ︙ | |||
145 146 147 148 149 150 151 | [enum] Schneier, B. "Applied Cryptography, 2nd edition", 1996, ISBN 0-471-11709-9, pub. John Wiley & Sons. [list_end] | < < < | < < | < < < < < < < < | 152 153 154 155 156 157 158 159 160 161 162 163 164 | [enum] Schneier, B. "Applied Cryptography, 2nd edition", 1996, ISBN 0-471-11709-9, pub. John Wiley & Sons. [list_end] [section AUTHORS] Frank Pilhofer, Pat Thoyts [vset CATEGORY blowfish] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/cache/async.man.
1 2 3 4 5 6 | [manpage_begin cache::async n 0.3] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {In-memory caches}] [titledesc {Asynchronous in-memory cache}] [require Tcl 8.4] [require cache::async [opt 0.3]] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [manpage_begin cache::async n 0.3] [keywords asynchronous] [keywords cache] [keywords callback] [keywords synchronous] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {In-memory caches}] [titledesc {Asynchronous in-memory cache}] [require Tcl 8.4] [require cache::async [opt 0.3]] [description] This package provides objects which cache data in memory, and operate asynchronously with regard to request and responses. The objects are agnostic with regard to cache keys and values, and unknown methods are delegated to the provider of cached data. These two properties make it easy to use caches as a facade for any data provider. |
︙ | ︙ | |||
90 91 92 93 94 95 96 | Another important part of the cache's behaviour, as it is asynchronous it is possible that multiple [method get] requests are issued for the same [arg key] before it can respond. In that case the cache will issue only one data request to the provider, for the first of these, and suspend the others, and then notify all of them when the data becomes available. | < | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | Another important part of the cache's behaviour, as it is asynchronous it is possible that multiple [method get] requests are issued for the same [arg key] before it can respond. In that case the cache will issue only one data request to the provider, for the first of these, and suspend the others, and then notify all of them when the data becomes available. [call [arg objectName] [method set] [arg key] [arg value]] [call [arg objectName] [method unset] [arg key]] These two methods are provided to allow users of the cache to make keys known to the cache, as either having a [arg value], or as undefined. |
︙ | ︙ | |||
118 119 120 121 122 123 124 | [para] This also means that these methods invoke the [arg donecmd] of all [method get]-requests waiting for information about the modified [arg key]. | < < < | < < | < < < < < < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | [para] This also means that these methods invoke the [arg donecmd] of all [method get]-requests waiting for information about the modified [arg key]. [call [arg objectName] [method exists] [arg key]] This method queries the cache for knowledge about the [arg key] and returns a boolean value. The result is [const true] if the key is known, and [const false] otherwise. [call [arg objectName] [method clear] [opt [arg key]]] This method resets the state of either the specified [arg key] or of all keys known to the cache, making it unkown. This forces future [method get]-requests to reload the information from the provider. [list_end] [vset CATEGORY cache] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/clock/iso8601.man.
︙ | ︙ | |||
38 39 40 41 42 43 44 | [option -gmt], [option -locale], and [option -timezone] of the builtin command [cmd {clock scan}]. [list_end] | < | < < | < < < < < < < | 38 39 40 41 42 43 44 45 46 47 | [option -gmt], [option -locale], and [option -timezone] of the builtin command [cmd {clock scan}]. [list_end] [vset CATEGORY clock::iso8601] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/clock/rfc2822.man.
︙ | ︙ | |||
18 19 20 21 22 23 24 | This command parses an RFC2822 date string and returns the given date in seconds since epoch. An error is thrown if the command is unable to parse the date. [list_end] | < | < < | < < < < < < | 18 19 20 21 22 23 24 25 26 27 | This command parses an RFC2822 date string and returns the given date in seconds since epoch. An error is thrown if the command is unable to parse the date. [list_end] [vset CATEGORY clock::rfc2822] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/cmdline/cmdline.man.
1 2 3 4 | [manpage_begin cmdline n 1.3.3] [moddesc {Command line and option processing}] [titledesc {Procedures to process command lines and options.}] [category {Programming tools}] | > > > > > < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | [manpage_begin cmdline n 1.3.3] [keywords {argument processing}] [keywords argv] [keywords argv0] [keywords {cmdline processing}] [keywords {command line processing}] [moddesc {Command line and option processing}] [titledesc {Procedures to process command lines and options.}] [category {Programming tools}] [require Tcl 8.2] [require cmdline [opt 1.3.3]] [description] This package provides commands to parse command lines and options. [section {::argv handling}] One of the most common variables this package will be used with is [var ::argv], which holds the command line of the current application. This variable has a companion [var ::argc] which is initialized to the number of elements in [var ::argv] at the beginning of the application. [para] The commands in this package will [emph not] modify the [var ::argc] companion when called with [var ::argv]. Keeping the value consistent, if such is desired or required, is the responsibility of the caller. [section API] [list_begin definitions] [call [cmd ::cmdline::getopt] [arg argvVar] [arg optstring] [arg optVar] [arg valVar]] |
︙ | ︙ | |||
59 60 61 62 63 64 65 | [para] [arg valVar] refers to the variable to store either the value for the specified option into upon success or an error message in the case of failure. The stored value comes from the command line for .arg options, otherwise the value is 1. | < < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | [para] [arg valVar] refers to the variable to store either the value for the specified option into upon success or an error message in the case of failure. The stored value comes from the command line for .arg options, otherwise the value is 1. [call [cmd ::cmdline::getKnownOpt] [arg argvVar] [arg optstring] [arg optVar] [arg valVar]] Like [cmd ::cmdline::getopt], but ignores any unknown options in the input. [call [cmd ::cmdline::getoptions] [arg arglistVar] [arg optlist] [opt [arg usage]]] Processes the set of command line options found in the list variable named by [arg arglistVar] and fills in defaults for those not specified. This also generates an error message that lists the allowed flags if an incorrect flag is specified. The optional |
︙ | ︙ | |||
95 96 97 98 99 100 101 | The options [option -?], [option -help], and [option --] are implicitly understood. The first two abort option processing and force the generation of the usage message, whereas the the last aborts option processing without an error, leaving all arguments coming after for regular processing, even if starting with a dash. | < < < < < | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | The options [option -?], [option -help], and [option --] are implicitly understood. The first two abort option processing and force the generation of the usage message, whereas the the last aborts option processing without an error, leaving all arguments coming after for regular processing, even if starting with a dash. [para] The result of the command is a dictionary mapping all options to their values, be they user-specified or defaults. [call [cmd ::cmdline::getKnownOptions] [arg arglistVar] [arg optlist] [opt [arg usage]]] Like [cmd ::cmdline::getoptions], but ignores any unknown options in the input. [call [cmd ::cmdline::usage] [arg optlist] [opt [arg usage]]] Generates and returns an error message that lists the allowed flags. [arg optlist] is defined as for [cmd ::cmdline::getoptions]. The optional [arg usage]-argument contains a string to include in front of the generated message. If not present it defaults to "options:". [call [cmd ::cmdline::getfiles] [arg patterns] [arg quiet]] Given a list of file [arg patterns] this command computes the set of valid files. On windows, file globbing is performed on each argument. On Unix, only file existence is tested. If a file argument produces no valid files, a warning is optionally generated (set [arg quiet] to true). [para] This code also uses the full path for each file. If not given it prepends the current working directory to the filename. This ensures that these files will never conflict with files in a wrapped zip file. The last sentence refers to the pro-tools. [call [cmd ::cmdline::getArgv0]] This command returns the "sanitized" version of [arg argv0]. It will strip off the leading path and removes the extension ".bin". The latter is used by the pro-apps because they must be wrapped by a shell script. |
︙ | ︙ | |||
174 175 176 177 178 179 180 | This example, taken (and slightly modified) from the package [package fileutil], shows how to use cmdline. First, a list of options is created, then the 'args' list is passed to cmdline for processing. Subsequently, different options are checked to see if they have been passed to the script, and what their value is. | | < | < < < < < < < < < < | 168 169 170 171 172 173 174 175 176 177 | This example, taken (and slightly modified) from the package [package fileutil], shows how to use cmdline. First, a list of options is created, then the 'args' list is passed to cmdline for processing. Subsequently, different options are checked to see if they have been passed to the script, and what their value is. [vset CATEGORY cmdline] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/comm/comm.man.
1 2 3 4 5 6 7 | [manpage_begin comm n 4.6.2] [copyright {1995-1998 The Open Group. All Rights Reserved.}] [copyright {2003-2004 ActiveState Corporation.}] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Remote communication}] [titledesc {A remote communication facility for Tcl (8.3 and later)}] [category {Programming tools}] | > > > > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [manpage_begin comm n 4.6.2] [see_also send(n)] [keywords comm] [keywords communication] [keywords ipc] [keywords message] [keywords {remote communication}] [keywords {remote execution}] [keywords rpc] [keywords secure] [keywords send] [keywords socket] [keywords ssl] [keywords tls] [copyright {1995-1998 The Open Group. All Rights Reserved.}] [copyright {2003-2004 ActiveState Corporation.}] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Remote communication}] [titledesc {A remote communication facility for Tcl (8.3 and later)}] [category {Programming tools}] [require Tcl 8.3] [require comm [opt 4.6.2]] [description] [para] The [package comm] command provides an inter-interpreter remote |
︙ | ︙ | |||
213 214 215 216 217 218 219 | An automatically assigned channel [emph id] will change when this happens. Recycling the socket is done by invoking [cmd {::comm::comm abort}], which causes all active sends to terminate. | < | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | An automatically assigned channel [emph id] will change when this happens. Recycling the socket is done by invoking [cmd {::comm::comm abort}], which causes all active sends to terminate. [subsection {Id/port Assignments}] [para] [package comm] uses a TCP port for endpoint [emph id]. The [method interps] (or [method ids]) method merely lists all the TCP ports to which the channel is connected. By default, each channel's |
︙ | ︙ | |||
240 241 242 243 244 245 246 | As a special case, if the channel is configured with [option {-listen 0}], then it will not create a listening socket and will use an id of [const 0] for itself. Such a channel is only good for outgoing connections (although once a connection is established, it can carry send traffic in both directions). | < | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | As a special case, if the channel is configured with [option {-listen 0}], then it will not create a listening socket and will use an id of [const 0] for itself. Such a channel is only good for outgoing connections (although once a connection is established, it can carry send traffic in both directions). As another special case, if the channel is configured with [option {-silent 0}], then the listening side will ignore connection attempts where the protocol negotiation phase failed, instead of throwing an error. |
︙ | ︙ | |||
291 292 293 294 295 296 297 | environment for received scripts the event scripts associated with the various hooks will by default still be executed in the current interpreter. To change this use the option [option -events] to declare a list of the events whose scripts should be executed in the declared interpreter as well. The contents of this option are ignored if the communication channel is configured to execute received scripts in the current interpreter. | < | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | environment for received scripts the event scripts associated with the various hooks will by default still be executed in the current interpreter. To change this use the option [option -events] to declare a list of the events whose scripts should be executed in the declared interpreter as well. The contents of this option are ignored if the communication channel is configured to execute received scripts in the current interpreter. [subsection {Remote Interpreters}] [para] By default, each channel is restricted to accepting connections from the local system. This can be overridden by using the |
︙ | ︙ | |||
409 410 411 412 413 414 415 | [arg id]. An error return (via [cmd error]) will abort the connection attempt with the error. Example: [para] [example { % ::comm::comm hook connecting { if {[string match {*[02468]} $id]} { | | | 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 | [arg id]. An error return (via [cmd error]) will abort the connection attempt with the error. Example: [para] [example { % ::comm::comm hook connecting { if {[string match {*[02468]} $id]} { error "Can't connect to even ids" } } % ::comm::comm send 10000 puts ok Connect to remote failed: Can't connect to even ids % }] |
︙ | ︙ | |||
451 452 453 454 455 456 457 | [example { ::comm::comm hook incoming { if {[string match 127.0.0.1 $addr]} { error "I don't talk to myself" } } }] | < | 458 459 460 461 462 463 464 465 466 467 468 469 470 471 | [example { ::comm::comm hook incoming { if {[string match 127.0.0.1 $addr]} { error "I don't talk to myself" } } }] [def [const eval]] Variables: [var chan], [var id], [var cmd], and [var buffer]. [para] |
︙ | ︙ | |||
560 561 562 563 564 565 566 | pid is a no-no % ::comm::comm send [::comm::comm self] a A-OK }] [list_end] | < | 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | pid is a no-no % ::comm::comm send [::comm::comm self] a A-OK }] [list_end] [def [const reply]] Variables: [var chan], [var id], [var buffer], [var ret], and [var return()]. [para] This hook is invoked after collecting a complete reply script from a |
︙ | ︙ | |||
598 599 600 601 602 603 604 | [emph return(-errorcode)] [list_end] [para] Any of these may be the empty string. Modifying these four variables can change the return value, whereas modifying [arg buffer] has no effect. | < | 603 604 605 606 607 608 609 610 611 612 613 614 615 616 | [emph return(-errorcode)] [list_end] [para] Any of these may be the empty string. Modifying these four variables can change the return value, whereas modifying [arg buffer] has no effect. [def [const callback]] Variables: [var chan], [var id], [var buffer], [var ret], and [var return()]. [para] |
︙ | ︙ | |||
690 691 692 693 694 695 696 | tls::init -cafile /path/to/ca/cert -keyfile ... # Create secured comm channel ::comm::comm new SECURE -socketcmd tls::socket -listen 1 ... }] | < < < | 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 | tls::init -cafile /path/to/ca/cert -keyfile ... # Create secured comm channel ::comm::comm new SECURE -socketcmd tls::socket -listen 1 ... }] [para] The sections [sectref {Execution Environment}] and [sectref Callbacks] are also relevant to the security of the system, providing means to restrict the execution to a specific environment, perform additional authentication, and the like. [subsection {Blocking Semantics}] [para] There is one outstanding difference between [package comm] and |
︙ | ︙ | |||
1044 1045 1046 1047 1048 1049 1050 | [para] Added a new hook for reply messages. Reworked method invocation to avoid the use of comm:* procedures; this also cut the invocation time down by 40%. Documented [cmd {comm config}] (as this manual page still listed the defunct [cmd {comm init}]!) | < | 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 | [para] Added a new hook for reply messages. Reworked method invocation to avoid the use of comm:* procedures; this also cut the invocation time down by 40%. Documented [cmd {comm config}] (as this manual page still listed the defunct [cmd {comm init}]!) [def 3.3] Some minor bugs were corrected and the documentation was cleaned up. Added some examples for hooks. The return semantics of the [cmd eval] hook were changed. [def 3.2] |
︙ | ︙ | |||
1110 1111 1112 1113 1114 1115 1116 | John LoVerso, [email protected] [para] [emph http://www.opengroup.org/~loverso/tcl-tk/#comm] | < < | 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 | John LoVerso, [email protected] [para] [emph http://www.opengroup.org/~loverso/tcl-tk/#comm] [section License] Please see the file [emph comm.LICENSE] that accompanied this source, or [uri http://www.opengroup.org/www/dist_client/caubweb/COPYRIGHT.free.html]. [para] This license for [package comm], new as of version 3.2, allows it to be used for free, without any licensing fee or royalty. [section Bugs] [list_begin itemized] [item] If there is a failure initializing a channel created with [cmd {::comm::comm new}], then the channel should be destroyed. |
︙ | ︙ | |||
1176 1177 1178 1179 1180 1181 1182 | canonical hostnames. This requires fixes to Tcl to resolve hostnames! [list_end] [para] This man page is bigger than the source file. | < | 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 | canonical hostnames. This requires fixes to Tcl to resolve hostnames! [list_end] [para] This man page is bigger than the source file. [section {On Using Old Versions Of Tcl}] [para] Tcl7.5 under Windows contains a bug that causes the interpreter to hang when EOF is reached on non-blocking sockets. This can be triggered with a command such as this: |
︙ | ︙ | |||
1201 1202 1203 1204 1205 1206 1207 | Tcl7.6 on the Mac contains several bugs. It is recommended you use at least Tcl7.6p2. [para] Tcl8.0 on UNIX contains a socket bug that can crash Tcl. It is recommended you use Tcl8.0p1 (or Tcl7.6p2). | < < | 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 | Tcl7.6 on the Mac contains several bugs. It is recommended you use at least Tcl7.6p2. [para] Tcl8.0 on UNIX contains a socket bug that can crash Tcl. It is recommended you use Tcl8.0p1 (or Tcl7.6p2). [section {Related Work}] [para] Tcl-DP provides an RPC-based remote execution interface, but is a compiled Tcl extension. See [uri http://www.cs.cornell.edu/Info/Projects/zeno/Projects/Tcl-DP.html]. [para] Michael Doyle <[email protected]> has code that implements the Tcl-DP RPC interface using standard Tcl sockets, much like [package comm]. [para] Andreas Kupries <[email protected]> uses [package comm] and has built a simple nameserver as part of his Pool library. See [uri http://www.purl.org/net/akupries/soft/pool/index.htm]. [vset CATEGORY comm] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/comm/comm_wire.man.
1 2 3 4 5 | [manpage_begin comm_wire n 3] [copyright {2005 Docs. Andreas Kupries <[email protected]>}] [moddesc {Remote communication}] [titledesc {The comm wire protocol}] [category {Programming tools}] | > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin comm_wire n 3] [see_also comm] [keywords comm] [keywords communication] [keywords ipc] [keywords message] [keywords {remote communication}] [keywords {remote execution}] [keywords rpc] [keywords socket] [copyright {2005 Docs. Andreas Kupries <[email protected]>}] [moddesc {Remote communication}] [titledesc {The comm wire protocol}] [category {Programming tools}] [require comm] [description] [para] The [package comm] command provides an inter-interpreter remote execution facility much like Tk's [cmd send(n)], except that it uses |
︙ | ︙ | |||
67 68 69 70 71 72 73 | (*) And IMHO it should be done 90% of the time, just to get proper security. Note that just using a safe interp is not quite enough, as it still allows arbitrary scripts. The interp has to contains aliases for the wanted commands, and only them for us to get a large security wall. }] | < | < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | (*) And IMHO it should be done 90% of the time, just to get proper security. Note that just using a safe interp is not quite enough, as it still allows arbitrary scripts. The interp has to contains aliases for the wanted commands, and only them for us to get a large security wall. }] [section {Wire Protocol Version 3}] [subsection {Basic Layer}] The basic encoding for [emph all] data is UTF-8. Because of this binary data, including the NULL character, can be sent over the wire as is, without the need for armoring it. [subsection {Basic Message Layer}] On top of the [sectref {Basic Layer}] we have a [term {message oriented}] exchange of data. The totality of all characters written to the channel is a Tcl list, with each element a separate [term message], each itself a list. The messages in the overall list are separated by EOL. Note that EOL characters can occur within the list as well. They can be distinguished from the message-separating EOL by the fact that the data from the beginning up to their location is not a valid Tcl list. [para] EOL is signaled through the linefeed character, i.e [const LF], or, hex [const 0x0a]. This is following the unix convention for line-endings. [para] As a list each message is composed of [term words]. Their meaning depends on when the message was sent in the overall exchange. This is described in the upcoming sections. [subsection {Negotiation Messages - Initial Handshake} ih] The command protocol is defined like this: [list_begin itemized] [item] |
︙ | ︙ | |||
142 143 144 145 146 147 148 | fconfigure -translation lf However the handshake response containing the accepted version is sent before commNewComm is called (in commIncoming). | < < | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | fconfigure -translation lf However the handshake response containing the accepted version is sent before commNewComm is called (in commIncoming). NOTE 2: This inconsistency has been fixed locally already, but not been committed yet. }] [list_end] [subsection {Script/Command Messages}] All messages coming after the [sectref ih {initial handshake}] consist of three words. These are an instruction, a transaction id, and the payload. The valid instructions are shown below. The transaction ids are used by the client to match any incoming replies to the command messages it sent. This means that a server has to copy the transaction id from a command message to the reply it sends for that message. [list_begin definitions] [def [const send]] [def [const async]] [def [const command]] |
︙ | ︙ | |||
209 210 211 212 213 214 215 | [para] [example { send [list array get $the_variable] }] [para] | < | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | [para] [example { send [list array get $the_variable] }] [para] These three instructions all invoke the script on the server side. Their difference is in the treatment of result values, and thus determines if a reply is expected. [list_begin definitions] [def [const send]] |
︙ | ︙ | |||
250 251 252 253 254 255 256 | [example { {reply 1 {return -code 0 {}}} {reply 1 {return -code 0 {osVersion 2.4.21-99-default byteOrder littleEndian machine i686 platform unix os Linux user andreask wordSize 4}}} }] [list_end] | < < < < | < < | < < < < < < < | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | [example { {reply 1 {return -code 0 {}}} {reply 1 {return -code 0 {osVersion 2.4.21-99-default byteOrder littleEndian machine i686 platform unix os Linux user andreask wordSize 4}}} }] [list_end] [comment { Socket Miscellanea ------------------ It is possible to have two sockets between a client and a server. This happens if both sides connected to each other at the same time. Current protocol versions ------------------------- V2 V3 This is preferred version and uses UTF 8 encoding. This is actually the only version which will work IIU the code right. Because the server part of comm will send the version reply if and only if version 3 was negotiated. IOW if v2 is used the client will not see a version reply during the negotiation handshake. }] [vset CATEGORY comm] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/control/control.man.
1 2 3 4 5 6 7 8 | [manpage_begin control n 0.1.3] [moddesc {Tcl Control Flow Commands}] [titledesc {Procedures for control flow structures.}] [category {Programming tools}] [require Tcl 8.2] [require control [opt 0.1.3]] [description] [para] | > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [manpage_begin control n 0.1.3] [see_also break] [see_also continue] [see_also expr] [see_also if] [see_also join] [see_also namespace] [see_also return] [see_also string] [see_also while] [keywords assert] [keywords control] [keywords do] [keywords flow] [keywords no-op] [keywords structure] [moddesc {Tcl Control Flow Commands}] [titledesc {Procedures for control flow structures.}] [category {Programming tools}] [require Tcl 8.2] [require control [opt 0.1.3]] [description] [para] |
︙ | ︙ | |||
141 142 143 144 145 146 147 | % proc b {} {control::do {return -code error b} while 1} % catch a 1 % catch b 0 }] | < | < < | < < < < < < < < < | 156 157 158 159 160 161 162 163 164 165 | % proc b {} {control::do {return -code error b} while 1} % catch a 1 % catch b 0 }] [vset CATEGORY control] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/coroutine/coro_auto.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin coroutine::auto n 1] [copyright {2010-2011 Andreas Kupries <[email protected]>}] [moddesc {Coroutine utilities}] [category Coroutine] [titledesc {Automatic event and IO coroutine awareness}] [require Tcl 8.6] [require coroutine::auto 1.1.1] [require coroutine 1.1] [description] | > > > > > > > > > > > > < < < | < < | < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin coroutine::auto n 1] [keywords after] [keywords channel] [keywords coroutine] [keywords events] [keywords exit] [keywords gets] [keywords global] [keywords {green threads}] [keywords read] [keywords threads] [keywords update] [keywords vwait] [copyright {2010-2011 Andreas Kupries <[email protected]>}] [moddesc {Coroutine utilities}] [category Coroutine] [titledesc {Automatic event and IO coroutine awareness}] [require Tcl 8.6] [require coroutine::auto 1.1.1] [require coroutine 1.1] [description] The [package coroutine::auto] package provides no commands or other directly visible functionality. Built on top of the package [package coroutine], it intercepts various builtin commands of the Tcl core to make any code using them coroutine-oblivious, i.e. able to run inside and outside of a coroutine without changes. [para] The commands so affected by this package are [list_begin definitions] [def [cmd after]] [def [cmd exit]] [def [cmd gets]] [def [cmd global]] [def [cmd read]] [def [cmd update]] [def [cmd vwait]] [list_end] [vset CATEGORY coroutine] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/coroutine/tcllib_coroutine.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin coroutine n 1] [copyright {2010-2011 Andreas Kupries <[email protected]>}] [moddesc {Coroutine utilities}] [category Coroutine] [titledesc {Coroutine based event and IO handling}] [require Tcl 8.6] [require coroutine 1.1] [description] | > > > > > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin coroutine n 1] [keywords after] [keywords channel] [keywords coroutine] [keywords events] [keywords exit] [keywords gets] [keywords global] [keywords {green threads}] [keywords read] [keywords threads] [keywords update] [keywords vwait] [copyright {2010-2011 Andreas Kupries <[email protected]>}] [moddesc {Coroutine utilities}] [category Coroutine] [titledesc {Coroutine based event and IO handling}] [require Tcl 8.6] [require coroutine 1.1] [description] The [package coroutine] package provides coroutine-aware implementations of various event- and channel related commands. It can be in multiple modes: [list_begin enumerated] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | A more agressive form of making code coroutine-oblivious than point 2 above is available through the package [package coroutine::auto], which intercepts the relevant builtin commands and changes their implementation dependending on the context they are run in, i.e. inside or outside of a coroutine. | < < < < < < < < < < | < | < < < < < < < < < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | A more agressive form of making code coroutine-oblivious than point 2 above is available through the package [package coroutine::auto], which intercepts the relevant builtin commands and changes their implementation dependending on the context they are run in, i.e. inside or outside of a coroutine. [section API] All the commands listed below are synchronous with respect to the coroutine invoking them, i.e. this coroutine blocks until the result is available. The overall eventloop is not blocked however. [list_begin definitions] [call [cmd {coroutine::util after}] [arg delay]] This command delays the coroutine invoking it by [arg delay] milliseconds. [call [cmd {coroutine::util await}] [arg varname]...] This command is an extension form of the [cmd {coroutine::util vwait}] command (see below) which waits on a write to one of many named namespace variables. [call [cmd {coroutine::util create}] [arg arg]...] This command creates a new coroutine with an automatically assigned name and causes it to run the code specified by the arguments. [call [cmd {coroutine::util exit}] [opt [arg status]]] This command exits the current coroutine, causing it to return [arg status]. If no status was specified the default [arg 0] is returned. [call [cmd {coroutine::util gets}] [arg chan] [opt [arg varname]]] This command reads a line from the channel [arg chan] and returns it either as its result, or, if a [arg varname] was specified, writes it to the named variable and returns the number of characters read. [call [cmd {coroutine::util global}] [arg varname]...] This command imports the named global variables of the coroutine into the current scope. From the technical point of view these variables reside in level [const #1] of the Tcl stack. I.e. these are not the regular global variable in to the global namespace, and each coroutine can have their own set, independent of all others. [call [cmd {coroutine::util read}] [option -nonewline] [arg chan] [opt [arg n]]] This command reads [arg n] characters from the channel [arg chan] and returns them as its result. If [arg n] is not specified the command will read the channel until EOF is reached. [call [cmd {coroutine::util update}] [opt [const idletasks]]] This command causes the coroutine invoking it to run pending events or idle handlers before proceeding. [call [cmd {coroutine::util vwait}] [arg varname]] This command causes the coroutine calling it to wait for a write to the named namespace variable [arg varname]. [list_end] [vset CATEGORY coroutine] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/counter/counter.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin counter n 2.0.4] [moddesc {Counters and Histograms}] [titledesc {Procedures for counters and histograms}] [category {Data structures}] [require Tcl 8] [require counter [opt 2.0.4]] [description] [para] The [package counter] package provides a counter facility and can compute statistics and histograms over the collected data. [list_begin definitions] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin counter n 2.0.4] [keywords counting] [keywords histogram] [keywords statistics] [keywords tallying] [moddesc {Counters and Histograms}] [titledesc {Procedures for counters and histograms}] [category {Data structures}] [require Tcl 8] [require counter [opt 2.0.4]] [description] [para] The [package counter] package provides a counter facility and can compute statistics and histograms over the collected data. [list_begin definitions] [call [cmd ::counter::init] [arg {tag args}]] This defines a counter with the name [arg tag]. The [arg args] determines the characteristics of the counter. The [arg args] are [list_begin definitions] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | keeps all time-based histograms in sync, so the first [arg secsPerMinute] value seen by the package is used for all subsequent time-based histograms. [list_end] | < < < < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | keeps all time-based histograms in sync, so the first [arg secsPerMinute] value seen by the package is used for all subsequent time-based histograms. [list_end] [call [cmd ::counter::count] [arg tag] [opt [arg delta]] [opt [arg instance]]] Increment the counter identified by [arg tag]. The default increment is 1, although you can increment by any value, integer or real, by specifying [arg delta]. You must declare each counter with [cmd ::counter::init] to define the characteristics of counter before you start to use it. If the counter type is [option -group], then the counter identified by [arg instance] is incremented. [call [cmd ::counter::start] [arg {tag instance}]] Record the starting time of an interval. The [arg tag] is the name of the counter defined as a [option -hist] value-based histogram. The [arg instance] is used to distinguish this interval from any other intervals that might be overlapping this one. [call [cmd ::counter::stop] [arg {tag instance}]] Record the ending time of an interval. The delta time since the corresponding [cmd ::counter::start] call for [arg instance] is recorded in the histogram identified by [arg tag]. [call [cmd ::counter::get] [arg {tag args}]] Return statistics about a counter identified by [arg tag]. The [arg args] determine what value to return: |
︙ | ︙ | |||
169 170 171 172 173 174 175 | Return an array get of the array used to store the counter. This includes the total, the number of samples (N), and any type-specific information. This does not include the histogram array. [list_end] | < < < | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | Return an array get of the array used to store the counter. This includes the total, the number of samples (N), and any type-specific information. This does not include the histogram array. [list_end] [call [cmd ::counter::exists] [arg tag]] Returns 1 if the counter is defined. [call [cmd ::counter::names]] Returns a list of all counters defined. [call [cmd ::counter::histHtmlDisplay] [arg {tag args}]] Generate HTML to display a histogram for a counter. The [arg args] control the format of the display. They are: [list_begin definitions] |
︙ | ︙ | |||
243 244 245 246 247 248 249 | [call [cmd ::counter::reset] [arg {tag args}]] Resets the counter with the name [arg tag] to an initial state. The [arg args] determine the new characteristics of the counter. They have the same meaning as described for [cmd ::counter::init]. | < < < | < < | < < < < < < < < | 239 240 241 242 243 244 245 246 247 248 249 250 | [call [cmd ::counter::reset] [arg {tag args}]] Resets the counter with the name [arg tag] to an initial state. The [arg args] determine the new characteristics of the counter. They have the same meaning as described for [cmd ::counter::init]. [list_end] [vset CATEGORY counter] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/crc/cksum.man.
1 2 3 4 5 6 7 8 | [manpage_begin cksum n 1.1.3] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Calculate a cksum(1) compatible checksum}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require cksum [opt 1.1.3]] [description] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [manpage_begin cksum n 1.1.3] [see_also crc32(n)] [see_also sum(n)] [keywords checksum] [keywords cksum] [keywords crc] [keywords crc32] [keywords {cyclic redundancy check}] [keywords {data integrity}] [keywords security] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Calculate a cksum(1) compatible checksum}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require cksum [opt 1.1.3]] [description] |
︙ | ︙ | |||
67 68 69 70 71 72 73 | [call [cmd "::crc::CksumInit"]] Begins a new cksum context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required. [call [cmd "::crc::CksumUpdate"] [arg "token"] [arg "data"]] | | | < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | [call [cmd "::crc::CksumInit"]] Begins a new cksum context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required. [call [cmd "::crc::CksumUpdate"] [arg "token"] [arg "data"]] Add data to the checksum identified by token. Calling [emph {CksumUpdate $token "abcd"}] is equivalent to calling [emph {CksumUpdate $token "ab"}] followed by [emph {CksumUpdate $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::crc::CksumFinal"] [arg "token"]] Returns the checksum value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a 32 bit integer value. |
︙ | ︙ | |||
110 111 112 113 114 115 116 | % set tok [crc::CksumInit] % crc::CksumUpdate $tok "Hello, " % crc::CksumUpdate $tok "World!" % crc::CksumFinal $tok 2609532967 }] | < < < | < < | < < < < < < < < | 118 119 120 121 122 123 124 125 126 127 128 129 130 | % set tok [crc::CksumInit] % crc::CksumUpdate $tok "Hello, " % crc::CksumUpdate $tok "World!" % crc::CksumFinal $tok 2609532967 }] [section AUTHORS] Pat Thoyts [vset CATEGORY crc] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/crc/crc16.man.
1 2 3 4 5 6 7 8 | [manpage_begin crc16 n 1.1.2] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Perform a 16bit Cyclic Redundancy Check}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require crc16 [opt 1.1.2]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin crc16 n 1.1.2] [see_also cksum(n)] [see_also crc32(n)] [see_also sum(n)] [keywords checksum] [keywords cksum] [keywords crc] [keywords crc16] [keywords crc32] [keywords {cyclic redundancy check}] [keywords {data integrity}] [keywords security] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Perform a 16bit Cyclic Redundancy Check}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require crc16 [opt 1.1.2]] [description] |
︙ | ︙ | |||
119 120 121 122 123 124 125 | [para] [example { % crc::crc16 -file crc16.tcl 51675 }] | < < | < < | < < < < < < < < | 130 131 132 133 134 135 136 137 138 139 140 141 142 | [para] [example { % crc::crc16 -file crc16.tcl 51675 }] [section AUTHORS] Pat Thoyts [vset CATEGORY crc] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/crc/crc32.man.
1 2 3 4 5 6 7 8 | [manpage_begin crc32 n 1.3] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Perform a 32bit Cyclic Redundancy Check}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require crc32 [opt 1.3]] [description] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [manpage_begin crc32 n 1.3] [see_also cksum(n)] [see_also crc16(n)] [see_also sum(n)] [keywords checksum] [keywords cksum] [keywords crc] [keywords crc32] [keywords {cyclic redundancy check}] [keywords {data integrity}] [keywords security] [copyright {2002, Pat Thoyts}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Perform a 32bit Cyclic Redundancy Check}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require crc32 [opt 1.3]] [description] |
︙ | ︙ | |||
62 63 64 65 66 67 68 | structures without first converting the whole structure into a string. The CRC of the previous member can be used as the seed for calculating the CRC of the next member. Note that the crc32 algorithm includes a final XOR step. If incremental processing is desired then this must be undone before using the output of the algorithm as the seed for further | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | structures without first converting the whole structure into a string. The CRC of the previous member can be used as the seed for calculating the CRC of the next member. Note that the crc32 algorithm includes a final XOR step. If incremental processing is desired then this must be undone before using the output of the algorithm as the seed for further processing. A simpler alternative is to use the [sectref {PROGRAMMING INTERFACE}] which is intended for this mode of operation. [list_end] [section {PROGRAMMING INTERFACE}] |
︙ | ︙ | |||
87 88 89 90 91 92 93 | [call [cmd "::crc::Crc32Init"] [opt [arg "seed"]]] Begins a new CRC32 context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required. [call [cmd "::crc::Crc32Update"] [arg "token"] [arg "data"]] | | | < | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | [call [cmd "::crc::Crc32Init"] [opt [arg "seed"]]] Begins a new CRC32 context. Returns a token ID that must be used for the remaining functions. An optional seed may be specified if required. [call [cmd "::crc::Crc32Update"] [arg "token"] [arg "data"]] Add data to the checksum identified by token. Calling [emph {Crc32Update $token "abcd"}] is equivalent to calling [emph {Crc32Update $token "ab"}] followed by [emph {Crc32Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::crc::Crc32Final"] [arg "token"]] Returns the checksum value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a 32 bit integer value. |
︙ | ︙ | |||
130 131 132 133 134 135 136 | % set tok [crc::Crc32Init] % crc::Crc32Update $tok "Hello, " % crc::Crc32Update $tok "World!" % crc::Crc32Final $tok 3964322768 }] | < < | < < | < < < < < < < < | 139 140 141 142 143 144 145 146 147 148 149 150 151 | % set tok [crc::Crc32Init] % crc::Crc32Update $tok "Hello, " % crc::Crc32Update $tok "World!" % crc::Crc32Final $tok 3964322768 }] [section AUTHORS] Pat Thoyts [vset CATEGORY crc] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/crc/sum.man.
1 2 3 4 5 6 7 8 | [manpage_begin sum n 1.1.0] [copyright {2002, Pat Thoyts <[email protected]>}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Calculate a sum(1) compatible checksum}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sum [opt 1.1.0]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin sum n 1.1.0] [see_also cksum(n)] [see_also crc32(n)] [see_also sum(1)] [keywords checksum] [keywords cksum] [keywords crc] [keywords crc32] [keywords {cyclic redundancy check}] [keywords {data integrity}] [keywords security] [keywords sum] [copyright {2002, Pat Thoyts <[email protected]>}] [moddesc {Cyclic Redundancy Checks}] [titledesc {Calculate a sum(1) compatible checksum}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sum [opt 1.1.0]] [description] |
︙ | ︙ | |||
84 85 86 87 88 89 90 | [para] [example { % crc::sum -file sum.tcl 13392 }] | < < | < < | < < < < < < < < | 95 96 97 98 99 100 101 102 103 104 105 106 107 | [para] [example { % crc::sum -file sum.tcl 13392 }] [section AUTHORS] Pat Thoyts [vset CATEGORY crc] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/csv/csv.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin csv n 0.8] [copyright {2002-2013 Andreas Kupries <[email protected]>}] [moddesc {CSV processing}] [titledesc {Procedures to handle CSV data.}] [category {Text processing}] [require Tcl 8.4] [require csv [opt 0.8]] [description] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*-}] [manpage_begin csv n 0.8] [see_also matrix] [see_also queue] [keywords csv] [keywords matrix] [keywords package] [keywords queue] [keywords tcllib] [copyright {2002-2013 Andreas Kupries <[email protected]>}] [moddesc {CSV processing}] [titledesc {Procedures to handle CSV data.}] [category {Text processing}] [require Tcl 8.4] [require csv [opt 0.8]] [description] |
︙ | ︙ | |||
103 104 105 106 107 108 109 | [para] If the option [option -alternate] is specified a slightly different syntax is used to parse the input. This syntax is explained below, in the section [sectref FORMAT]. | < | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | [para] If the option [option -alternate] is specified a slightly different syntax is used to parse the input. This syntax is explained below, in the section [sectref FORMAT]. [call [cmd ::csv::split2matrix] [opt [option -alternate]] [arg "m line"] "{[arg sepChar] ,} {[arg expand] none}"] The same as [cmd ::csv::split], but appends the resulting list as a new row to the matrix [arg m], using the method [cmd "add row"]. The expansion mode specified via [arg expand] determines how the command handles a matrix with less columns than contained in [arg line]. The allowed modes are: |
︙ | ︙ | |||
159 160 161 162 163 164 165 | into the channel [arg chan]. [list_end] [section FORMAT] [para] | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | into the channel [arg chan]. [list_end] [section FORMAT] [para] The format of regular CSV files is specified as [list_begin enumerated] [enum] Each record of a csv file (comma-separated values, as exported e.g. by Excel) is a set of ASCII values separated by ",". For other languages it may be ";" however, although this is not important for this case as |
︙ | ︙ | |||
231 232 233 234 235 236 237 | c) Mary says "Hello, I am Mary" d) (the empty string) }] instead. As can be seen only item (d) is different, now the empty string instead of a ". | | < | < < < < < < < < < < < < | 237 238 239 240 241 242 243 244 245 246 | c) Mary says "Hello, I am Mary" d) (the empty string) }] instead. As can be seen only item (d) is different, now the empty string instead of a ". [vset CATEGORY csv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/debug/debug.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug n 1] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - core}] [category {debugging, tracing, and logging}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug n 1] [keywords debug] [keywords log] [keywords narrative] [keywords trace] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - core}] [category {debugging, tracing, and logging}] [require Tcl 8.5] [require debug [opt 1]] [description] Debugging areas of interest are represented by 'tags' which have independently settable levels of interest (an integer, higher is more detailed). |
︙ | ︙ | |||
36 37 38 39 40 41 42 | [para] The actually printed text consists of not only the [arg message], but also global and tag-specific prefix and suffix, should they exist, with each line in the message having the specified headers and trailers. [para] All these parts are [cmd subst]ableTcl scripts, which are substituted once per message before assembly. | < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | [para] The actually printed text consists of not only the [arg message], but also global and tag-specific prefix and suffix, should they exist, with each line in the message having the specified headers and trailers. [para] All these parts are [cmd subst]ableTcl scripts, which are substituted once per message before assembly. [comment {= = == === ===== ======== ============= =====================}] [call [cmd debug] [method 2array]] This method returns a dictionary mapping the names of all debug tags currently known to the package to their state and log level. The latter are encoded in a single numeric value, where a negative number |
︙ | ︙ | |||
212 213 214 215 216 217 218 | have the same actual trailing text. [para] The result of the method is the specified text. [comment {= = == === ===== ======== ============= =====================}] [list_end] | < | < < | < < < < < < | 214 215 216 217 218 219 220 221 222 223 | have the same actual trailing text. [para] The result of the method is the specified text. [comment {= = == === ===== ======== ============= =====================}] [list_end] [vset CATEGORY debug] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/debug/debug_caller.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::caller n 1] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - caller}] [category {debugging, tracing, and logging}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::caller n 1] [keywords debug] [keywords log] [keywords narrative] [keywords trace] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - caller}] [category {debugging, tracing, and logging}] [require Tcl 8.5] [require debug::caller [opt 1]] [description] [para] [section API] |
︙ | ︙ | |||
23 24 25 26 27 28 29 | [para] Beyond that it contains code recognizing the various internal forms of method calls generated by the [package snit] OO system and rewrites these to their original form, for better readability. [list_end] | < | < < | < < < < < < | 26 27 28 29 30 31 32 33 34 35 | [para] Beyond that it contains code recognizing the various internal forms of method calls generated by the [package snit] OO system and rewrites these to their original form, for better readability. [list_end] [vset CATEGORY debug] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/debug/debug_heartbeat.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::heartbeat n 1] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - heartbeat}] [category {debugging, tracing, and logging}] | > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::heartbeat n 1] [keywords debug] [keywords heartbeat] [keywords log] [keywords narrative] [keywords trace] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - heartbeat}] [category {debugging, tracing, and logging}] [require Tcl 8.5] [require debug [opt 1]] [description] [para] [section API] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | [para] The message produced by the heartbeat contains a sequence counter and the time in milliseconds since the last beat, thus providing insight into timing variationsn and deviations from the nominal [arg delta]. [list_end] | < | < < | < < < < < < | 32 33 34 35 36 37 38 39 40 41 | [para] The message produced by the heartbeat contains a sequence counter and the time in milliseconds since the last beat, thus providing insight into timing variationsn and deviations from the nominal [arg delta]. [list_end] [vset CATEGORY debug] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/debug/debug_timestamp.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::timestamp n 1] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - timestamping}] [category {debugging, tracing, and logging}] | > > > > > < < | < < | < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin debug::timestamp n 1] [keywords debug] [keywords log] [keywords narrative] [keywords timestamps] [keywords trace] [copyright {200?, Colin McCormack, Wub Server Utilities}] [copyright {2012, Andreas Kupries <[email protected]>}] [moddesc {debug narrative}] [titledesc {debug narrative - timestamping}] [category {debugging, tracing, and logging}] [require Tcl 8.5] [require debug [opt 1]] [description] [para] [section API] [list_begin definitions] [call [cmd debug] [method timestamp]] This method returns millisecond timing information since a baseline or last call, making it useful in a tag-specific prefix to automatically provide caller information for all uses of the tag. Or in a message, when only specific places need such detail. [list_end] [vset CATEGORY debug] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/des/des.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin des n 1.1] [copyright {2005, Pat Thoyts <[email protected]>}] [moddesc {Data Encryption Standard (DES)}] [titledesc {Implementation of the DES and triple-DES ciphers}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require des 1.1] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin des n 1.1] [see_also aes(n)] [see_also blowfish(n)] [see_also md5(n)] [see_also rc4(n)] [see_also sha1(n)] [keywords 3DES] [keywords {block cipher}] [keywords {data integrity}] [keywords DES] [keywords encryption] [keywords security] [copyright {2005, Pat Thoyts <[email protected]>}] [moddesc {Data Encryption Standard (DES)}] [titledesc {Implementation of the DES and triple-DES ciphers}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require des 1.1] [description] |
︙ | ︙ | |||
17 18 19 20 21 22 23 | superceeded by AES but is in common use in many protocols. [para] The tcllib implementation of DES and 3DES uses an implementation by Mac Cody and is available as a separate download from [lb]2[rb]. For anyone concerned about the details of exporting this code please see | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | superceeded by AES but is in common use in many protocols. [para] The tcllib implementation of DES and 3DES uses an implementation by Mac Cody and is available as a separate download from [lb]2[rb]. For anyone concerned about the details of exporting this code please see the TclDES web pages. The tcllib specific code is a wrapper to the TclDES API that presents same API for the DES cipher as for other ciphers in the library. [section "COMMANDS"] [list_begin definitions] [call [cmd "::DES::des"] \ |
︙ | ︙ | |||
52 53 54 55 56 57 58 | In DES only 56 bits of key data are used. The highest bit from each byte is discarded. [para] The [arg -mode] and [arg -dir] options are optional and default to cbc mode and encrypt respectively. The initialization vector [arg -iv] | | | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | In DES only 56 bits of key data are used. The highest bit from each byte is discarded. [para] The [arg -mode] and [arg -dir] options are optional and default to cbc mode and encrypt respectively. The initialization vector [arg -iv] takes an 8 byte binary argument. This defaults to all zeros. See [sectref "MODES OF OPERATION"] for more about [arg -mode] and the use of the initialization vector. [para] DES is a 64-bit block cipher. This means that the data must be provided in units that are a multiple of 8 bytes. |
︙ | ︙ | |||
181 182 183 184 185 186 187 | [enum] "TclDES: munitions-grade Tcl scripting" [uri http://tcldes.sourceforge.net/] [list_end] | < < | < | < < | < < < < < < < < | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | [enum] "TclDES: munitions-grade Tcl scripting" [uri http://tcldes.sourceforge.net/] [list_end] [section "AUTHORS"] Jochen C Loewer, Mac Cody, Pat Thoyts [vset CATEGORY des] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/dns/tcllib_dns.man.
1 2 3 4 5 6 7 8 | [manpage_begin dns n 1.3.3] [copyright {2002, Pat Thoyts}] [moddesc {Domain Name Service}] [titledesc {Tcl Domain Name Service Client}] [category Networking] [require Tcl 8.2] [require dns [opt 1.3.3]] [description] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin dns n 1.3.3] [see_also resolver(5)] [keywords DNS] [keywords {domain name service}] [keywords resolver] [keywords {rfc 1034}] [keywords {rfc 1035}] [keywords {rfc 1886}] [copyright {2002, Pat Thoyts}] [moddesc {Domain Name Service}] [titledesc {Tcl Domain Name Service Client}] [category Networking] [require Tcl 8.2] [require dns [opt 1.3.3]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | (4) of the form [uri dns:what.host.com] or [uri dns://my.nameserver/what.host.com]. The [cmd dns::resolve] command can handle DNS URIs or simple domain names as a query. [para] [emph Note:] The package defaults to using DNS over TCP | | | | | | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | (4) of the form [uri dns:what.host.com] or [uri dns://my.nameserver/what.host.com]. The [cmd dns::resolve] command can handle DNS URIs or simple domain names as a query. [para] [emph Note:] The package defaults to using DNS over TCP connections. If you wish to use UDP you will need to have the [package tcludp] package installed and have a version that correctly handles binary data (> 1.0.4). This is available at [uri http://tcludp.sourceforge.net/]. If the [package udp] package is present then UDP will be used by default. [section COMMANDS] [list_begin definitions] [call [cmd ::dns::resolve] [arg query] [opt [arg "options"]]] Resolve a domain name using the [term DNS] protocol. [arg query] is the domain name to be lookup up. This should be either a fully qualified domain name or a DNS URI. [list_begin definitions] [def "[cmd -nameserver] [arg hostname] or [cmd -server] [arg hostname]"] Specify an alternative name server for this request. [def "[cmd -protocol] [arg tcp|udp]"] Specify the network protocol to use for this request. Can be one of [arg tcp] or [arg udp]. [def "[cmd -port] [arg portnum]"] Specify an alternative port. [def "[cmd -search] [arg domainlist]"] [def "[cmd -timeout] [arg milliseconds]"] Override the default timeout. [def "[cmd -type] [arg TYPE]"] Specify the type of DNS record you are interested in. Valid values are A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, MINFO, MX, TXT, SPF, SRV, AAAA, AXFR, MAILB, MAILA and *. See RFC1035 for details about the return values. See [uri http://spf.pobox.com/] about SPF. See (3) about AAAA records and RFC2782 for details of SRV records. [def "[cmd -class] [arg CLASS]"] Specify the class of domain name. This is usually IN but may be one of IN for internet domain names, CS, CH, HS or * for any class. [def "[cmd -recurse] [arg boolean]"] Set to [arg false] if you do not want the name server to recursively act upon your request. Normally set to [arg true]. [def "[cmd -command] [arg procname]"] Set a procedure to be called upon request completion. The procedure will be passed the token as its only argument. [list_end] [para] [call [cmd ::dns::configure] [opt [arg "options"]]] The [cmd ::dns::configure] command is used to setup the dns |
︙ | ︙ | |||
97 98 99 100 101 102 103 | [def "[cmd -timeout] [arg milliseconds]"] Set the default timeout value for DNS lookups. Default is 30 seconds. [def "[cmd -loglevel] [arg level]"] Set the log level used for emitting diagnostic messages from this package. The default is [term warn]. See the [package log] package for details of the available levels. [list_end] | < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | [def "[cmd -timeout] [arg milliseconds]"] Set the default timeout value for DNS lookups. Default is 30 seconds. [def "[cmd -loglevel] [arg level]"] Set the log level used for emitting diagnostic messages from this package. The default is [term warn]. See the [package log] package for details of the available levels. [list_end] [para] [call [cmd ::dns::name] [arg token]] Returns a list of all domain names returned as an answer to your query. [para] [call [cmd ::dns::address] [arg token]] |
︙ | ︙ | |||
139 140 141 142 143 144 145 | [call [cmd ::dns::wait] [arg token]] Wait for a DNS query to complete and return the status upon completion. [para] [call [cmd ::dns::cleanup] [arg token]] Remove all state variables associated with the request. | < | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | [call [cmd ::dns::wait] [arg token]] Wait for a DNS query to complete and return the status upon completion. [para] [call [cmd ::dns::cleanup] [arg token]] Remove all state variables associated with the request. [para] [call [cmd ::dns::nameservers]] Attempts to return a list of the nameservers currently configured for the users system. On a unix machine this parses the /etc/resolv.conf file for nameservers (if it exists) and on Windows systems we examine certain parts of the registry. If no nameserver can be found then the loopback address (127.0.0.1) is used as a default. [list_end] [comment { ----------------------------------------------------------- }] [section EXAMPLES] [para] |
︙ | ︙ | |||
199 200 201 202 203 204 205 | Mockapetris, P., "Domain Names - Concepts and Facilities", RFC 1034, November 1987. ([uri http://www.ietf.org/rfc/rfc1034.txt]) [enum] Mockapetris, P., "Domain Names - Implementation and Specification", RFC 1035, November 1087. | | | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | Mockapetris, P., "Domain Names - Concepts and Facilities", RFC 1034, November 1987. ([uri http://www.ietf.org/rfc/rfc1034.txt]) [enum] Mockapetris, P., "Domain Names - Implementation and Specification", RFC 1035, November 1087. ([uri http://www.ietf.org/rfc/rfc1035.txt]) [enum] Thompson, S. and Huitema, C., "DNS Extensions to support IP version 6", RFC 1886, December 1995. ([uri http://www.ietf.org/rfc/rfc1886.txt]) [enum] |
︙ | ︙ | |||
224 225 226 227 228 229 230 | [enum] Ohta, M. "Incremental Zone Transfer in DNS", RFC 1995, August 1996, ([uri http://www.ietf.org/rfc/rfc1995.txt]) [list_end] | < < | < < | < < < < < < < < | 229 230 231 232 233 234 235 236 237 238 239 240 241 | [enum] Ohta, M. "Incremental Zone Transfer in DNS", RFC 1995, August 1996, ([uri http://www.ietf.org/rfc/rfc1995.txt]) [list_end] [section AUTHORS] Pat Thoyts [vset CATEGORY dns] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/dns/tcllib_ip.man.
1 2 3 4 5 6 7 8 | [manpage_begin tcllib_ip n 1.2.1] [copyright {2004, Pat Thoyts}] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Domain Name Service}] [titledesc {IPv4 and IPv6 address manipulation}] [category Networking] [require Tcl 8.2] [require ip [opt 1.2.1]] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [manpage_begin tcllib_ip n 1.2.1] [see_also inet(3)] [see_also ip(7)] [see_also ipv6(7)] [keywords {internet address}] [keywords ip] [keywords ipv4] [keywords ipv6] [keywords {rfc 3513}] [copyright {2004, Pat Thoyts}] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Domain Name Service}] [titledesc {IPv4 and IPv6 address manipulation}] [category Networking] [require Tcl 8.2] [require ip [opt 1.2.1]] |
︙ | ︙ | |||
37 38 39 40 41 42 43 | supplied). The normalized addresses are then compared bit-by-bit and the procedure returns true if they match. [call [cmd ::ip::normalize] [arg address]] Convert an IPv4 or IPv6 address into a fully expanded version. There are various shorthand ways to write internet addresses, missing out | | | < < | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | supplied). The normalized addresses are then compared bit-by-bit and the procedure returns true if they match. [call [cmd ::ip::normalize] [arg address]] Convert an IPv4 or IPv6 address into a fully expanded version. There are various shorthand ways to write internet addresses, missing out redundant parts or digts.. This procedure is the opposite of [cmd contract]. [call [cmd ::ip::contract] [arg address]] Convert a [cmd normalize]d internet address into a more compact form suitable for displaying to users. [call [cmd ::ip::prefix] [arg address]] Returns the address prefix generated by masking the address part with the mask if provided. If there is no mask then it is equivalent to calling [cmd normalize] [call [cmd ::ip::type] [arg address]] [call [cmd ::ip::mask] [arg address]] If the address supplied includes a mask then this is returned otherwise returns an empty string. [call [cmd ::ip::prefixToNative] [arg prefix]] This command converts the string [arg prefix] from dotted form (<ipaddr>/<mask> format) to native (hex) form. Returns a list containing two elements, ipaddress and mask, in this order, in hexadecimal notation. [para] [example { % ip::prefixToNative 1.1.1.0/24 0x01010100 0xffffff00 }] [call [cmd ::ip::nativeToPrefix] [arg nativeList]|[arg native] \ [opt [option -ipv4]]] This command converts from native (hex) form to dotted form. It is the complement of [cmd ::ip::prefixToNative]. |
︙ | ︙ | |||
103 104 105 106 107 108 109 | [para] [example { % ip::nativeToPrefix {0x01010100 0xffffff00} -ipv4 1.1.1.0/24 }] | < < < < < | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | [para] [example { % ip::nativeToPrefix {0x01010100 0xffffff00} -ipv4 1.1.1.0/24 }] [call [cmd ::ip::intToString] [arg number] [opt [option -ipv4]]] This command converts from an ip address specified as integer number to dotted form. [para] [example { ip::intToString 4294967295 255.255.255.255 }] [call [cmd ::ip::toInteger] [arg ipaddr]] This command converts a dotted form ip into an integer number. [para] [example { % ::ip::toInteger 1.1.1.0 16843008 }] [call [cmd ::ip::toHex] [arg ipaddr]] This command converts dotted form ip into a hexadecimal number. [para] [example { % ::ip::toHex 1.1.1.0 0x01010100 }] [call [cmd ::ip::maskToInt] [arg ipmask]] This command convert an ipmask in either dotted (255.255.255.0) form or mask length form (24) into an integer number. [para] [example { ::ip::maskToInt 24 4294967040 }] [call [cmd ::ip::broadcastAddress] [arg prefix] [opt [option -ipv4]]] This commands returns a broadcast address in dotted form for the given route [arg prefix], either in the form "addr/mask", or in native form. The result is in dotted form. [para] [example { ::ip::broadcastAddress 1.1.1.0/24 1.1.1.255 ::ip::broadcastAddress {0x01010100 0xffffff00} 0x010101ff }] [call [cmd ::ip::maskToLength] \ [arg dottedMask]|[arg integerMask]|[arg hexMask] \ [opt [option -ipv4]]] This command converts the dotted or integer form of an ipmask to the mask length form. |
︙ | ︙ | |||
194 195 196 197 198 199 200 | [para] [example { ::ip::lengthToMask 24 255.255.255.0 }] | < < < | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | [para] [example { ::ip::lengthToMask 24 255.255.255.0 }] [call [cmd ::ip::nextNet] [arg ipaddr] [arg ipmask] \ [opt [arg count]] \ [opt [option -ipv4]]] This command returns an ipaddress in the same position in the [arg count] next network. The default value for [arg count] is [const 1]. [para] The address can be specified as either integer number or in dotted form. The mask can be specified as either integer number, dotted form, or mask length form. [para] The result is in hex form. [call [cmd ::ip::isOverlap] [arg prefix] [arg prefix]...] This command checks if the given ip prefixes overlap. All arguments are in dotted "addr/mask" form. All arguments after the first prefix are compared against the first prefix. The result is a boolean value. It is true if an overlap was found for any of the prefixes. [para] [example { % ::ip::isOverlap 1.1.1.0/24 2.1.0.1/32 0 ::ip::isOverlap 1.1.1.0/24 2.1.0.1/32 1.1.1.1/32 1 }] [call [cmd ::ip::isOverlapNative] \ [opt [option -all]] \ [opt [option -inline]] \ [opt [option -ipv4]] \ [arg hexipaddr] [arg hexipmask] [arg hexiplist]] |
︙ | ︙ | |||
282 283 284 285 286 287 288 | % ::ip::isOverlapNative 0x01010100 0xffffff00 {{0x02010001 0xffffffff}} 0 % ::ip::isOverlapNative 0x01010100 0xffffff00 {{0x02010001 0xffffffff} {0x01010101 0xffffffff}} 2 }] | < < < < < < | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 | % ::ip::isOverlapNative 0x01010100 0xffffff00 {{0x02010001 0xffffffff}} 0 % ::ip::isOverlapNative 0x01010100 0xffffff00 {{0x02010001 0xffffffff} {0x01010101 0xffffffff}} 2 }] [call [cmd ::ip::ipToLayer2Multicast] [arg ipaddr]] This command an converts ipv4 address in dotted form into a layer 2 multicast address, also in dotted form. [para] [example { % ::ip::ipToLayer2Multicast 224.0.0.2 01.00.5e.00.00.02 }] [call [cmd ::ip::ipHostFromPrefix] [arg prefix] \ [opt "[option -exclude] [arg prefixExcludeList]"]] This command returns a host address from a prefix in the form "ipaddr/masklen", also making sure that the result is not an address found in the [arg prefixExcludeList]. The result is an ip address in dotted form. [para] [example { %::ip::ipHostFromPrefix 1.1.1.5/24 1.1.1.1 %::ip::ipHostFromPrefix 1.1.1.1/32 1.1.1.1 }] [call [cmd ::ip::reduceToAggregates] [arg prefixlist]] This command finds nets that overlap and filters out the more specific nets. The prefixes are in either addr/mask form or in native format. The result is a list containing the non-overlapping ip prefixes from the input. [para] [example { % ::ip::reduceToAggregates {1.1.1.0/24 1.1.0.0/8 2.1.1.0/24 1.1.1.1/32 } 1.0.0.0/8 2.1.1.0/24 }] [call [cmd ::ip::longestPrefixMatch] [arg ipaddr] [arg prefixlist] \ [opt [option -ipv4]]] This command finds longest prefix match from set of prefixes, given a specific host address. The prefixes in the list are in either native or dotted form, whereas the host address is in either ipprefix format, dotted form, or integer form. The result is the prefix which is the most specific match to the host address. [para] [example { % ::ip::longestPrefixMatch 1.1.1.1 {1.1.1.0/24 1.0.0.0/8 2.1.1.0/24 1.1.1.0/28 } 1.1.1.0/28 }] [call [cmd ::ip::collapse] [arg prefixlist]] This commands takes a list of prefixes and returns a list prefixes with the largest possible subnet masks covering the input, in this manner collapsing adjacent prefixes into larger ranges. [para] This is different from [cmd ::ip::reduceToAggregates] in that the latter only removes specific nets from a list when they are covered by other elements of the input whereas this command actively merges nets into larger ranges when they are adjacent to each other. [para] [example { % ::ip::collapse {1.2.2.0/24 1.2.3.0/24} 1.2.2.0/23 }] [call [cmd ::ip::subtract] [arg prefixlist]] This command takes a list of prefixes, some of which are prefixed by a dash. These latter [term negative] prefixes are used to punch holes into the ranges described by the other, [term positive], prefixes. I.e. the negative prefixes are subtracted frrom the positive |
︙ | ︙ | |||
425 426 427 428 429 430 431 | Hinden, R. and Deering, S., "Internet Protocol Version 6 (IPv6) Addressing Architecture", RFC 3513, April 2003 ([uri http://www.ietf.org/rfc/rfc3513.txt]) [list_end] | < < | < < | < < < < < < < < | 416 417 418 419 420 421 422 423 424 425 426 427 428 | Hinden, R. and Deering, S., "Internet Protocol Version 6 (IPv6) Addressing Architecture", RFC 3513, April 2003 ([uri http://www.ietf.org/rfc/rfc3513.txt]) [list_end] [section AUTHORS] Pat Thoyts [vset CATEGORY dns] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/docstrip/docstrip.man.
1 2 3 4 5 6 7 8 | [manpage_begin docstrip n 1.2] [copyright "2003\u20132010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Literate programming tool}] [titledesc {Docstrip style source code extraction}] [category {Documentation tools}] [require Tcl 8.4] [require docstrip [opt 1.2]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin docstrip n 1.2] [see_also docstrip_util] [keywords .dtx] [keywords docstrip] [keywords documentation] [keywords LaTeX] [keywords {literate programming}] [keywords source] [copyright "2003\u20132010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Literate programming tool}] [titledesc {Docstrip style source code extraction}] [category {Documentation tools}] [require Tcl 8.4] [require docstrip [opt 1.2]] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | [emph {The doc and shortvrb Packages}], [uri {http://ctan.org/tex-archive/macros/latex/base/doc.dtx}]. [enum] Chapter 14 of [emph {The LaTeX Companion}] (second edition), Addison-Wesley, 2004; ISBN 0-201-36299-6. [list_end] | < | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | [emph {The doc and shortvrb Packages}], [uri {http://ctan.org/tex-archive/macros/latex/base/doc.dtx}]. [enum] Chapter 14 of [emph {The LaTeX Companion}] (second edition), Addison-Wesley, 2004; ISBN 0-201-36299-6. [list_end] [section {File format}] The basic unit [syscmd docstrip] operates on are the [emph lines] of a master source file. Extraction consists of selecting some of these lines to be copied from input text to output text. The basic distinction is that between [emph {code lines}] (which are copied and |
︙ | ︙ | |||
294 295 296 297 298 299 300 | The final piece of [syscmd docstrip] syntax is that extraction stops at a line that is exactly "\endinput"; this is often used to avoid copying random whitespace at the end of a file. In the unlikely case that one wants such a code line, one can protect it with a verbatim guard. | < | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | The final piece of [syscmd docstrip] syntax is that extraction stops at a line that is exactly "\endinput"; this is often used to avoid copying random whitespace at the end of a file. In the unlikely case that one wants such a code line, one can protect it with a verbatim guard. [section Commands] The package defines two commands. [list_begin definitions] [call [cmd docstrip::extract] [arg text] [arg terminals] [ opt "[arg option] [arg value] ..." |
︙ | ︙ | |||
349 350 351 352 353 354 355 | trimmed away before the line is processed. Defaults to true. [list_end] It should be remarked that the [arg terminals] are often called "options" in the context of the [syscmd docstrip] program, since these specify which optional code fragments should be included. | < < | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | trimmed away before the line is processed. Defaults to true. [list_end] It should be remarked that the [arg terminals] are often called "options" in the context of the [syscmd docstrip] program, since these specify which optional code fragments should be included. [call [cmd docstrip::sourcefrom] [arg filename] [arg terminals] [ opt "[arg option] [arg value] ..." ]] The [cmd sourcefrom] command is a docstripping emulation of [cmd source]. It opens the file [arg filename], reads it, closes it, docstrips the contents as specified by the [arg terminals], and evaluates the result in the local context of the caller, during which time the [cmd info] [method script] value will be the [arg filename]. The options are passed on to [cmd fconfigure] to configure the file before its contents are read. The [option -metaprefix] is set to '#', all other [cmd extract] options have their default values. [list_end] [section {Document structure}] The file format (as described above) determines whether a master source code file can be processed correctly by [syscmd docstrip], but the usefulness of the format is to no little part also dependent on that the code and comment lines together constitute a well-formed |
︙ | ︙ | |||
423 424 425 426 427 428 429 | document and as a [syscmd docstrip] master source code file. [para] It is not necessary to use the tclldoc document class, but that does provide a number of features that are convenient for [file .dtx] files containing Tcl code. More information on this matter can be found in the references above. | < < < < < < | 426 427 428 429 430 431 432 433 | document and as a [syscmd docstrip] master source code file. [para] It is not necessary to use the tclldoc document class, but that does provide a number of features that are convenient for [file .dtx] files containing Tcl code. More information on this matter can be found in the references above. [manpage_end] |
Changes to modules/docstrip/docstrip_util.man.
1 2 3 4 5 6 7 8 | [manpage_begin docstrip_util n 1.3] [copyright "2003\u20132010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Literate programming tool}] [titledesc {Docstrip-related utilities}] [category {Documentation tools}] [require Tcl 8.4] [require docstrip [opt 1.2]] | > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [manpage_begin docstrip_util n 1.3] [see_also docstrip] [see_also doctools] [see_also doctools_fmt] [keywords .ddt] [keywords catalogue] [keywords diff] [keywords docstrip] [keywords doctools] [keywords documentation] [keywords {literate programming}] [keywords module] [keywords {package indexing}] [keywords patch] [keywords source] [keywords {Tcl module}] [copyright "2003\u20132010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Literate programming tool}] [titledesc {Docstrip-related utilities}] [category {Documentation tools}] [require Tcl 8.4] [require docstrip [opt 1.2]] |
︙ | ︙ | |||
367 368 369 370 371 372 373 374 375 376 377 378 379 380 | [list_end] At the time of writing, no project has employed [package doctools] markup in master source files, so experience of what works well is not available. A source file could however look as follows [example { % [manpage_begin gcd n 1.0] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which | > > > > > > > > > > > > > > > | 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | [list_end] At the time of writing, no project has employed [package doctools] markup in master source files, so experience of what works well is not available. A source file could however look as follows [example { % [manpage_begin gcd n 1.0] [see_also docstrip] [see_also doctools] [see_also doctools_fmt] [keywords .ddt] [keywords catalogue] [keywords diff] [keywords docstrip] [keywords doctools] [keywords documentation] [keywords {literate programming}] [keywords module] [keywords {package indexing}] [keywords patch] [keywords source] [keywords {Tcl module}] % [moddesc {Greatest Common Divisor}] % [require gcd [opt 1.0]] % [description] % % [list_begin definitions] % [call [cmd gcd] [arg a] [arg b]] % The [cmd gcd] procedure takes two arguments [arg a] and [arg b] which |
︙ | ︙ | |||
559 560 561 562 563 564 565 | the "to" file. Line numbers start at 1. The [arg lines] is a list with two elements for each line in the hunk; the first specifies the type of a line and the second is the actual line contents. The type is [const -] for lines only in the "from" file, [const +] for lines that are only in the "to" file, and [const 0] for lines that are in both. [list_end] | < < < < < < | 589 590 591 592 593 594 595 596 | the "to" file. Line numbers start at 1. The [arg lines] is a list with two elements for each line in the hunk; the first specifies the type of a line and the second is the actual line contents. The type is [const -] for lines only in the "from" file, [const +] for lines that are only in the "to" file, and [const 0] for lines that are in both. [list_end] [manpage_end] |
Changes to modules/doctools/changelog.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::changelog n 1.1] [copyright {2003-2013 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in Emacs ChangeLog format}] [category {Documentation tools}] [require Tcl 8.2] [require textutil] [require doctools::changelog [opt 1.1]] [description] This package provides Tcl commands for the processing and reformatting of text in the [file ChangeLog] format generated by [syscmd emacs]. | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::changelog n 1.1] [keywords changelog] [keywords doctools] [keywords emacs] [copyright {2003-2013 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in Emacs ChangeLog format}] [category {Documentation tools}] [require Tcl 8.2] [require textutil] [require doctools::changelog [opt 1.1]] [description] This package provides Tcl commands for the processing and reformatting of text in the [file ChangeLog] format generated by [syscmd emacs]. [section API] [list_begin definitions] [call [cmd ::doctools::changelog::scan] [arg text]] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | ... } } {...} } }] | < < < | < < | < < < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | ... } } {...} } }] [call [cmd ::doctools::changelog::flatten] [arg entries]] This command converts a list of entries as generated by [cmd change::scan] above into a simpler list of plain text blocks each containing all the information of a single entry. [call [cmd ::doctools::changelog::toDoctools] [arg title] [arg module] [arg version] [arg entries]] This command converts the pre-parsed ChangeLog [arg entries] as generated by the command [cmd ::doctools::changelog::scan] into a document in [term doctools] format and returns it as the result of the command. [para] The other three arguments supply the information for the header of that document which is not available from the changelog itself. [call [cmd ::doctools::changelog::merge] [arg entries]...] Each argument of the command is assumed to be a pre-parsed Changelog as generated by the command [cmd ::doctools::changelog::scan]. This command merges all of them into a single structure, and collapses multiple entries for the same date and author into a single entry. The new structure is returned as the result of the command. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/cvs.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::cvs n 1] [copyright {2003-2008 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in 'cvs log' format}] [category {Documentation tools}] [require Tcl 8.2] [require textutil] [require doctools::cvs [opt 1]] [description] This package provides Tcl commands for the processing and reformatting text in the format generated by the [syscmd {cvs log}] command. [para] The commands [cmd ::doctools::cvs::scanLog] and [cmd ::doctools::cvs::toChangeLog] are derived from code found on the [uri http://wiki.tcl.tk {Tcl'ers Wiki}]. See the references at the end of the page. | > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::cvs n 1] [see_also {[uri}] [see_also http://wiki.tcl.tk/log2changelog] [keywords changelog] [keywords cvs] [keywords {cvs log}] [keywords emacs] [keywords log] [copyright {2003-2008 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in 'cvs log' format}] [category {Documentation tools}] [require Tcl 8.2] [require textutil] [require doctools::cvs [opt 1]] [description] This package provides Tcl commands for the processing and reformatting text in the format generated by the [syscmd {cvs log}] command. [para] The commands [cmd ::doctools::cvs::scanLog] and [cmd ::doctools::cvs::toChangeLog] are derived from code found on the [uri http://wiki.tcl.tk {Tcl'ers Wiki}]. See the references at the end of the page. [section API] [list_begin definitions] [call [cmd ::doctools::cvs::scanLog] [arg text] [arg evar] [arg cvar] [arg fvar]] |
︙ | ︙ | |||
53 54 55 56 57 58 59 | [para] Each item in the list is a list containing two elements, the date of the entry, and its author, in this order. The date is formatted as [var year]/[var month]/[var day]. | < < < < | < < | < < < < < < < < | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | [para] Each item in the list is a list containing two elements, the date of the entry, and its author, in this order. The date is formatted as [var year]/[var month]/[var day]. [arg_def varname cvar in] Has to refer to an array variable. Keys are strings containing the date and author of log entries, in this order, separated by a comma. [para] The values are lists of comments made for the entry. [arg_def varname fvar in] Has to refer to an array variable. Keys are strings containing date, author of a log entry, and a comment for that entry, in this order, separated by commas. [para] The values are lists of the files the entry is touching. [list_end] [para] [call [cmd ::doctools::cvs::toChangeLog] [arg evar] [arg cvar] [arg fvar]]] The three arguments for this command are the same as the last three arguments of the command [cmd ::doctools::cvs::scanLog]. This command however expects them to be filled with information about one or more logs. It takes this information and converts it into a text in the format of a ChangeLog as accepted and generated by [syscmd emacs]. The constructed text is returned as the result of the command. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx n 1.0.4] [copyright {2003-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx - Processing indices}] [category {Documentation tools}] [require Tcl 8.2] [require doctools::idx [opt 1.0.4]] [description] | > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx n 1.0.4] [see_also docidx_intro] [see_also docidx_lang_cmdref] [see_also docidx_lang_intro] [see_also docidx_lang_syntax] [see_also docidx_plugin_apiref] [keywords conversion] [keywords docidx] [keywords documentation] [keywords HTML] [keywords index] [keywords {keyword index}] [keywords latex] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [keywords wiki] [copyright {2003-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx - Processing indices}] [category {Documentation tools}] [require Tcl 8.2] [require doctools::idx [opt 1.0.4]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {docidx plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. | < < < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {docidx plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. [section {PUBLIC API}] [subsection {PACKAGE COMMANDS}] [list_begin definitions] [call [cmd ::doctools::idx::new] [arg objectName] [opt "[option -option] [arg value] ..."]] This command creates a new docidx object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {OBJECT COMMAND}] and [sectref {OBJECT METHODS}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [para] The options and their values coming after the name of the object are used to set the initial configuration of the object. [call [cmd ::doctools::idx::help]] This is a convenience command for applications wishing to provide their user with a short description of the available formatting commands and their meanings. It returns a string containing a standard help text. [call [cmd ::doctools::idx::search] [arg path]] Whenever an object created by this the package has to map the name of a format to the file containing the code for its formatting engine it will search for the file in a number of directories stored in a list. See section [sectref {FORMAT MAPPING}] for more explanations. |
︙ | ︙ | |||
78 79 80 81 82 83 84 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] | < < < < < < < < < < < < < | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] [subsection {OBJECT COMMAND}] All commands created by [cmd ::doctools::idx::new] have the following general form and may be used to invoke various operations on their docidx converter object. [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {OBJECT METHODS}] for the detailed specifications. [list_end] [subsection {OBJECT METHODS}] [list_begin definitions] [call [arg objectName] [method configure]] The method returns a list of all known options and their current values when called without any arguments. [call [arg objectName] [method configure] [arg option]] The method behaves like the method [method cget] when called with a single argument and returns the value of the option specified by said argument. [call [arg objectName] [method configure] [option -option] [arg value]...] The method reconfigures the specified [option option]s of the object, setting them to the associated [arg value]s, when called with an even number of arguments, at least two. [para] The legal options are described in the section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method cget] [option -option]] This method expects a legal configuration option as argument and will return the current value of that option for the object the method was invoked for. [para] The legal configuration options are described in section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method format] [arg text]] This method runs the [arg text] through the configured formatting engine and returns the generated string as its result. An error will be thrown if no [option -format] was configured for the object. [para] The method assumes that the [arg text] is in [term docidx] format as specified in the companion document [term docidx_fmt]. Errors will be thrown otherwise. [call [arg objectName] [method map] [arg symbolic] [arg actual]] This methods add one entry to the per-object mapping from [arg symbolic] filenames to the [arg actual] uris. The object just stores this mapping and makes it available to the configured formatting engine through the command [cmd dt_fmap]. This command is described in more detail in the [term {docidx plugin API reference}] which specifies the interaction between the objects created by this package and index formatting engines. [call [arg objectName] [method parameters]] This method returns a list containing the names of all engine parameters provided by the configured formatting engine. It will return an empty list if the object is not yet configured for a specific format. [call [arg objectName] [method search] [arg path]] This method extends the per-object list of paths searched for index formatting engines. See also the command [cmd ::doctools::idx::search] on how to extend the per-package list of paths. Note that the path entered last will be searched first. For more details see section [sectref {FORMAT MAPPING}]. [call [arg objectName] [method setparam] [arg name] [arg value]] This method sets the [arg name]d engine parameter to the specified [arg value]. It will throw an error if the object is either not yet configured for a specific format, or if the formatting engine for the configured format does not provide a parameter with the given [arg name]. The list of parameters provided by the configured formatting engine can be retrieved through the method [method parameters]. [call [arg objectName] [method warnings]] This method returns a list containing all the warnings which were generated by the configured formatting engine during the last invocation of the method [method format]. [list_end] [subsection {OBJECT CONFIGURATION}] All docidx objects understand the following configuration options: [list_begin options] |
︙ | ︙ | |||
233 234 235 236 237 238 239 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. | < | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. [opt_def -format [arg text]] The argument of this option specifies the format to generate and by implication the formatting engine to use when converting text via the method [method format]. Its default value is the empty string. The method [method format] cannot be used if this option is not set to a valid value at least once. |
︙ | ︙ | |||
255 256 257 258 259 260 261 | [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. [list_end] | < | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. [list_end] [subsection {FORMAT MAPPING}] The package and object will perform the following algorithm when trying to map a format name [term foo] to a file containing an implementation of a formatting engine for [term foo]: |
︙ | ︙ | |||
307 308 309 310 311 312 313 | [enum] The mapping fails. [list_end] | < | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | [enum] The mapping fails. [list_end] [section {PREDEFINED ENGINES}] The package provides predefined formatting engines for the following formats. Some of the formatting engines support engine parameters. These will be explicitly highlighted. [list_begin definitions] |
︙ | ︙ | |||
345 346 347 348 349 350 351 | empty string. The value is inserted into the generated output just after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. | < | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | empty string. The value is inserted into the generated output just after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. [def meta] The value for this parameter has to be valid selfcontained HTML markup for the header section of a HTML document. The default value is the empty string. The value is inserted into the generated output just after the [const <head>] tag, starting the header section of the |
︙ | ︙ | |||
398 399 400 401 402 403 404 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] | | < | < < < < < < < < < < < < < < < < < | 395 396 397 398 399 400 401 402 403 404 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_intro n 1.0] [see_also docidx_lang_cmdref] [see_also docidx_lang_faq] [see_also docidx_lang_intro] [see_also docidx_lang_syntax] [see_also docidx_plugin_apiref] [see_also doctoc_intro] [see_also doctools::idx] [see_also doctools_intro] [keywords index] [keywords {keyword index}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
85 86 87 88 89 90 91 | of [term {tables of contents}], and general documentation, respectively. They are described in their own sets of documents, starting at the [term {doctoc introduction}] and the [term {doctools introduction}], respectively. | | < | < < < < < < < < < < < < < < < < < | 97 98 99 100 101 102 103 104 105 106 | of [term {tables of contents}], and general documentation, respectively. They are described in their own sets of documents, starting at the [term {doctoc introduction}] and the [term {doctools introduction}], respectively. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_lang_cmdref.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_cmdref n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the docidx markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {docidx language introduction}] first. | > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_cmdref n 1.0] [see_also docidx_intro] [see_also docidx_lang_faq] [see_also docidx_lang_intro] [see_also docidx_lang_syntax] [keywords {docidx commands}] [keywords {docidx language}] [keywords {docidx markup}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the docidx markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {docidx language introduction}] first. [section Commands] [list_begin definitions] [call [cmd comment] [arg plaintext]] Index markup. The argument text is marked up as a comment standing |
︙ | ︙ | |||
99 100 101 102 103 104 105 | [call [cmd vset] [arg varname]] Templating. In this form the command is replaced by the value of the named document variable [list_end] | < | < < | < < < < < < < < < < < < | 107 108 109 110 111 112 113 114 115 116 | [call [cmd vset] [arg varname]] Templating. In this form the command is replaced by the value of the named document variable [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_lang_faq.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_faq n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language faq}] [category {Documentation tools}] [description] | > > > > > > > > > > > | < | < < < < < < < < < < < < < < < < < < < | < | < < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_faq n 1.0] [see_also docidx_lang_cmdref] [see_also docidx_lang_intro] [see_also docidx_lang_syntax] [keywords {docidx commands}] [keywords {docidx language}] [keywords {docidx markup}] [keywords {docidx syntax}] [keywords examples] [keywords faq] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language faq}] [category {Documentation tools}] [description] [vset theformat docidx] [section OVERVIEW] [include include/placeholder.inc] [include include/examples.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_lang_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_intro n 1.0] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_intro n 1.0] [see_also docidx_intro] [see_also docidx_lang_cmdref] [see_also docidx_lang_syntax] [keywords {docidx commands}] [keywords {docidx language}] [keywords {docidx markup}] [keywords {docidx syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
109 110 111 112 113 114 115 | The other command to insert references is [cmd url]. In contrast to [cmd manpage] it uses explicit (possibly format-specific) urls to describe the location of the referenced document. As such this command is intended for the creation of references to external documents which could not be handled in any other way. | < | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | The other command to insert references is [cmd url]. In contrast to [cmd manpage] it uses explicit (possibly format-specific) urls to describe the location of the referenced document. As such this command is intended for the creation of references to external documents which could not be handled in any other way. [subsection {Advanced structure}] In all previous examples we fudged a bit regarding the markup actually allowed to be used before the [cmd index_begin] command opening the document. [para] |
︙ | ︙ | |||
149 150 151 152 153 154 155 | The only restriction [cmd include] has to obey is that the contents of the included file must be valid at the place of the inclusion. I.e. a file included before [cmd index_begin] may contain only the templating commands [cmd vset] and [cmd include], a file included after a key may contain only manape or url references, and other keys, etc. | < | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | The only restriction [cmd include] has to obey is that the contents of the included file must be valid at the place of the inclusion. I.e. a file included before [cmd index_begin] may contain only the templating commands [cmd vset] and [cmd include], a file included after a key may contain only manape or url references, and other keys, etc. [subsection Escapes] Beyond the 6 commands shown so far we have two more available. However their function is not the marking up of index structure, but the insertion of characters, namely [const [lb]] and [const [rb]]. |
︙ | ︙ | |||
173 174 175 176 177 178 179 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] | < | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] [section {FURTHER READING}] Now that this document has been digested the reader, assumed to be a [term writer] of documentation should be fortified enough to be able to understand the formal [term {docidx language syntax}] specification as well. From here on out the |
︙ | ︙ | |||
199 200 201 202 203 204 205 | On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple [syscmd dtplite] goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own. | | < | < < < < < < < < < < < < < | 205 206 207 208 209 210 211 212 213 214 | On the other hand, docidx is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple [syscmd dtplite] goes, creating an index for a set of documents behind the scenes, without the writer having to do so on their own. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_lang_syntax.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_syntax n 1.0] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the docidx markup language, version 1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {docidx language command reference}]. A beginner should read the much more informally written [term {docidx language introduction}] first before trying to understand either this document or the command reference. | > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_lang_syntax n 1.0] [see_also docidx_intro] [see_also docidx_lang_cmdref] [see_also docidx_lang_faq] [see_also docidx_lang_intro] [keywords {docidx commands}] [keywords {docidx language}] [keywords {docidx markup}] [keywords {docidx syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the docidx markup language, version 1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {docidx language command reference}]. A beginner should read the much more informally written [term {docidx language introduction}] first before trying to understand either this document or the command reference. [section Fundamentals] In the broadest terms possible the [term {docidx markup language}] is like SGML and similar languages. A document written in this language consists primarily of markup commands, with text embedded into it at some places. |
︙ | ︙ | |||
59 60 61 62 63 64 65 | [section Syntax] The rules listed here specify only the syntax of docidx documents. The lexical level of the language was covered in the previous section. [para] | | | | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | [section Syntax] The rules listed here specify only the syntax of docidx documents. The lexical level of the language was covered in the previous section. [para] Regarding the syntax of the (E)BNF itself [list_begin enumerated] [enum] The construct { X } stands for zero or more occurrences of X. [enum] The construct [lb] X [rb] stands for zero or one occurrence of X. [list_end] The syntax: [example { index = defs INDEX_BEGIN [ contents ] INDEX_END { <WHITE> } defs = { INCLUDE | VSET | <WHITE> } contents = keyword { keyword } keyword = defs KEY ref { ref } ref = MANPAGE | URL | defs |
︙ | ︙ | |||
102 103 104 105 106 107 108 | [enum][cmd lb], [enum][cmd rb], or [enum][cmd vset] (1-argument form). [list_end] [list_end] | | < | < < < < < < < < < < < < < < | 111 112 113 114 115 116 117 118 119 120 | [enum][cmd lb], [enum][cmd rb], or [enum][cmd vset] (1-argument form). [list_end] [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/docidx_plugin_apiref.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_plugin_apiref n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx plugin API reference}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin docidx_plugin_apiref n 1.0] [see_also docidx_intro] [see_also docidx_lang_cmdref] [see_also docidx_lang_faq] [see_also docidx_lang_intro] [see_also docidx_lang_syntax] [see_also doctools::idx] [keywords {formatting engine}] [keywords index] [keywords {index formatter}] [keywords keywords] [keywords markup] [keywords plugin] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {docidx plugin API reference}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
26 27 28 29 30 31 32 | A reader who is on the other hand more interested in the markup language itself should start with the [term {docidx language introduction}] and proceed from there to the formal specifications, i.e. the [term {docidx language syntax}] and the [term {docidx language command reference}]. | < < < < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | A reader who is on the other hand more interested in the markup language itself should start with the [term {docidx language introduction}] and proceed from there to the formal specifications, i.e. the [term {docidx language syntax}] and the [term {docidx language command reference}]. [section OVERVIEW] The API for an index formatting engine consists of two major sections. [para] On the one side we have a set of commands through which the plugin is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. Please see section [sectref {FRONTEND COMMANDS}] for their detailed specification. [para] And on the other side the plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They, again, fall into two categories, management and formatting. Please see section [sectref {PLUGIN COMMANDS}] and its subsections for their detailed specification. [section {FRONTEND COMMANDS}] This section specifies the set of commands through which a plugin, also known as an index formatting engine, is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. |
︙ | ︙ | |||
163 164 165 166 167 168 169 | Returns the current value of the right macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If [arg newbracket] is specified, it becomes the new bracket, and is returned. [list_end] | < < < < | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | Returns the current value of the right macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If [arg newbracket] is specified, it becomes the new bracket, and is returned. [list_end] [section {PLUGIN COMMANDS}] The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections. [subsection {Management commands}] The management commands a plugin has to provide are used by the frontend to [list_begin enumerated] |
︙ | ︙ | |||
272 273 274 275 276 277 278 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. | < < < < < < | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. [call [cmd idx_listvariables]] [emph Initialization/Shutdown] and [emph {Engine parameters}]. Second command is called after the plugin code has been loaded, i.e. immediately after [cmd idx_numpasses]. It has to return a list containing the names of the parameters the frontend can set to configure the engine. This list can be empty. [call [cmd idx_numpasses]] [emph Initialization/Shutdown] and [emph {Pass management}]. First command called after the plugin code has been loaded. No other command of the engine will be called before it. It has to return the number of passes this engine requires to fully process the input document. This value has to be an integer number greater or equal to one. [call [cmd idx_postprocess] [arg text]] [emph Initialization/Shutdown]. This command is called immediately after the last pass in a run. Its argument is the result of the conversion generated by that pass. It is provided to allow the engine to perform any global modifications of the generated document. If no post-processing is required for a specific format the command has to just return the argument. [para] Expected to return a value, the final result of formatting the input. [call [cmd idx_setup] [arg n]] [emph Initialization/Shutdown] and [emph {Pass management}]. This command is called at the beginning of each pass over the input in a run. Its argument is the number of the pass which has begun. Passes are counted from [const 1] upward. The command has to set up the internal state of the plugin for this particular pass. No return value is expected, and any returned value is ignored. [call [cmd idx_shutdown]] [emph Initialization/Shutdown]. This command is called at the end of every conversion run. It is the last command called in a run. It has to clean up of all the run-specific state in the plugin. After the call the engine has to be in a state which allows the initiation of another run without fear that information from the last run is leaked into this new run. No return value is expected, and any returned value is ignored. [call [cmd idx_varset] [arg varname] [arg text]] [emph {Engine parameters}]. This command is called by the frontend to set an engine parameter to a particular value. |
︙ | ︙ | |||
355 356 357 358 359 360 361 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] | < < | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] [subsection {Formatting commands}] The formatting commands have to implement the formatting for the output format, for all the markup commands of the docidx markup language, except [cmd lb], [cmd rb], [cmd vset], [cmd include], and [cmd comment]. These exceptions are processed by the frontend and are |
︙ | ︙ | |||
415 416 417 418 419 420 421 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] | | | < < < < < < < < < < < < < < < < < | 412 413 414 415 416 417 418 419 420 421 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc n 1.1.3] [copyright {2003-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc - Processing tables of contents}] [category {Documentation tools}] [require Tcl 8.2] [require doctools::toc [opt 1.1.3]] [description] | > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc n 1.1.3] [see_also doctoc_intro] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_intro] [see_also doctoc_lang_syntax] [see_also doctoc_plugin_apiref] [keywords conversion] [keywords doctoc] [keywords documentation] [keywords HTML] [keywords latex] [keywords manpage] [keywords markup] [keywords nroff] [keywords {table of contents}] [keywords TMML] [keywords toc] [keywords wiki] [copyright {2003-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc - Processing tables of contents}] [category {Documentation tools}] [require Tcl 8.2] [require doctools::toc [opt 1.1.3]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {doctoc plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. | < < < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {doctoc plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. [section {PUBLIC API}] [subsection {PACKAGE COMMANDS}] [list_begin definitions] [call [cmd ::doctools::toc::new] [arg objectName] [opt "[option -option] [arg value] ..."]] This command creates a new doctoc object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {OBJECT COMMAND}] and [sectref {OBJECT METHODS}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [para] The options and their values coming after the name of the object are used to set the initial configuration of the object. [call [cmd ::doctools::toc::help]] This is a convenience command for applications wishing to provide their user with a short description of the available formatting commands and their meanings. It returns a string containing a standard help text. [call [cmd ::doctools::toc::search] [arg path]] Whenever an object created by this the package has to map the name of a format to the file containing the code for its formatting engine it will search for the file in a number of directories stored in a list. See section [sectref {FORMAT MAPPING}] for more explanations. |
︙ | ︙ | |||
78 79 80 81 82 83 84 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] | < < < < < < < < < < < < < | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] [subsection {OBJECT COMMAND}] All commands created by [cmd ::doctools::toc::new] have the following general form and may be used to invoke various operations on their doctoc converter object. [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {OBJECT METHODS}] for the detailed specifications. [list_end] [subsection {OBJECT METHODS}] [list_begin definitions] [call [arg objectName] [method configure]] The method returns a list of all known options and their current values when called without any arguments. [call [arg objectName] [method configure] [arg option]] The method behaves like the method [method cget] when called with a single argument and returns the value of the option specified by said argument. [call [arg objectName] [method configure] [option -option] [arg value]...] The method reconfigures the specified [option option]s of the object, setting them to the associated [arg value]s, when called with an even number of arguments, at least two. [para] The legal options are described in the section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method cget] [option -option]] This method expects a legal configuration option as argument and will return the current value of that option for the object the method was invoked for. [para] The legal configuration options are described in section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method format] [arg text]] This method runs the [arg text] through the configured formatting engine and returns the generated string as its result. An error will be thrown if no [option -format] was configured for the object. [para] The method assumes that the [arg text] is in [term doctoc] format as specified in the companion document [term doctoc_fmt]. Errors will be thrown otherwise. [call [arg objectName] [method map] [arg symbolic] [arg actual]] This methods add one entry to the per-object mapping from [arg symbolic] filenames to the [arg actual] uris. The object just stores this mapping and makes it available to the configured formatting engine through the command [cmd dt_fmap]. This command is described in more detail in the [term {doctoc plugin API reference}] which specifies the interaction between the objects created by this package and toc formatting engines. [call [arg objectName] [method parameters]] This method returns a list containing the names of all engine parameters provided by the configured formatting engine. It will return an empty list if the object is not yet configured for a specific format. [call [arg objectName] [method search] [arg path]] This method extends the per-object list of paths searched for toc formatting engines. See also the command [cmd ::doctools::toc::search] on how to extend the per-package list of paths. Note that the path entered last will be searched first. For more details see section [sectref {FORMAT MAPPING}]. [call [arg objectName] [method setparam] [arg name] [arg value]] This method sets the [arg name]d engine parameter to the specified [arg value]. It will throw an error if the object is either not yet configured for a specific format, or if the formatting engine for the configured format does not provide a parameter with the given [arg name]. The list of parameters provided by the configured formatting engine can be retrieved through the method [method parameters]. [call [arg objectName] [method warnings]] This method returns a list containing all the warnings which were generated by the configured formatting engine during the last invocation of the method [method format]. [list_end] [subsection {OBJECT CONFIGURATION}] All doctoc objects understand the following configuration options: [list_begin options] |
︙ | ︙ | |||
233 234 235 236 237 238 239 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. | < | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. [opt_def -format [arg text]] The argument of this option specifies the format to generate and by implication the formatting engine to use when converting text via the method [method format]. Its default value is the empty string. The method [method format] cannot be used if this option is not set to a valid value at least once. |
︙ | ︙ | |||
255 256 257 258 259 260 261 | [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. [list_end] | < | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. [list_end] [subsection {FORMAT MAPPING}] The package and object will perform the following algorithm when trying to map a format name [term foo] to a file containing an implementation of a formatting engine for [term foo]: |
︙ | ︙ | |||
307 308 309 310 311 312 313 | [enum] The mapping fails. [list_end] | < | 306 307 308 309 310 311 312 313 314 315 316 317 318 319 | [enum] The mapping fails. [list_end] [section {PREDEFINED ENGINES}] The package provides predefined formatting engines for the following formats. Some of the formatting engines support engine parameters. These will be explicitly highlighted. [list_begin definitions] |
︙ | ︙ | |||
345 346 347 348 349 350 351 | empty string. The value is inserted into the generated output just after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. | < | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | empty string. The value is inserted into the generated output just after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. [def meta] The value for this parameter has to be valid selfcontained HTML markup for the header section of a HTML document. The default value is the empty string. The value is inserted into the generated output just after the [const <head>] tag, starting the header section of the |
︙ | ︙ | |||
398 399 400 401 402 403 404 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] | < | < < | < < < < < < < < < < < < < < | 395 396 397 398 399 400 401 402 403 404 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_intro n 1.0] [see_also docidx_intro] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_faq] [see_also doctoc_lang_intro] [see_also doctoc_lang_syntax] [see_also doctoc_plugin_apiref] [see_also doctools::toc] [see_also doctools_intro] [keywords markup] [keywords {semantic markup}] [keywords {table of contents}] [keywords toc] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
84 85 86 87 88 89 90 | called [term docidx] and [term doctools], and they are for the markup of [term {keyword indices}], and general documentation, respectively. They are described in their own sets of documents, starting at the [term {docidx introduction}] and the [term {doctools introduction}], respectively. | | < | < < < < < < < < < < < < < < < < < | 96 97 98 99 100 101 102 103 104 105 | called [term docidx] and [term doctools], and they are for the markup of [term {keyword indices}], and general documentation, respectively. They are described in their own sets of documents, starting at the [term {docidx introduction}] and the [term {doctools introduction}], respectively. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_lang_cmdref.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_cmdref n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the doctoc markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {doctoc language introduction}] first. | > > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_cmdref n 1.0] [see_also doctoc_intro] [see_also doctoc_lang_faq] [see_also doctoc_lang_intro] [see_also doctoc_lang_syntax] [keywords {doctoc commands}] [keywords {doctoc language}] [keywords {doctoc markup}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the doctoc markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {doctoc language introduction}] first. [section Commands] [list_begin definitions] [call [cmd comment] [arg plaintext]] Toc markup. The argument text is marked up as a comment standing outside of the actual text of the document. Main use is in free-form text. |
︙ | ︙ | |||
111 112 113 114 115 116 117 | [call [cmd vset] [arg varname]] Templating. In this form the command is replaced by the value of the named document variable [list_end] | < | < < | < < < < < < < < < < < < | 118 119 120 121 122 123 124 125 126 127 | [call [cmd vset] [arg varname]] Templating. In this form the command is replaced by the value of the named document variable [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_lang_faq.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_faq n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language faq}] [category {Documentation tools}] [description] | > > > > > > > > > > > | < | < < < | < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_faq n 1.0] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_intro] [see_also doctoc_lang_syntax] [keywords {doctoc commands}] [keywords {doctoc language}] [keywords {doctoc markup}] [keywords {doctoc syntax}] [keywords examples] [keywords faq] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language faq}] [category {Documentation tools}] [description] [vset theformat doctoc] [section OVERVIEW] [include include/placeholder.inc] [include include/examples.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_lang_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_intro n 1.0] [see_also doctoc_intro] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_syntax] [keywords {doctoc commands}] [keywords {doctoc language}] [keywords {doctoc markup}] [keywords {doctoc syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
56 57 58 59 60 61 62 | version 1 of the language, which did not allow this mixing, but only the use of either a series of items or a series of divisions. [para] We will discuss the commands for each of these two possibilities in the next sections. | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | version 1 of the language, which did not allow this mixing, but only the use of either a series of items or a series of divisions. [para] We will discuss the commands for each of these two possibilities in the next sections. [subsection Items] Use the command [cmd item] to put an [term item] into a table of contents. This is essentially a reference to a section, subsection, etc. in the document, or set of documents, the table of contents is for. The command takes three arguments, a symbolic name for the file |
︙ | ︙ | |||
193 194 195 196 197 198 199 | [lb][cmd {division_end}][rb] [lb][cmd {division_end}][rb] [lb][cmd {division_start {FURTHER READING}}][rb] [lb][cmd {division_end}][rb] [lb]toc_end[rb] [example_end] | < | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | [lb][cmd {division_end}][rb] [lb][cmd {division_end}][rb] [lb][cmd {division_start {FURTHER READING}}][rb] [lb][cmd {division_end}][rb] [lb]toc_end[rb] [example_end] [subsection {Advanced structure}] In all previous examples we fudged a bit regarding the markup actually allowed to be used before the [cmd toc_begin] command opening the document. [para] |
︙ | ︙ | |||
233 234 235 236 237 238 239 | The only restriction [cmd include] has to obey is that the contents of the included file must be valid at the place of the inclusion. I.e. a file included before [cmd toc_begin] may contain only the templating commands [cmd vset] and [cmd include], a file included in a division may contain only items or divisions commands, etc. | < | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 | The only restriction [cmd include] has to obey is that the contents of the included file must be valid at the place of the inclusion. I.e. a file included before [cmd toc_begin] may contain only the templating commands [cmd vset] and [cmd include], a file included in a division may contain only items or divisions commands, etc. [subsection Escapes] Beyond the 6 commands shown so far we have two more available. However their function is not the marking up of toc structure, but the insertion of characters, namely [const [lb]] and [const [rb]]. |
︙ | ︙ | |||
257 258 259 260 261 262 263 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] | < | 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] [section {FURTHER READING}] Now that this document has been digested the reader, assumed to be a [term writer] of documentation should be fortified enough to be able to understand the formal [term {doctoc language syntax}] specification as well. From here on out the |
︙ | ︙ | |||
283 284 285 286 287 288 289 | On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple [syscmd dtplite] goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own. | | < | < < < < < < < < < < < < < | 288 289 290 291 292 293 294 295 296 297 | On the other hand, doctoc is perfectly suited for the automatic generation from doctools documents, and this is the route Tcllib's easy and simple [syscmd dtplite] goes, creating a table of contents for a set of documents behind the scenes, without the writer having to do so on their own. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_lang_syntax.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_syntax n 1.0] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the doctoc markup language, version 1.1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {doctoc language command reference}]. A beginner should read the much more informally written [term {doctoc language introduction}] first before trying to understand either this document or the command reference. | > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_lang_syntax n 1.0] [see_also doctoc_intro] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_faq] [see_also doctoc_lang_intro] [keywords {doctoc commands}] [keywords {doctoc language}] [keywords {doctoc markup}] [keywords {doctoc syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007-2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the doctoc markup language, version 1.1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {doctoc language command reference}]. A beginner should read the much more informally written [term {doctoc language introduction}] first before trying to understand either this document or the command reference. [section Fundamentals] In the broadest terms possible the [term {doctoc markup language}] is like SGML and similar languages. A document written in this language consists primarily of markup commands, with text embedded into it at some places. |
︙ | ︙ | |||
59 60 61 62 63 64 65 | [section Syntax] The rules listed here specify only the syntax of doctoc documents. The lexical level of the language was covered in the previous section. [para] | | | | < | < < < < < < < < < < < < < < | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | [section Syntax] The rules listed here specify only the syntax of doctoc documents. The lexical level of the language was covered in the previous section. [para] Regarding the syntax of the (E)BNF itself [list_begin enumerated] [enum] The construct { X } stands for zero or more occurrences of X. [enum] The construct [lb] X [rb] stands for zero or one occurrence of X. [list_end] The syntax: [example { toc = defs TOC_BEGIN contents TOC_END { <WHITE> } defs = { INCLUDE | VSET | <WHITE> } contents = { defs entry } [ defs ] entry = ITEM | division division = DIVISION_START contents DIVISION_END }] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctoc_plugin_apiref.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_plugin_apiref n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc plugin API reference}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctoc_plugin_apiref n 1.0] [see_also doctoc_intro] [see_also doctoc_lang_cmdref] [see_also doctoc_lang_faq] [see_also doctoc_lang_intro] [see_also doctoc_lang_syntax] [see_also doctools::toc] [keywords {formatting engine}] [keywords markup] [keywords plugin] [keywords {semantic markup}] [keywords {table of contents}] [keywords toc] [keywords {toc formatter}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctoc plugin API reference}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
26 27 28 29 30 31 32 | A reader who is on the other hand more interested in the markup language itself should start with the [term {doctoc language introduction}] and proceed from there to the formal specifications, i.e. the [term {doctoc language syntax}] and the [term {doctoc language command reference}]. | < < < < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | A reader who is on the other hand more interested in the markup language itself should start with the [term {doctoc language introduction}] and proceed from there to the formal specifications, i.e. the [term {doctoc language syntax}] and the [term {doctoc language command reference}]. [section OVERVIEW] The API for a toc formatting engine consists of two major sections. [para] On the one side we have a set of commands through which the plugin is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. Please see section [sectref {FRONTEND COMMANDS}] for their detailed specification. [para] And on the other side the plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They, again, fall into two categories, management and formatting. Please see section [sectref {PLUGIN COMMANDS}] and its subsections for their detailed specification. [section {FRONTEND COMMANDS}] This section specifies the set of commands through which a plugin, also known as a toc formatting engine, is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. |
︙ | ︙ | |||
171 172 173 174 175 176 177 | The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections. | < < | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections. [subsection {Management commands}] The management commands a plugin has to provide are used by the frontend to [list_begin enumerated] [enum] initialize and shutdown the plugin |
︙ | ︙ | |||
270 271 272 273 274 275 276 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. | < < < < < < | 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. [call [cmd toc_listvariables]] [emph Initialization/Shutdown] and [emph {Engine parameters}]. Second command is called after the plugin code has been loaded, i.e. immediately after [cmd toc_numpasses]. It has to return a list containing the names of the parameters the frontend can set to configure the engine. This list can be empty. [call [cmd toc_numpasses]] [emph Initialization/Shutdown] and [emph {Pass management}]. First command called after the plugin code has been loaded. No other command of the engine will be called before it. It has to return the number of passes this engine requires to fully process the input document. This value has to be an integer number greater or equal to one. [call [cmd toc_postprocess] [arg text]] [emph Initialization/Shutdown]. This command is called immediately after the last pass in a run. Its argument is the result of the conversion generated by that pass. It is provided to allow the engine to perform any global modifications of the generated document. If no post-processing is required for a specific format the command has to just return the argument. [para] Expected to return a value, the final result of formatting the input. [call [cmd toc_setup] [arg n]] [emph Initialization/Shutdown] and [emph {Pass management}]. This command is called at the beginning of each pass over the input in a run. Its argument is the number of the pass which has begun. Passes are counted from [const 1] upward. The command has to set up the internal state of the plugin for this particular pass. No return value is expected, and any returned value is ignored. [call [cmd toc_shutdown]] [emph Initialization/Shutdown]. This command is called at the end of every conversion run. It is the last command called in a run. It has to clean up of all the run-specific state in the plugin. After the call the engine has to be in a state which allows the initiation of another run without fear that information from the last run is leaked into this new run. No return value is expected, and any returned value is ignored. [call [cmd toc_varset] [arg varname] [arg text]] [emph {Engine parameters}]. This command is called by the frontend to set an engine parameter to a particular value. |
︙ | ︙ | |||
353 354 355 356 357 358 359 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] | < < | 354 355 356 357 358 359 360 361 362 363 364 365 366 367 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] [subsection {Formatting commands}] The formatting commands have to implement the formatting for the output format, for all the markup commands of the doctoc markup language, except [cmd lb], [cmd rb], [cmd vset], [cmd include], and [cmd comment]. These exceptions are processed by the frontend and are |
︙ | ︙ | |||
413 414 415 416 417 418 419 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] | | | < < < < < < < < < < < < < < < < < | 412 413 414 415 416 417 418 419 420 421 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools n 1.4.16] [copyright {2003-2013 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools - Processing documents}] [category {Documentation tools}] [require Tcl 8.2] [require doctools [opt 1.4.16]] [description] | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools n 1.4.16] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [see_also doctools_plugin_apiref] [keywords conversion] [keywords documentation] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [copyright {2003-2013 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools - Processing documents}] [category {Documentation tools}] [require Tcl 8.2] [require doctools [opt 1.4.16]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {doctools plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. | < < < | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | If on the other hand the reader wishes to write her own formatting engine for some format, i.e. is a [term {plugin writer}] then reading and understanding the [term {doctools plugin API reference}] is an absolute necessity, as that document specifies the interaction between this package and its plugins, i.e. the formatting engines, in detail. [section {PUBLIC API}] [subsection {PACKAGE COMMANDS}] [list_begin definitions] [call [cmd ::doctools::new] [arg objectName] [opt [arg "option value"]...]] This command creates a new doctools object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {OBJECT COMMAND}] and [sectref {OBJECT METHODS}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [para] The options and their values coming after the name of the object are used to set the initial configuration of the object. [call [cmd ::doctools::help]] This is a convenience command for applications wishing to provide their user with a short description of the available formatting commands and their meanings. It returns a string containing a standard help text. [call [cmd ::doctools::search] [arg path]] Whenever an object created by this the package has to map the name of a format to the file containing the code for its formatting engine it will search for the file in a number of directories stored in a list. See section [sectref {FORMAT MAPPING}] for more explanations. |
︙ | ︙ | |||
77 78 79 80 81 82 83 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] | < | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | [para] An error will be thrown if the [arg path] either does not exist, is not a directory, or is not readable. [list_end] [subsection {OBJECT COMMAND}] All commands created by [cmd ::doctools::new] have the following general form and may be used to invoke various operations on their doctools converter object. |
︙ | ︙ | |||
104 105 106 107 108 109 110 | [list_begin definitions] [call [arg objectName] [method configure]] The method returns a list of all known options and their current values when called without any arguments. | < < < < < < < < < < < | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | [list_begin definitions] [call [arg objectName] [method configure]] The method returns a list of all known options and their current values when called without any arguments. [call [arg objectName] [method configure] [arg option]] The method behaves like the method [method cget] when called with a single argument and returns the value of the option specified by said argument. [call [arg objectName] [method configure] [option -option] [arg value]...] The method reconfigures the specified [option option]s of the object, setting them to the associated [arg value]s, when called with an even number of arguments, at least two. [para] The legal options are described in the section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method cget] [option -option]] This method expects a legal configuration option as argument and will return the current value of that option for the object the method was invoked for. [para] The legal configuration options are described in section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method format] [arg text]] This method runs the [arg text] through the configured formatting engine and returns the generated string as its result. An error will be thrown if no [option -format] was configured for the object. [para] The method assumes that the [arg text] is in [term doctools] format as specified in the companion document [term doctools_fmt]. Errors will be thrown otherwise. [call [arg objectName] [method map] [arg symbolic] [arg actual]] This methods add one entry to the per-object mapping from [arg symbolic] filenames to the [arg actual] uris. The object just stores this mapping and makes it available to the configured formatting engine through the command [cmd dt_fmap]. This command is described in more detail in the [term {doctools plugin API reference}] which specifies the interaction between the objects created by this package and doctools formatting engines. [call [arg objectName] [method parameters]] This method returns a list containing the names of all engine parameters provided by the configured formatting engine. It will return an empty list if the object is not yet configured for a specific format. [call [arg objectName] [method search] [arg path]] This method extends the per-object list of paths searched for doctools formatting engines. See also the command [cmd ::doctools::search] on how to extend the per-package list of paths. Note that the path entered last will be searched first. For more details see section [sectref {FORMAT MAPPING}]. [call [arg objectName] [method setparam] [arg name] [arg value]] This method sets the [arg name]d engine parameter to the specified [arg value]. It will throw an error if the object is either not yet configured for a specific format, or if the formatting engine for the configured format does not provide a parameter with the given [arg name]. The list of parameters provided by the configured formatting engine can be retrieved through the method [method parameters]. [call [arg objectName] [method warnings]] This method returns a list containing all the warnings which were generated by the configured formatting engine during the last invocation of the method [method format]. [list_end] [subsection {OBJECT CONFIGURATION}] All doctools objects understand the following configuration options: [list_begin options] |
︙ | ︙ | |||
233 234 235 236 237 238 239 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. | < < < | 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the file containing the document which is currently processed. [opt_def -ibase [arg file]] The argument of this option is stored in the object and used as the base path for resolution of relative include paths. If this option is not set (empty string) the value of [option -file] is used instead. [para] Note that [option -file] and [option -ibase], while similar looking, are actually very different. The value of [option -file] is used by some engines for the generation of proper relative references between output documents (HTML). As such this is a [term destination] path. The [option -ibase] on the other hand is used to resolve relative include paths, and as such deals with [term source] paths. [para] The default value of this option is the empty string. [opt_def -module [arg text]] The argument of this option is stored in the object and made available to the configured formatting engine through the command [cmd dt_module]. This command is described in more detail in the companion document [term doctools_api] which specifies the API between the object and formatting engines. [para] The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as the name of the module the file containing the document which is currently processed belongs to. [opt_def -format [arg text]] The argument of this option specifies the format to generate and by implication the formatting engine to use when converting text via the method [method format]. Its default value is the empty string. The method [method format] cannot be used if this option is not set to a |
︙ | ︙ | |||
294 295 296 297 298 299 300 | configured format is left untouched. [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. | < < < | < | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | configured format is left untouched. [para] The section [sectref {FORMAT MAPPING}] explains in detail how the package and object will look for engine implementations. [opt_def -deprecated [arg boolean]] This option is a boolean flag. The object will generate warnings if this flag is set and the text given to method [method format] contains the deprecated markup command [cmd strong]. Its default value is [const FALSE]. In other words, no warnings will be generated. [opt_def -copyright [arg text]] The argument of this option is stored in the object and made available to the configured formatting engine through the command [cmd dt_copyright]. This command is described in more detail in the companion document [term doctools_api] which specifies the API between the object and formatting engines. [para] The default value of this option is the empty string. [para] The configured formatting engine should interpret the value as a copyright assignment for the document which is currently processed, or the package described by it. [para] This information must be used if and only if the engine is unable to find any copyright assignments within the document itself. Such are specified by the formatting command [cmd copyright]. This command is described in more detail in the companion document [term doctools_fmt] which specifies the [term doctools] format itself. [list_end] [subsection {FORMAT MAPPING}] The package and object will perform the following algorithm when trying to map a format name [term foo] to a file containing an |
︙ | ︙ | |||
389 390 391 392 393 394 395 | [enum] The mapping fails. [list_end] | < | 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | [enum] The mapping fails. [list_end] [section {PREDEFINED ENGINES}] The package provides predefined engines for the following formats. Some of the engines support parameters. These will be explained below as well. [list_begin definitions] |
︙ | ︙ | |||
428 429 430 431 432 433 434 | after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. | < < | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | after the [const <body>] tag, starting the body of the generated HTML. [para] This can be used to insert boilerplate header markup into the generated document. [def meta] The value for this parameter has to be valid selfcontained HTML markup for the header section of a HTML document. The default value is the empty string. The value is inserted into the generated output just after the [const <head>] tag, starting the header section of the generated HTML. [para] This can be used to insert boilerplate meta data markup into the generated document, like references to a stylesheet, standard meta keywords, etc. [def xref] The value for this parameter has to be a list of triples specifying cross-reference information. This information is used by the engine to create more hyperlinks. Each triple is a list containing a pattern, symbolic filename and fragment reference, in this order. If a pattern |
︙ | ︙ | |||
476 477 478 479 480 481 482 | [list_begin definitions] [def "[cmd cmd] [arg word]"] The command will look for the patterns [const sa,][arg word], and [arg word], in this order. If this fails if it will convert [arg word] to all lowercase and try again. | < < < < < < | 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 | [list_begin definitions] [def "[cmd cmd] [arg word]"] The command will look for the patterns [const sa,][arg word], and [arg word], in this order. If this fails if it will convert [arg word] to all lowercase and try again. [def "[cmd syscmd] [arg word]"] The command will look for the patterns [const sa,][arg word], and [arg word], in this order. If this fails if it will convert [arg word] to all lowercase and try again. [def "[cmd term] [arg word]"] The command will look for the patterns [const kw,][arg word], [const sa,][arg word], and [arg word], in this order. If this fails if it will convert [arg word] to all lowercase and try again. [def "[cmd package] [arg word]"] The command will look for the patterns [const sa,][arg word], [const kw,][arg word], and [arg word], in this order. If this fails if it will convert [arg word] to all lowercase and try again. [def "[cmd see_also] [arg word]..."] The command will look for the patterns [const sa,][arg word], and [arg word], in this order, for each [arg word] given to the command. If this fails if it will convert [arg word] to all lowercase and try again. [def "[cmd keywords] [arg word]..."] The command will look for the patterns [const kw,][arg word], and [arg word], in this order, for each [arg word] given to the command. If this fails if it will convert [arg word] to all lowercase and try again. [list_end] [list_end] [para] [def latex] |
︙ | ︙ | |||
552 553 554 555 556 557 558 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] | | < | < < < < < < < < < < < < < < < < | 533 534 535 536 537 538 539 540 541 542 | [def wiki] This engine generates Wiki markup as understood by Jean Claude Wippler's [syscmd wikit] application. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_intro n 1.0] [see_also docidx_intro] [see_also doctoc_intro] [see_also doctools] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [see_also doctools_plugin_apiref] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
84 85 86 87 88 89 90 | [term {keyword indices}], and [term {tables of contents}], respectively. They are described in their own sets of documents, starting at the [term {docidx introduction}] and the [term {doctoc introduction}], respectively. | | < | < < < < < < < < < < < < < < < < | 94 95 96 97 98 99 100 101 102 103 | [term {keyword indices}], and [term {tables of contents}], respectively. They are described in their own sets of documents, starting at the [term {docidx introduction}] and the [term {doctoc introduction}], respectively. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_lang_cmdref.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_cmdref n 1.0] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the doctools markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {doctools language introduction}] first. | > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_cmdref n 1.0] [see_also doctools_intro] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords markup] [keywords {semantic markup}] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language command reference}] [category {Documentation tools}] [description] [para] This document specifies both names and syntax of all the commands which together are the doctools markup language, version 1. As this document is intended to be a reference the commands are listed in alphabetical order, and the descriptions are relatively short. A beginner should read the much more informally written [term {doctools language introduction}] first. [section Commands] [list_begin definitions] [call [cmd arg] [arg text]] Text markup. The argument text is marked up as the [term argument] of |
︙ | ︙ | |||
54 55 56 57 58 59 60 | [cmd method], [cmd option] etc., as is appropriate, and that the command itself is marked up with [cmd cmd]. It is expected that the formatted term is not only printed in place, but also in the table of contents of the document, or synopsis, depending on the output format. | < < | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | [cmd method], [cmd option] etc., as is appropriate, and that the command itself is marked up with [cmd cmd]. It is expected that the formatted term is not only printed in place, but also in the table of contents of the document, or synopsis, depending on the output format. [call [cmd category] [arg text]] Document information. Anywhere. This command registers its plain text arguments as the category this document belongs to. If this command is used multiple times the last value specified is used. [call [cmd class] [arg text]] Text markup. The argument is marked up as the name of a [term class]. The text may have other markup already applied to it. Main use is the highlighting of class names in free-form text. |
︙ | ︙ | |||
249 250 251 252 253 254 255 256 257 258 259 260 261 | [call [cmd lst_item] [arg text]] [emph Deprecated]. Text structure. List element. Definition list. See [cmd def] for the canonical command to open a general list item in a definition list. [call [cmd manpage_begin] [arg command] [arg section] [arg version]] Document structure. The command to start a manpage. The arguments are the name of the [arg command] described by the manpage, the [arg section] of the manpages this manpage resides in, and the [arg version] of the module containing the command. All arguments have to be plain text, without markup. | > > > > > > > > > < | 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | [call [cmd lst_item] [arg text]] [emph Deprecated]. Text structure. List element. Definition list. See [cmd def] for the canonical command to open a general list item in a definition list. [call [cmd manpage_begin] [arg command] [arg section] [arg version]] [see_also doctools_intro] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords markup] [keywords {semantic markup}] Document structure. The command to start a manpage. The arguments are the name of the [arg command] described by the manpage, the [arg section] of the manpages this manpage resides in, and the [arg version] of the module containing the command. All arguments have to be plain text, without markup. [call [cmd manpage_end]] Document structure. Command to end a manpage/document. Anything in the document coming after this command is in error. [call [cmd method] [arg text]] |
︙ | ︙ | |||
349 350 351 352 353 354 355 | used in the output, otherwise [arg text] is used. [call [cmd sectref-external] [arg text]] Text markup. Like [cmd sectref], except that the section is assumed to be in a different document and therefore doesn't need to be identified, nor are any checks for existence made. Only the text to format is needed. | < | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 | used in the output, otherwise [arg text] is used. [call [cmd sectref-external] [arg text]] Text markup. Like [cmd sectref], except that the section is assumed to be in a different document and therefore doesn't need to be identified, nor are any checks for existence made. Only the text to format is needed. [call [cmd see_also] [arg args]] Document information. Anywhere. The command defines direct cross-references to other documents. Each argument is a plain text label identifying the referenced document. If this command is used multiple times all the arguments accumulate. |
︙ | ︙ | |||
448 449 450 451 452 453 454 | Text markup. The argument is marked up as the name of a [term widget]. The text may have other markup already applied to it. Main use is the highlighting of widget names in free-form text. [list_end] | < | < < | < < < < < < < < < < < < | 461 462 463 464 465 466 467 468 469 470 | Text markup. The argument is marked up as the name of a [term widget]. The text may have other markup already applied to it. Main use is the highlighting of widget names in free-form text. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_lang_faq.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_faq n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language faq}] [category {Documentation tools}] [description] | > > > > > > > > > > > | < | < < < | < < < < | < | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_faq n 1.0] [see_also doctools_lang_cmdref] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords examples] [keywords faq] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language faq}] [category {Documentation tools}] [description] [vset theformat doctools] [section OVERVIEW] [include include/placeholder.inc] [include include/examples.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_lang_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language introduction}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_intro n 1.0] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language introduction}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
41 42 43 44 45 46 47 | ... [term {complex concept}] ... }] [example { ... [opt "[arg key] [arg value]"] ... }] | < > > > > > > > > > > > > | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | ... [term {complex concept}] ... }] [example { ... [opt "[arg key] [arg value]"] ... }] [subsection {Basic structure}] The most simple document which can be written in doctools is [example { [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [description] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] }] This also shows us that all doctools documents are split into two parts, the [term header] and the [term body]. Everything coming before [lb][cmd description][rb] belongs to the header, and everything coming after belongs to the body, with the whole document bracketed by the two [cmd manpage_*] commands. Before and after these opening and |
︙ | ︙ | |||
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [para] Given the above a less minimal example of a document is [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [lb][cmd {copyright {YEAR AUTHOR}}][rb] [lb][cmd {titledesc TITLE}][rb] [lb][cmd {moddesc MODULE_TITLE}][rb] [lb][cmd {require PACKAGE VERSION}][rb] [lb][cmd {require PACKAGE}][rb] [lb]description[rb] [lb]manpage_end[rb] [example_end] Remember that the whitespace is optional. The document [example { [manpage_begin NAME SECTION VERSION] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] | > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > < | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 | [para] Given the above a less minimal example of a document is [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb][cmd {copyright {YEAR AUTHOR}}][rb] [lb][cmd {titledesc TITLE}][rb] [lb][cmd {moddesc MODULE_TITLE}][rb] [lb][cmd {require PACKAGE VERSION}][rb] [lb][cmd {require PACKAGE}][rb] [lb]description[rb] [lb]manpage_end[rb] [example_end] Remember that the whitespace is optional. The document [example { [manpage_begin NAME SECTION VERSION] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [copyright {YEAR AUTHOR}][titledesc TITLE][moddesc MODULE_TITLE] [require PACKAGE VERSION][require PACKAGE][description] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] }] has the same meaning as the example before. [para] On the other hand, if [term whitespace] is present it consists not only of any sequence of characters containing the space character, horizontal and vertical tabs, carriage return, and newline, but it may contain comment markup as well, in the form of the [cmd comment] command. [example_begin] [lb][cmd {comment { ... }}][rb] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb]copyright {YEAR AUTHOR}[rb] [lb]titledesc TITLE[rb] [lb]moddesc MODULE_TITLE[rb][lb][cmd {comment { ... }}][rb] [lb]require PACKAGE VERSION[rb] [lb]require PACKAGE[rb] [lb]description[rb] [lb]manpage_end[rb] [lb][cmd {comment { ... }}][rb] [example_end] [subsection {Advanced structure}] In the simple examples of the last section we fudged a bit regarding the markup actually allowed to be used before the [cmd manpage_begin] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] command opening the document. [para] Instead of only whitespace the two templating commands [cmd include] and [cmd vset] are also allowed, to enable the writer to either set and/or import configuration settings relevant to the document. I.e. it is possible to write [example_begin] [lb][cmd {include FILE}][rb] [lb][cmd {vset VAR VALUE}][rb] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb]description[rb] [lb]manpage_end[rb] [example_end] Even more important, these two commands are allowed anywhere where a markup command is allowed, without regard for any other structure. I.e. for example in the header as well. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb][cmd {include FILE}][rb] [lb][cmd {vset VAR VALUE}][rb] [lb]description[rb] [lb]manpage_end[rb] [example_end] The only restriction [cmd include] has to obey is that the contents of the included file must be valid at the place of the inclusion. I.e. a file included before [cmd manpage_begin] may contain only the [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] templating commands [cmd vset] and [cmd include], a file included in the header may contain only header commands, etc. [subsection {Text structure}] The body of the document consists mainly of text, possibly split into sections, subsections, and paragraphs, with parts marked up to highlight various semantic categories of text, and additional structure through the use of examples and (nested) lists. |
︙ | ︙ | |||
200 201 202 203 204 205 206 207 208 209 210 211 212 213 | of this command closes the previous paragraph and automatically opens the next. The first paragraph is automatically opened at the beginning of the body, by [cmd description]. In the same manner the last paragraph automatically ends at [cmd manpage_end]. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [lb]description[rb] ... [lb][cmd para][rb] ... [lb][cmd para][rb] ... [lb]manpage_end[rb] | > > > > > > > > > > | 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | of this command closes the previous paragraph and automatically opens the next. The first paragraph is automatically opened at the beginning of the body, by [cmd description]. In the same manner the last paragraph automatically ends at [cmd manpage_end]. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb]description[rb] ... [lb][cmd para][rb] ... [lb][cmd para][rb] ... [lb]manpage_end[rb] |
︙ | ︙ | |||
229 230 231 232 233 234 235 236 237 238 239 240 241 242 | [para] Empty sections are [emph not] ignored. We are free to (not) use paragraphs within sections. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [lb]description[rb] ... [lb][cmd {section {Section A}}][rb] ... [lb]para[rb] ... [lb][cmd {section {Section B}}][rb] | > > > > > > > > > > | 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | [para] Empty sections are [emph not] ignored. We are free to (not) use paragraphs within sections. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb]description[rb] ... [lb][cmd {section {Section A}}][rb] ... [lb]para[rb] ... [lb][cmd {section {Section B}}][rb] |
︙ | ︙ | |||
256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | [para] Empty subsections are [emph not] ignored. We are free to (not) use paragraphs within subsections. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [lb]description[rb] ... [lb]section {Section A}[rb] ... [lb][cmd {subsection {Sub 1}}][rb] ... [lb]para[rb] ... [lb][cmd {subsection {Sub 2}}][rb] ... [lb]section {Section B}[rb] ... [lb]manpage_end[rb] [example_end] | > > > > > > > > > > < | 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | [para] Empty subsections are [emph not] ignored. We are free to (not) use paragraphs within subsections. [example_begin] [lb]manpage_begin NAME SECTION VERSION[rb] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [lb]description[rb] ... [lb]section {Section A}[rb] ... [lb][cmd {subsection {Sub 1}}][rb] ... [lb]para[rb] ... [lb][cmd {subsection {Sub 2}}][rb] ... [lb]section {Section B}[rb] ... [lb]manpage_end[rb] [example_end] [subsection {Text markup}] Having handled the overall structure a writer can impose on the document we now take a closer at the text in a paragraph. [para] |
︙ | ︙ | |||
341 342 343 344 345 346 347 | Text structure. List element. Argument list. Automatically closes the previous list element. Specifies the data-[lb][cmd {arg type}][rb] of the described argument of a command, its [lb][cmd {arg name}][rb] and its i/o-[lb][cmd {arg mode}][rb]. The latter is optional. ... [example_end] | < | 461 462 463 464 465 466 467 468 469 470 471 472 473 474 | Text structure. List element. Argument list. Automatically closes the previous list element. Specifies the data-[lb][cmd {arg type}][rb] of the described argument of a command, its [lb][cmd {arg name}][rb] and its i/o-[lb][cmd {arg mode}][rb]. The latter is optional. ... [example_end] [subsection Escapes] Beyond the 20 commands for simple markup shown in the previous section we have two more available which are technically simple markup. However their function is not the marking up of phrases as specific types of things, but the insertion of characters, namely [const [lb]] |
︙ | ︙ | |||
367 368 369 370 371 372 373 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] | < | 486 487 488 489 490 491 492 493 494 495 496 497 498 499 | [example_begin] ... These commands, [lb]cmd lb[rb] and [lb]cmd lb[rb] respectively, are required because our use of [lb][cmd lb][rb] and [lb][cmd rb][rb] to bracket markup commands makes it impossible to directly use [lb][cmd lb][rb] and [lb][cmd rb][rb] within the text. ... [example_end] [subsection Cross-references] The last two commands we have to discuss are for the declaration of cross-references between documents, explicit and implicit. They are [cmd keywords] and [cmd see_also]. Both take an arbitrary number of arguments, all of which have to be plain unmarked text. I.e. it is not |
︙ | ︙ | |||
399 400 401 402 403 404 405 406 407 408 409 410 411 412 | [list_end] [para] All the cross-reference commands can occur anywhere in the document between [cmd manpage_begin] and [cmd manpage_end]. As such the writer can choose whether she wants to have them at the beginning of the body, or at its end, maybe near the place a keyword is actually defined by the main content, or considers them as meta data which should be in the header, etc. [para] | > > > > > > > > > > | 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 | [list_end] [para] All the cross-reference commands can occur anywhere in the document between [cmd manpage_begin] and [cmd manpage_end]. As such the writer [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_syntax] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] can choose whether she wants to have them at the beginning of the body, or at its end, maybe near the place a keyword is actually defined by the main content, or considers them as meta data which should be in the header, etc. [para] |
︙ | ︙ | |||
420 421 422 423 424 425 426 | [lb][cmd {see_also doctools_lang_syntax}][rb] [lb][cmd {see_also doctools_lang_cmdref}][rb] [lb][cmd {keywords markup {semantic markup}}][rb] [lb][cmd {keywords {doctools markup} {doctools language}}][rb] [lb][cmd {keywords {doctools syntax} {doctools commands}}][rb] [lb]manpage_end[rb] [example_end] | < | 548 549 550 551 552 553 554 555 556 557 558 559 560 561 | [lb][cmd {see_also doctools_lang_syntax}][rb] [lb][cmd {see_also doctools_lang_cmdref}][rb] [lb][cmd {keywords markup {semantic markup}}][rb] [lb][cmd {keywords {doctools markup} {doctools language}}][rb] [lb][cmd {keywords {doctools syntax} {doctools commands}}][rb] [lb]manpage_end[rb] [example_end] [subsection Examples] Where ever we can write plain text we can write examples too. For simple examples we have the command [cmd example] which takes a single argument, the text of the argument. The example text must not contain markup. If we wish to have markup within an example we have to use the |
︙ | ︙ | |||
458 459 460 461 462 463 464 | Using [cmd example_begin] / [cmd example_end] this would look like [example_begin] [lb][cmd example_begin][rb] ... [lb]list_begin enumerated[rb] ... [lb][cmd example_end][rb] [example_end] | < | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 | Using [cmd example_begin] / [cmd example_end] this would look like [example_begin] [lb][cmd example_begin][rb] ... [lb]list_begin enumerated[rb] ... [lb][cmd example_end][rb] [example_end] [subsection Lists] Where ever we can write plain text we can write lists too. The main commands are [cmd list_begin] to start a list, and [cmd list_end] to close one. The opening command takes an argument specifying the type of list started it, and this in turn determines which of the eight |
︙ | ︙ | |||
574 575 576 577 578 579 580 | ... [lb][cmd {section {ILLEGAL WITHIN THE LIST}}][rb] ... [lb]list_end[rb] ... [example_end] | < | < | < < < < < < < < < < < < < < | 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 | ... [lb][cmd {section {ILLEGAL WITHIN THE LIST}}][rb] ... [lb]list_end[rb] ... [example_end] [section {FURTHER READING}] Now that this document has been digested the reader, assumed to be a [term writer] of documentation should be fortified enough to be able to understand the formal [term {doctools language syntax}] specification as well. From here on out the [term {doctools language command reference}] will also serve as the detailed specification and cheat sheet for all available commands and their syntax. [para] To be able to validate a document while writing it, it is also recommended to familiarize oneself with one of the applications for the processing and conversion of doctools documents, i.e. either Tcllib's easy and simple [syscmd dtplite], or Tclapps' ultra-configurable [syscmd dtp]. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_lang_syntax.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_syntax n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the doctools markup language, version 1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {doctools language command reference}]. A beginner should read the much more informally written [term {doctools language introduction}] first before trying to understand either this document or the command reference. | > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_lang_syntax n 1.0] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [keywords {doctools commands}] [keywords {doctools language}] [keywords {doctools markup}] [keywords {doctools syntax}] [keywords markup] [keywords {semantic markup}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools language syntax}] [category {Documentation tools}] [description] [para] This document contains the formal specification of the syntax of the doctools markup language, version 1 in Backus-Naur-Form. This document is intended to be a reference, complementing the [term {doctools language command reference}]. A beginner should read the much more informally written [term {doctools language introduction}] first before trying to understand either this document or the command reference. [section Fundamentals] In the broadest terms possible the [term {doctools markup language}] is LaTeX-like, instead of like SGML and similar languages. A document written in this language consists primarily of text, with markup commands embedded into it. |
︙ | ︙ | |||
60 61 62 63 64 65 66 | The rules listed here specify only the syntax of doctools documents. The lexical level of the language was covered in the previous section. [para] | | | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | The rules listed here specify only the syntax of doctools documents. The lexical level of the language was covered in the previous section. [para] Regarding the syntax of the (E)BNF itself [list_begin enumerated] [enum] The construct { X } stands for zero or more occurrences of X. [enum] The construct [lb] X [rb] stands for zero or one occurrence of X. [enum] |
︙ | ︙ | |||
124 125 126 127 128 129 130 | def_list = [ <WHITE> ] { (DEF|CALL) paras } enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } }] | | < | < < < < < < < < < < < < < < | 133 134 135 136 137 138 139 140 141 142 | def_list = [ <WHITE> ] { (DEF|CALL) paras } enum_list = [ <WHITE> ] { ENUM paras } item_list = [ <WHITE> ] { ITEM paras } optd_list = [ <WHITE> ] { OPT_DEF paras } tkoptd_list = [ <WHITE> ] { TKOPTION_DEF paras } }] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools/doctools_plugin_apiref.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_plugin_apiref n 1.1] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools plugin API reference}] [category {Documentation tools}] [description] [para] | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools_plugin_apiref n 1.1] [see_also doctools] [see_also doctools_intro] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [keywords document] [keywords formatter] [keywords {formatting engine}] [keywords manpage] [keywords markup] [keywords {semantic markup}] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {doctools plugin API reference}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
26 27 28 29 30 31 32 | A reader who is on the other hand more interested in the markup language itself should start with the [term {doctools language introduction}] and proceed from there to the formal specifications, i.e. the [term {doctools language syntax}] and the [term {doctools language command reference}]. | < < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | A reader who is on the other hand more interested in the markup language itself should start with the [term {doctools language introduction}] and proceed from there to the formal specifications, i.e. the [term {doctools language syntax}] and the [term {doctools language command reference}]. [section OVERVIEW] The API for a doctools formatting engine consists of two major sections. [para] |
︙ | ︙ | |||
49 50 51 52 53 54 55 | And on the other side the plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They, again, fall into two categories, management and formatting. Please see section [sectref {PLUGIN COMMANDS}] and its subsections for their detailed specification. | < < | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | And on the other side the plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They, again, fall into two categories, management and formatting. Please see section [sectref {PLUGIN COMMANDS}] and its subsections for their detailed specification. [section {FRONTEND COMMANDS}] This section specifies the set of commands through which a plugin, also known as a doctools formatting engine, is able to query the frontend. These commands are provided by the frontend and linked into the plugin interpreter. |
︙ | ︙ | |||
229 230 231 232 233 234 235 | The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections. | < < | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | The plugin has to provide its own set of commands which will then be called by the frontend in a specific sequence while processing input. They fall into two categories, management and formatting. Their expected names, signatures, and responsibilities are specified in the following two subsections. [subsection {Management commands}] The management commands a plugin has to provide are used by the frontend to [list_begin enumerated] [enum] initialize and shutdown the plugin |
︙ | ︙ | |||
328 329 330 331 332 333 334 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. | < < < < < < | 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | the first command of that run. Note that a run is not a pass, but may consist of multiple passes. It has to initialize the general state of the plugin, beyond the initialization done during the load. No return value is expected, and any returned value is ignored. [call [cmd fmt_listvariables]] [emph Initialization/Shutdown] and [emph {Engine parameters}]. Second command is called after the plugin code has been loaded, i.e. immediately after [cmd fmt_numpasses]. It has to return a list containing the names of the parameters the frontend can set to configure the engine. This list can be empty. [call [cmd fmt_numpasses]] [emph Initialization/Shutdown] and [emph {Pass management}]. First command called after the plugin code has been loaded. No other command of the engine will be called before it. It has to return the number of passes this engine requires to fully process the input document. This value has to be an integer number greater or equal to one. [call [cmd fmt_postprocess] [arg text]] [emph Initialization/Shutdown]. This command is called immediately after the last pass in a run. Its argument is the result of the conversion generated by that pass. It is provided to allow the engine to perform any global modifications of the generated document. If no post-processing is required for a specific format the command has to just return the argument. [para] Expected to return a value, the final result of formatting the input. [call [cmd fmt_setup] [arg n]] [emph Initialization/Shutdown] and [emph {Pass management}]. This command is called at the beginning of each pass over the input in a run. Its argument is the number of the pass which has begun. Passes are counted from [const 1] upward. The command has to set up the internal state of the plugin for this particular pass. No return value is expected, and any returned value is ignored. [call [cmd fmt_shutdown]] [emph Initialization/Shutdown]. This command is called at the end of every conversion run. It is the last command called in a run. It has to clean up of all the run-specific state in the plugin. After the call the engine has to be in a state which allows the initiation of another run without fear that information from the last run is leaked into this new run. No return value is expected, and any returned value is ignored. [call [cmd fmt_varset] [arg varname] [arg text]] [emph {Engine parameters}]. This command is called by the frontend to set an engine parameter to a particular value. |
︙ | ︙ | |||
411 412 413 414 415 416 417 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] | < < | 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | [para] The values of all engine parameters have to persist between passes and runs. [list_end] [subsection {Formatting commands}] The formatting commands have to implement the formatting for the output format, for all the markup commands of the doctools markup language, except [cmd lb], [cmd rb], [cmd vset], [cmd include], and [cmd comment]. These exceptions are processed by the frontend and are |
︙ | ︙ | |||
471 472 473 474 475 476 477 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] | | | < < < < < < < < < < < < < < < < < | 469 470 471 472 473 474 475 476 477 478 | [para] The formatted text is expected as the result of the command, and added to the output. If no special processing is required it has to simply return its argument without change. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Added modules/doctools/include/examples.inc.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | [section EXAMPLES] [subsection "Where do I find [vset theformat] examples?"] We have no direct examples of documents written using [vset theformat] markup. However the doctools processor [syscmd dtplite] does generate a table of contents when processing a set of documents written in doctools markup. The intermediate file for it uses [vset theformat] markup and is not deleted when generation completes. Such files can therefore serve as examples. [para] [syscmd dtplite] is distributed as part of Tcllib, so to get it you need one of [list_begin enumerated] [enum] A snapshot of Tcllib. How to retrieve such a snapshot and the tools required for this are described at [uri {/wiki?name=Development+Snapshots} {Development Snapshots}] [enum] A Tcllib release archive. They are available at the [uri /home home] page. [list_end] |
Added modules/doctools/include/placeholder.inc.
> > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [subsection {What is this document?}] This document is currently mainly a placeholder, to be filled with commonly asked questions about the [vset theformat] markup language and companions, and their answers. [para] Please report any questions (and, if possible, answers) we should consider for this document as explained in the section [sectref {Bugs, Ideas, Feedback}] below. |
Changes to modules/doctools/mpexpand.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mpexpand n 1.0] [copyright {2002 Andreas Kupries <[email protected]>}] [copyright {2003 Andreas Kupries <[email protected]>}] [moddesc {Documentation toolbox}] [titledesc {Markup processor}] [category {Documentation tools}] [description] [para] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mpexpand n 1.0] [see_also expander(n)] [see_also format(n)] [see_also formatter(n)] [keywords conversion] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [copyright {2002 Andreas Kupries <[email protected]>}] [copyright {2003 Andreas Kupries <[email protected]>}] [moddesc {Documentation toolbox}] [titledesc {Markup processor}] [category {Documentation tools}] [description] [para] |
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. [def [const null]] The processor does not generate any output. [list_end] | > > > > > > > > > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. [see_also expander(n)] [see_also format(n)] [see_also formatter(n)] [keywords conversion] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [def [const null]] The processor does not generate any output. [list_end] |
︙ | ︙ | |||
80 81 82 83 84 85 86 | [list_end] [section NOTES] [para] Possible future formats are plain text, pdf and postscript. | | | | 98 99 100 101 102 103 104 105 106 107 | [list_end] [section NOTES] [para] Possible future formats are plain text, pdf and postscript. [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2base/html_cssdefaults.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::html::cssdefaults n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Default CSS style for HTML export plugins}] [category {Documentation tools}] [require Tcl 8.4] [require doctools::html::cssdefaults [opt 0.1]] | > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::html::cssdefaults n 0.1] [keywords CSS] [keywords doctools] [keywords export] [keywords HTML] [keywords plugin] [keywords style] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Default CSS style for HTML export plugins}] [category {Documentation tools}] [require Tcl 8.4] [require doctools::html::cssdefaults [opt 0.1]] [description] This package provides a single command providing access to the text of the default CSS style to use for HTML markup generated by the various HTML export plugins. [para] |
︙ | ︙ | |||
25 26 27 28 29 30 31 | [call [cmd ::doctools::html::cssdefaults::contents]] This command returns the text of the default CSS style to use for HTML markup generated by the various HTML export plugins. [list_end] | < | 30 31 32 33 34 35 36 37 38 39 40 | [call [cmd ::doctools::html::cssdefaults::contents]] This command returns the text of the default CSS style to use for HTML markup generated by the various HTML export plugins. [list_end] [vset CATEGORY doctools] [include include/feedback.inc] [manpage_end] |
Changes to modules/doctools2base/include/feedback.inc.
1 | [section {Bugs, Ideas, Feedback}] | | | | 1 2 3 4 5 6 7 8 9 10 | [section {Bugs, Ideas, Feedback}] [vset TRACKER http://core.tcl.tk/tcllib/reportlist] [vset LABEL {Tcllib Trackers}] This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category [emph [vset CATEGORY]] of the [uri [vset TRACKER] [vset LABEL]]. |
︙ | ︙ |
Changes to modules/doctools2base/nroff_manmacros.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::nroff::man_macros n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Default CSS style for NROFF export plugins}] [category {Documentation tools}] [require Tcl 8.4] [require doctools::nroff::man_macros [opt 0.1]] | > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::nroff::man_macros n 0.1] [keywords doctools] [keywords export] [keywords macros] [keywords man_macros] [keywords nroff] [keywords plugin] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Default CSS style for NROFF export plugins}] [category {Documentation tools}] [require Tcl 8.4] [require doctools::nroff::man_macros [opt 0.1]] [description] This package provides a single command providing access to the definition of the nroff [emph man] macro set to use for NROFF markup generated by the various NROFF export plugins. [para] |
︙ | ︙ | |||
25 26 27 28 29 30 31 | [call [cmd ::doctools::nroff::man_macros::contents]] This command returns the text of the default CSS style to use for NROFF generated by the various NROFF export plugins. [list_end] | < | 30 31 32 33 34 35 36 37 38 39 40 | [call [cmd ::doctools::nroff::man_macros::contents]] This command returns the text of the default CSS style to use for NROFF generated by the various NROFF export plugins. [list_end] [vset CATEGORY doctools] [include include/feedback.inc] [manpage_end] |
Changes to modules/doctools2base/tcl_parse.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::tcl::parse n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in 'subst -novariables' format}] [category {Documentation tools}] | > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::tcl::parse n 1] [keywords command] [keywords doctools] [keywords parser] [keywords subst] [keywords {Tcl syntax}] [keywords word] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Processing text in 'subst -novariables' format}] [category {Documentation tools}] [require Tcl 8.4] [require snit] [require fileutil] [require logger] [require struct::list] [require struct::stack] [require struct::set] |
︙ | ︙ | |||
52 53 54 55 56 57 58 | [package struct::tree]. [para] In case of errors [arg tree] will be left in an undefined state. | < < < | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | [package struct::tree]. [para] In case of errors [arg tree] will be left in an undefined state. [call [cmd ::doctools::tcl::parse] [method file] \ [arg tree] [arg path] [opt [arg root]]] The same as [method text], except that the text to parse is read from the file specified by [arg path]. [list_end] [section {Error format}] When the parser encounters a problem in the input it will throw an error using the format described here. |
︙ | ︙ | |||
104 105 106 107 108 109 110 | [enum] The line the problem was found on (counted from 1 (one)), [enum] The column the problem was found at (counted from 0 (zero)) [list_end] [list_end] | < | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | [enum] The line the problem was found on (counted from 1 (one)), [enum] The column the problem was found at (counted from 0 (zero)) [list_end] [list_end] [section {Tree Structure}] After successfully parsing a string the generated tree will have the following structure: [list_begin enumerated] |
︙ | ︙ | |||
172 173 174 175 176 177 178 | [enum] All Text nodes are leaves of the tree. [enum] All leaves of the tree are either Text or Command nodes. Word nodes cannot be leaves. [list_end] | < | 173 174 175 176 177 178 179 180 181 182 183 | [enum] All Text nodes are leaves of the tree. [enum] All leaves of the tree are either Text or Command nodes. Word nodes cannot be leaves. [list_end] [vset CATEGORY doctools] [include include/feedback.inc] [manpage_end] |
Changes to modules/doctools2base/tcllib_msgcat.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::msgcat n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Message catalog management for the various document parsers}] [category {Documentation tools}] [require Tcl 8.4] [require msgcat] [require doctools::msgcat [opt 0.1]] [description] | > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::msgcat n 0.1] [keywords {catalog package}] [keywords docidx] [keywords doctoc] [keywords doctools] [keywords i18n] [keywords internationalization] [keywords l10n] [keywords localization] [keywords {message catalog}] [keywords {message package}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Message catalog management for the various document parsers}] [category {Documentation tools}] [require Tcl 8.4] [require msgcat] [require doctools::msgcat [opt 0.1]] [description] The package [package doctools::msgcat] is a support module handling the selection of message catalogs for the various document processing packages in the doctools system version 2. As such it is an internal package a regular user (developer) should not be in direct contact with. |
︙ | ︙ | |||
50 51 52 53 54 55 56 | The names of the packages the command will look for have the form "doctools::msgcat::[arg prefix]::[var langcode]", with [arg prefix] the argument to the command, and the [var langcode] supplied by the result of [cmd msgcat::mcpreferences]. [list_end] | < | 57 58 59 60 61 62 63 64 65 66 67 | The names of the packages the command will look for have the form "doctools::msgcat::[arg prefix]::[var langcode]", with [arg prefix] the argument to the command, and the [var langcode] supplied by the result of [cmd msgcat::mcpreferences]. [list_end] [vset CATEGORY doctools] [include include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/container.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx n 2] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Holding keyword indices}] [category {Documentation tools}] [require doctools::idx [opt 2]] [require Tcl 8.4] [require doctools::idx::structure] [require snit] | > > > > > > > > > > > > > > > > > > > > > < < < < | < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx n 2] [keywords conversion] [keywords {docidx markup}] [keywords documentation] [keywords formatting] [keywords generation] [keywords HTML] [keywords index] [keywords json] [keywords {keyword index}] [keywords latex] [keywords manpage] [keywords markup] [keywords nroff] [keywords parsing] [keywords plugin] [keywords reference] [keywords {tcler's wiki}] [keywords text] [keywords TMML] [keywords url] [keywords wiki] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Holding keyword indices}] [category {Documentation tools}] [require doctools::idx [opt 2]] [require Tcl 8.4] [require doctools::idx::structure] [require snit] [description] This package provides a class to contain and programmatically manipulate keyword indices [para] This is one of the three public pillars the management of keyword indices resides on. The other two pillars are [list_begin enum] [enum] [manpage {Exporting keyword indices}], and [enum] [manpage {Importing keyword indices}] [list_end] [para] For information about the [sectref Concepts] of keyword indices, and their parts, see the same-named section. For information about the data structure which is used to encode keyword indices as values see the section [sectref {Keyword index serialization format}]. This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::idx] [arg objectName]] This command creates a new container object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::idx] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {key add}] [arg name]] This method adds the keyword [arg name] to the index. If the keyword is already known nothing is done. The result of the method is the empty string. [call [arg objectName] [method {key remove}] [arg name]] This method removes the keyword [arg name] from the index. If the keyword is already gone nothing is done. Any references for whom this keyword was the last association are removed as well. The result of the method is the empty string. [call [arg objectName] [method {key references}] [arg name]] This method returns a list containing the names of all references associated with the keyword [arg name]. An error is thrown in the keyword is not known to the index. The order of the references in the list is undefined. [call [arg objectName] [method keys]] This method returns a list containing the names of all keywords known to the index. The order of the keywords in the list is undefined. [call [arg objectName] [method {reference add}] [arg type] [arg key] [arg name] [arg label]] This method adds the reference [arg name] to the index and associates it with the keyword [arg key]. The other two arguments hold the [arg type] and [arg label] of the |
︙ | ︙ | |||
138 139 140 141 142 143 144 | [arg label] updated to the new value. The result of the method is the empty string. [para] The [arg type] argument has be to one of [const manpage] or [const url]. | < < < < < < < < < < < < < < < | < < < | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | [arg label] updated to the new value. The result of the method is the empty string. [para] The [arg type] argument has be to one of [const manpage] or [const url]. [call [arg objectName] [method {reference remove}] [arg name]] The reference [arg name] is removed from the index. All associations with keywords are released and the relevant reference labels removed. The result of the method is the empty string. [call [arg objectName] [method {reference label}] [arg name]] This method returns the label associated with the reference [arg name]. An error is thrown if the reference is not known. [call [arg objectName] [method {reference keys}] [arg name]] This method returns a list containing the names of all keywords associated with the reference [arg name]. An error is thrown in the reference is not known to the index. The order of the keywords in the list is undefined. [call [arg objectName] [method {reference type}] [arg name]] This method returns the type of the reference [arg name]. An error is thrown in the reference is not known to the index. [call [arg objectName] [method references]] This method returns a list containing the names of all references known to the index. The order of the references in the list is undefined. [call [arg objectName] [method title]] Returns the currently defined title of the keyword index. [call [arg objectName] [method title] [arg text]] Sets the title of the keyword index to [arg text], and returns it as the result of the command. [call [arg objectName] [method label]] Returns the currently defined label of the keyword index. [call [arg objectName] [method label] [arg text]] Sets the label of the keyword index to [arg text], and returns it as the result of the command. [call [arg objectName] [method importer]] Returns the import manager object currently attached to the container, if any. [call [arg objectName] [method importer] [arg object]] Attaches the [arg object] as import manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {import text}] which takes a text and a format name, and returns the canonical serialization of the keyword index contained in the text, assuming the given format. [call [arg objectName] [method exporter]] Returns the export manager object currently attached to the container, if any. [call [arg objectName] [method exporter] [arg object]] Attaches the [arg object] as export manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {export object}] which takes the container and a format name, and returns a text encoding keyword index stored in the container, in the given format. It is further expected that the [arg object] will use the container's method [method serialize] to obtain the serialization of the keyword index from which to generate the text. [call [arg objectName] [method {deserialize =}] [arg data] [opt [arg format]]] This method replaces the contents of the index object with the index contained in the [arg data]. If no [arg format] was specified it is assumed to be the regular serialization of a keyword index. [para] Otherwise the object will use the attached import manager to convert the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it. [para] The result of the method is the empty string. [call [arg objectName] [method {deserialize +=}] [arg data] [opt [arg format]]] This method behaves like [method {deserialize =}] in its essentials, except that it merges the keyword index in the [arg data] to its contents instead of replacing it. The method will throw an error if merging is not possible, i.e. would produce an invalid index. The existing content is left unchanged in that case. [para] The result of the method is the empty string. [call [arg objectName] [method serialize] [opt [arg format]]] This method returns the keyword index contained in the object. If no [arg format] is not specified the returned result is the canonical serialization of its contents. [para] Otherwise the object will use the attached export manager to convert the data to the specified format. In that case an error will be thrown if the container has no export manager attached to it. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/export.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::export n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Exporting keyword indices}] [category {Documentation tools}] [require doctools::idx::export [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::idx::structure] [require snit] [require pluginmgr] | > > > > > > > > > > > > > > > > > > > < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::export n 0.1] [keywords conversion] [keywords docidx] [keywords documentation] [keywords export] [keywords formatting] [keywords generation] [keywords HTML] [keywords index] [keywords json] [keywords {keyword index}] [keywords manpage] [keywords markup] [keywords nroff] [keywords plugin] [keywords reference] [keywords {tcler's wiki}] [keywords text] [keywords url] [keywords wiki] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Exporting keyword indices}] [category {Documentation tools}] [require doctools::idx::export [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::idx::structure] [require snit] [require pluginmgr] [description] This package provides a class to manage the plugins for the export of keyword indices to other formats, i.e. their conversion to, for example [term docidx], [term HTML], etc. [para] This is one of the three public pillars the management of keyword indices resides on. The other two pillars are [list_begin enum] [enum] [manpage {Importing keyword indices}], and [enum] [manpage {Holding keyword indices}] [list_end] [para] |
︙ | ︙ | |||
79 80 81 82 83 84 85 | Readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Export plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. | < < < < < | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | Readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Export plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::idx::export] [arg objectName]] This command creates a new export manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::idx::export] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {export serial}] [arg serial] [opt [arg format]]] This method takes the canonical serialization of a keyword index stored in [arg serial] and converts it to the specified [arg format], using the export plugin for the format. An error is thrown if no plugin could be found for the format. |
︙ | ︙ | |||
151 152 153 154 155 156 157 | found in the section [sectref {Keyword index serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Export plugin API v2 reference}]. | < < < < < < < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | found in the section [sectref {Keyword index serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Export plugin API v2 reference}]. [call [arg objectName] [method {export object}] [arg object] [opt [arg format]]] This method is a convenient wrapper around the [method {export serial}] method described by the previous item. It expects that [arg object] is an object command supporting a [method serialize] method returning the canonical serialization of a keyword index. It invokes that method, feeds the result into [method {export serial}] and returns the resulting string as its own result. [call [arg objectName] [method {config names}]] This method returns a list containing the names of all configuration variables currently known to the object. [call [arg objectName] [method {config get}]] This method returns a dictionary containing the names and values of all configuration variables currently known to the object. [call [arg objectName] [method {config set}] [arg name] [opt [arg value]]] This method sets the configuration variable [arg name] to the specified [arg value] and returns the new value of the variable. [para] If no value is specified it simply returns the current value, without changing it. [para] Note that while the user can set the predefined configuration variables [const user] and [const format] doing so will have no effect, these values will be internally overriden when invoking an import plugin. [call [arg objectName] [method {config unset}] [arg pattern]...] This method unsets all configuration variables matching the specified glob [arg pattern]s. If no pattern is specified it will unset all currently defined configuration variables. [list_end] [section {Export plugin API v2 reference}] Plugins are what this package uses to manage the support for any output format beyond the [sectref {Keyword index serialization format}]. Here we specify the API the objects created by this package use to interact with their |
︙ | ︙ | |||
293 294 295 296 297 298 299 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] | < | 297 298 299 300 301 302 303 304 305 306 307 308 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/import.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::import n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Importing keyword indices}] [category {Documentation tools}] [require doctools::idx::import [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::idx::structure] [require snit] [require pluginmgr] | > > > > > > > > > > > > > < < < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::import n 0.1] [keywords conversion] [keywords docidx] [keywords documentation] [keywords import] [keywords index] [keywords json] [keywords {keyword index}] [keywords manpage] [keywords markup] [keywords parsing] [keywords plugin] [keywords reference] [keywords url] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Importing keyword indices}] [category {Documentation tools}] [require doctools::idx::import [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::idx::structure] [require snit] [require pluginmgr] [description] This package provides a class to manage the plugins for the import of keyword indices from other formats, i.e. their conversion from, for example [term docidx], [term json], etc. [para] This is one of the three public pillars the management of keyword indices resides on. The other two pillars are [list_begin enum] [enum] [manpage {Exporting keyword indices}], and [enum] [manpage {Holding keyword indices}] [list_end] [para] |
︙ | ︙ | |||
75 76 77 78 79 80 81 | Readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Import plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. | < < < < < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | Readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Import plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::idx::import] [arg objectName]] This command creates a new import manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::idx::import] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {import text}] [arg text] [opt [arg format]]] This method takes the [arg text] and converts it from the specified [arg format] to the canonical serialization of a keyword index using the import plugin for the format. An error is thrown if no plugin could be found for the format. |
︙ | ︙ | |||
147 148 149 150 151 152 153 | found in the section [sectref {Keyword index serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Import plugin API v2 reference}]. | < < < < < < < < < < < < | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | found in the section [sectref {Keyword index serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Import plugin API v2 reference}]. [call [arg objectName] [method {import file}] [arg path] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It reads the contents of the specified file into memory, feeds the result into [method {import text}] and returns the resulting serialization as its own result. [call [arg objectName] [method {import object text}] [arg object] \ [arg text] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It expects that [arg object] is an object command supporting a [method deserialize] method expecting the canonical serialization of a keyword index. It imports the text using [method {import text}] and then feeds the resulting serialization into the [arg object] via [method deserialize]. This method returns the empty string as it result. [call [arg objectName] [method {import object file}] [arg object] \ [arg path] [opt [arg format]]] This method behaves like [method {import object text}], except that it reads the text to convert from the specified file instead of being given it as argument. [call [arg objectName] [method {config names}]] This method returns a list containing the names of all configuration variables currently known to the object. [call [arg objectName] [method {config get}]] This method returns a dictionary containing the names and values of all configuration variables currently known to the object. [call [arg objectName] [method {config set}] [arg name] [opt [arg value]]] This method sets the configuration variable [arg name] to the specified [arg value] and returns the new value of the variable. [para] If no value is specified it simply returns the current value, without changing it. [para] Note that while the user can set the predefined configuration variables [const user] and [const format] doing so will have no effect, these values will be internally overriden when invoking an import plugin. [call [arg objectName] [method {config unset}] [arg pattern]...] This method unsets all configuration variables matching the specified glob [arg pattern]s. If no pattern is specified it will unset all currently defined configuration variables. [call [arg objectName] [method includes]] This method returns a list containing the currently specified paths to use to search for include files when processing input. The order of paths in the list corresponds to the order in which they are used, from first to last, and also corresponds to the order in which they were added to the object. [call [arg objectName] [method {include add}] [arg path]] This methods adds the specified [arg path] to the list of paths to use to search for include files when processing input. The path is added to the end of the list, causing it to be searched after all previously added paths. The result of the command is the empty string. [para] The method does nothing if the path is already known. [call [arg objectName] [method {include remove}] [arg path]] This methods removes the specified [arg path] from the list of paths to use to search for include files when processing input. The result of the command is the empty string. [para] The method does nothing if the path is not known. [call [arg objectName] [method {include clear}]] This method clears the list of paths to use to search for include files when processing input. The result of the command is the empty string. [list_end] [section {Import plugin API v2 reference}] Plugins are what this package uses to manage the support for any input format beyond the [sectref {Keyword index serialization format}]. Here we specify the API the objects created by this package use to interact with their plugins. |
︙ | ︙ | |||
390 391 392 393 394 395 396 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] | < | 383 384 385 386 387 388 389 390 391 392 393 394 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/introduction.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools2idx_introduction n 2.0] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {DocTools - Keyword indices}] [category {Documentation tools}] | > > > > > > > > > > > > > > > > > > < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools2idx_introduction n 2.0] [see_also docidx_intro] [see_also doctoc_intro] [see_also doctools] [see_also doctools2doc_introduction] [see_also doctools2toc_introduction] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [see_also doctools_plugin_apiref] [keywords conversion] [keywords formatting] [keywords index] [keywords {keyword index}] [keywords markup] [keywords parsing] [keywords plugin] [keywords {semantic markup}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {DocTools - Keyword indices}] [category {Documentation tools}] [comment { }] [description] [term docidx] (short for [emph {documentation indices}]) stands for a set of related, yet different, entities which are working together for the easy creation and transformation of keyword indices for documentation. |
︙ | ︙ | |||
104 105 106 107 108 109 110 | supported formats is extensible through plugin packages. [list_end] See also section [sectref {Package Overview}] for an overview of the dependencies between these and other, supporting packages. | < | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | supported formats is extensible through plugin packages. [list_end] See also section [sectref {Package Overview}] for an overview of the dependencies between these and other, supporting packages. [enum] At last, but not least, [term {plugin writers}] have to understand the interaction between the import and export packages and their plugins. These APIs are described in the documentation for the two relevant packages, i.e. [list_begin itemized] |
︙ | ︙ | |||
129 130 131 132 133 134 135 | intended for the markup of [term {tables of contents}], and of general documentation, respectively. They are described in their own sets of documents, starting at the [manpage {DocTools - Tables Of Contents}] and the [manpage {DocTools - General}], respectively. | < < | 134 135 136 137 138 139 140 141 142 143 144 145 146 | intended for the markup of [term {tables of contents}], and of general documentation, respectively. They are described in their own sets of documents, starting at the [manpage {DocTools - Tables Of Contents}] and the [manpage {DocTools - General}], respectively. [section {Package Overview}] [include include/dependencies.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/parse.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::parse n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Parsing text in docidx format}] [category {Documentation tools}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::parse n 1] [keywords docidx] [keywords doctools] [keywords lexer] [keywords parser] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Parsing text in docidx format}] [category {Documentation tools}] [require doctools::idx::parse [opt 0.1]] [require Tcl 8.4] [require doctools::idx::structure] [require doctools::msgcat] [require doctools::tcl::parse] [require fileutil] [require logger] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | When successful the command returns the canonical serialization of the keyword index which was encoded in the text. See the section [sectref {Keyword index serialization format}] for specification of that format. | < < < < < < < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | When successful the command returns the canonical serialization of the keyword index which was encoded in the text. See the section [sectref {Keyword index serialization format}] for specification of that format. [call [cmd ::doctools::idx::parse] [method file] [arg path]] The same as [method text], except that the text to parse is read from the file specified by [arg path]. [call [cmd ::doctools::idx::parse] [method includes]] This method returns the current list of search paths used when looking for include files. [call [cmd ::doctools::idx::parse] [method {include add}] [arg path]] This method adds the [arg path] to the list of paths searched when looking for an include file. The call is ignored if the path is already in the list of paths. The method returns the empty string as its result. [call [cmd ::doctools::idx::parse] [method {include remove}] [arg path]] This method removes the [arg path] from the list of paths searched when looking for an include file. The call is ignored if the path is not contained in the list of paths. The method returns the empty string as its result. [call [cmd ::doctools::idx::parse] [method {include clear}]] This method clears the list of search paths for include files. [call [cmd ::doctools::idx::parse] [method vars]] This method returns a dictionary containing the current set of predefined variables known to the [cmd vset] markup command during processing. [call [cmd ::doctools::idx::parse] [method {var set}] [arg name] [arg value]] This method adds the variable [arg name] to the set of predefined variables known to the [cmd vset] markup command during processing, and gives it the specified [arg value]. The method returns the empty string as its result. [call [cmd ::doctools::idx::parse] [method {var unset}] [arg name]] This method removes the variable [arg name] from the set of predefined variables known to the [cmd vset] markup command during processing. The method returns the empty string as its result. [call [cmd ::doctools::idx::parse] [method {var clear}] [opt [arg pattern]]] This method removes all variables matching the [arg pattern] from the set of predefined variables known to the [cmd vset] markup command during processing. The method returns the empty string as its result. [para] The pattern matching is done with [cmd {string match}], and the default pattern used when none is specified, is [const *]. [list_end] [section {Parse errors}] The format of the parse error messages thrown when encountering violations of the [term docidx] markup syntax is human readable and not intended for processing by machines. As such it is not documented. |
︙ | ︙ | |||
170 171 172 173 174 175 176 | A list of details for the error, like the markup command involved. In the case of message code [const docidx/include/syntax] this value is the set of errors found in the included file, using the format described here. [list_end] [list_end] | < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | A list of details for the error, like the markup command involved. In the case of message code [const docidx/include/syntax] this value is the set of errors found in the included file, using the format described here. [list_end] [list_end] [include include/format/docidx.inc] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2idx/structure.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::structure n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Docidx serialization utilities}] [category {Documentation tools}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::idx::structure n 0.1] [keywords deserialization] [keywords docidx] [keywords doctools] [keywords serialization] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Docidx serialization utilities}] [category {Documentation tools}] [require doctools::idx::structure [opt 0.1]] [require Tcl 8.4] [require logger] [require snit] [description] This package provides commands to work with the serializations of |
︙ | ︙ | |||
46 47 48 49 50 51 52 | [para] For the specification of regular and canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. | < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | [para] For the specification of regular and canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. [call [cmd ::doctools::idx::structure] [method verify-as-canonical] \ [arg serial]] This command verifies that the content of [arg serial] is a valid [term canonical] serialization of a keyword index and will throw an error if that is not the case. The result of the command is the empty string. [para] For the specification of canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. [call [cmd ::doctools::idx::structure] [method canonicalize] [arg serial]] This command assumes that the content of [arg serial] is a valid [term regular] serialization of a keyword index and will throw an error if that is not the case. [para] It will then convert the input into the [term canonical] serialization of the contained keyword index and return it as its result. If the input is already canonical it will be returned unchanged. [para] For the specification of regular and canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. [call [cmd ::doctools::idx::structure] [method print] [arg serial]] This command assumes that the argument [arg serial] contains a valid regular serialization of a keyword index and returns a string containing that index in a human readable form. [para] The exact format of this form is not specified and cannot be relied on for parsing or other machine-based activities. [para] For the specification of regular keyword index serializations see the section [sectref {Keyword index serialization format}]. [call [cmd ::doctools::idx::structure] [method merge] \ [arg seriala] [arg serialb]] This command accepts the regular serializations of two keyword indices and uses them to create their union. The result of the command is the canonical serialization of this unified keyword index. |
︙ | ︙ | |||
119 120 121 122 123 124 125 | [para] For the specification of regular and canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. [list_end] | < | 117 118 119 120 121 122 123 124 125 126 127 128 129 | [para] For the specification of regular and canonical keyword index serializations see the section [sectref {Keyword index serialization format}]. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/container.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc n 2] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Holding tables of contents}] [category {Documentation tools}] [require doctools::toc [opt 2]] [require Tcl 8.4] [require doctools::toc::structure] [require struct::tree] [require snit] | > > > > > > > > > > > > > > > > > > > < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc n 2] [keywords conversion] [keywords {doctoc markup}] [keywords documentation] [keywords formatting] [keywords generation] [keywords HTML] [keywords json] [keywords latex] [keywords markup] [keywords nroff] [keywords parsing] [keywords plugin] [keywords reference] [keywords table] [keywords {table of contents}] [keywords {tcler's wiki}] [keywords text] [keywords TMML] [keywords wiki] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Holding tables of contents}] [category {Documentation tools}] [require doctools::toc [opt 2]] [require Tcl 8.4] [require doctools::toc::structure] [require struct::tree] [require snit] [description] This package provides a class to contain and programmatically manipulate tables of contents. [para] |
︙ | ︙ | |||
38 39 40 41 42 43 44 | [sectref {ToC serialization format}]. This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience. | < < < < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | [sectref {ToC serialization format}]. This is the only format directly known to this class. Conversions from and to any other format are handled by export and import manager objects. These may be attached to a container, but do not have to be, it is merely a convenience. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::toc] [arg objectName]] This command creates a new container object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::toc] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] |
︙ | ︙ | |||
109 110 111 112 113 114 115 | Beyond the label the element also has a longer descriptive string, supplied via [arg desc]. [para] The result of the method is the handle (id) of the new element. | < < < < < < < < < < < < < < < < < < < < < < < < | < < < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 | Beyond the label the element also has a longer descriptive string, supplied via [arg desc]. [para] The result of the method is the handle (id) of the new element. [call [arg objectName] [method {+ division}] [arg id] [arg label] [opt [arg docid]]] This method adds a new division element to the table of contents, under the element specified via its handle [arg id]. This parent element has to be a division element, or the root. An error is thrown otherwise. The new element will be externally identified by its [arg label], which has to be be unique within the parent element. An error is thrown otherwise. [para] As a division element it is can refer to a document, identified by the symbolic [arg docid], but may choose not to. [para] The result of the method is the handle (id) of the new element. [call [arg objectName] [method remove] [arg id]] This method removes the element identified by the handle [arg id] from the table of contents. If the element is a division all of its children, if any, are removed as well. The root element/division of the table of contents cannot be removed however, only its children. [para] The result of the method is the empty string. [call [arg objectName] [method up] [arg id]] This method returns the handle of the parent for the element identified by its handle [arg id], or the empty string if [arg id] refered to the root element. [call [arg objectName] [method next] [arg id]] This method returns the handle of the right sibling for the element identified by its handle [arg id], or the handle of the parent if the element has no right sibling, or the empty string if [arg id] refered to the root element. [call [arg objectName] [method prev] [arg id]] This method returns the handle of the left sibling for the element identified by its handle [arg id], or the handle of the parent if the element has no left sibling, or the empty string if [arg id] refered to the root element. [call [arg objectName] [method child] [arg id] [arg label] [opt [arg ...]]] This method returns the handle of a child of the element identified by its handle [arg id]. The child itself is identified by a series of labels. [call [arg objectName] [method element] [opt [arg ...]]] This method returns the handle of the element identified by a series of labels, starting from the root of the table of contents. The series of labels is allowed to be empty, in which case the handle of the root element is returned. [call [arg objectName] [method children] [arg id]] This method returns a list containing the handles of all children of the element identified by the handle [arg id], from first to last, in that order. [call [arg objectName] [method type] [arg id]] This method returns the type of the element, either [const reference], or [const division]. [call [arg objectName] [method full-label] [arg id]] This method is the complement of the method [method element], converting the handle [arg id] of an element into a list of labels full identifying the element within the whole table of contents. [call [arg objectName] [method elabel] [arg id] [opt [arg newlabel]]] This method queries and/or changes the label of the element identified by the handle [arg id]. If the argument [arg newlabel] is present then the label is changed to that value. Regardless of this, the result of the method is the current value of the label. [para] If the label is changed the new label has to be unique within the containing division, or an error is thrown. [para] Further, of the [arg id] refers to the root element of the table of contents, then using this method is equivalent to using the method [arg label], i.e. it is accessing the global label for the whole table. [call [arg objectName] [method description] [arg id] [opt [arg newdesc]]] This method queries and/or changes the description of the element identified by the handle [arg id]. If the argument [arg newdesc] is present then the description is changed to that value. Regardless of this, the result of the method is the current value of the description. [para] The element this method operates on has to be a reference element, or an error will be thrown. [call [arg objectName] [method document] [arg id] [opt [arg newdocid]]] This method queries and/or changes the document reference of the element identified by the handle [arg id]. If the argument [arg newdocid] is present then the description is changed to that value. Regardless of this, the result of the method is the current value of the document reference. [para] Setting the reference to the empty string means unsetting it, and is allowed only for division elements. Conversely, if the result is the empty string then the element has no document reference, and this can happen only for division elements. [call [arg objectName] [method title]] Returns the currently defined title of the table of contents. [call [arg objectName] [method title] [arg text]] Sets the title of the table of contents to [arg text], and returns it as the result of the command. [call [arg objectName] [method label]] Returns the currently defined label of the table of contents. [call [arg objectName] [method label] [arg text]] Sets the label of the table of contents to [arg text], and returns it as the result of the command. [call [arg objectName] [method importer]] Returns the import manager object currently attached to the container, if any. [call [arg objectName] [method importer] [arg object]] Attaches the [arg object] as import manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {import text}] which takes a text and a format name, and returns the canonical serialization of the table of contents contained in the text, assuming the given format. [call [arg objectName] [method exporter]] Returns the export manager object currently attached to the container, if any. [call [arg objectName] [method exporter] [arg object]] Attaches the [arg object] as export manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {export object}] which takes the container and a format name, and returns a text encoding table of contents stored in the container, in the given format. It is further expected that the [arg object] will use the container's method [method serialize] to obtain the serialization of the table of contents from which to generate the text. [call [arg objectName] [method {deserialize =}] [arg data] [opt [arg format]]] This method replaces the contents of the table object with the table contained in the [arg data]. If no [arg format] was specified it is assumed to be the regular serialization of a table of contents. [para] Otherwise the object will use the attached import manager to convert the data from the specified format to a serialization it can handle. In that case an error will be thrown if the container has no import manager attached to it. [para] The result of the method is the empty string. [call [arg objectName] [method {deserialize +=}] [arg data] [opt [arg format]]] This method behaves like [method {deserialize =}] in its essentials, except that it merges the table of contents in the [arg data] to its contents instead of replacing it. The method will throw an error if merging is not possible, i.e. would produce an invalid table. The existing content is left unchanged in that case. [para] The result of the method is the empty string. [call [arg objectName] [method serialize] [opt [arg format]]] This method returns the table of contents contained in the object. If no [arg format] is not specified the returned result is the canonical serialization of its contents. [para] Otherwise the object will use the attached export manager to convert the data to the specified format. In that case an error will be thrown if the container has no export manager attached to it. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/export.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::export n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Exporting tables of contents}] [category {Documentation tools}] [require doctools::toc::export [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::toc::structure] [require snit] [require pluginmgr] | > > > > > > > > > > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::export n 0.1] [keywords conversion] [keywords doctoc] [keywords documentation] [keywords export] [keywords formatting] [keywords generation] [keywords HTML] [keywords json] [keywords manpage] [keywords markup] [keywords nroff] [keywords plugin] [keywords reference] [keywords table] [keywords {table of contents}] [keywords {tcler's wiki}] [keywords text] [keywords url] [keywords wiki] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Exporting tables of contents}] [category {Documentation tools}] [require doctools::toc::export [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::toc::structure] [require snit] [require pluginmgr] [description] This package provides a class to manage the plugins for the export of tables of contents to other formats, i.e. their conversion to, for example [term doctoc], [term HTML], etc. [para] |
︙ | ︙ | |||
79 80 81 82 83 84 85 | Readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Export plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. | < < < < < | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | Readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Export plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::toc::export] [arg objectName]] This command creates a new export manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::toc::export] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {export serial}] [arg serial] [opt [arg format]]] This method takes the canonical serialization of a table of contents stored in [arg serial] and converts it to the specified [arg format], using the export plugin for the format. An error is thrown if no plugin could be found for the format. |
︙ | ︙ | |||
151 152 153 154 155 156 157 | found in the section [sectref {ToC serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Export plugin API v2 reference}]. | < < < < < < < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | found in the section [sectref {ToC serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Export plugin API v2 reference}]. [call [arg objectName] [method {export object}] [arg object] [opt [arg format]]] This method is a convenient wrapper around the [method {export serial}] method described by the previous item. It expects that [arg object] is an object command supporting a [method serialize] method returning the canonical serialization of a table of contents. It invokes that method, feeds the result into [method {export serial}] and returns the resulting string as its own result. [call [arg objectName] [method {config names}]] This method returns a list containing the names of all configuration variables currently known to the object. [call [arg objectName] [method {config get}]] This method returns a dictionary containing the names and values of all configuration variables currently known to the object. [call [arg objectName] [method {config set}] [arg name] [opt [arg value]]] This method sets the configuration variable [arg name] to the specified [arg value] and returns the new value of the variable. [para] If no value is specified it simply returns the current value, without changing it. [para] Note that while the user can set the predefined configuration variables [const user] and [const format] doing so will have no effect, these values will be internally overriden when invoking an import plugin. [call [arg objectName] [method {config unset}] [arg pattern]...] This method unsets all configuration variables matching the specified glob [arg pattern]s. If no pattern is specified it will unset all currently defined configuration variables. [list_end] [section {Export plugin API v2 reference}] Plugins are what this package uses to manage the support for any output format beyond the [sectref {ToC serialization format}]. Here we specify the API the objects created by this package use to interact with their plugins. |
︙ | ︙ | |||
291 292 293 294 295 296 297 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] | < | 295 296 297 298 299 300 301 302 303 304 305 306 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/import.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::import n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Importing keyword indices}] [category {Documentation tools}] [require doctools::toc::import [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::toc::structure] [require snit] [require pluginmgr] | > > > > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::import n 0.1] [keywords conversion] [keywords doctoc] [keywords documentation] [keywords import] [keywords json] [keywords manpage] [keywords markup] [keywords parsing] [keywords plugin] [keywords reference] [keywords table] [keywords {table of contents}] [keywords url] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Importing keyword indices}] [category {Documentation tools}] [require doctools::toc::import [opt 0.1]] [require Tcl 8.4] [require doctools::config] [require doctools::toc::structure] [require snit] [require pluginmgr] [description] This package provides a class to manage the plugins for the import of tables of contents from other formats, i.e. their conversion from, for example [term doctoc], [term json], etc. [para] |
︙ | ︙ | |||
75 76 77 78 79 80 81 | Readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Import plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. | < < < < < | 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | Readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s reading and understanding the section containing the [sectref {Import plugin API v2 reference}] is an absolute necessity, as it specifies the interaction between this package and its plugins in detail. [section Concepts] [include include/concept.inc] [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::doctools::toc::import] [arg objectName]] This command creates a new import manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::doctools::toc::import] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {import text}] [arg text] [opt [arg format]]] This method takes the [arg text] and converts it from the specified [arg format] to the canonical serialization of a table of contents using the import plugin for the format. An error is thrown if no plugin could be found for the format. |
︙ | ︙ | |||
147 148 149 150 151 152 153 | found in the section [sectref {ToC serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Import plugin API v2 reference}]. | < < < < < < < < < < < < | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | found in the section [sectref {ToC serialization format}]. [para] The plugin has to conform to the interface specified in section [sectref {Import plugin API v2 reference}]. [call [arg objectName] [method {import file}] [arg path] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It reads the contents of the specified file into memory, feeds the result into [method {import text}] and returns the resulting serialization as its own result. [call [arg objectName] [method {import object text}] [arg object] \ [arg text] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It expects that [arg object] is an object command supporting a [method deserialize] method expecting the canonical serialization of a table of contents. It imports the text using [method {import text}] and then feeds the resulting serialization into the [arg object] via [method deserialize]. This method returns the empty string as it result. [call [arg objectName] [method {import object file}] [arg object] \ [arg path] [opt [arg format]]] This method behaves like [method {import object text}], except that it reads the text to convert from the specified file instead of being given it as argument. [call [arg objectName] [method {config names}]] This method returns a list containing the names of all configuration variables currently known to the object. [call [arg objectName] [method {config get}]] This method returns a dictionary containing the names and values of all configuration variables currently known to the object. [call [arg objectName] [method {config set}] [arg name] [opt [arg value]]] This method sets the configuration variable [arg name] to the specified [arg value] and returns the new value of the variable. [para] If no value is specified it simply returns the current value, without changing it. [para] Note that while the user can set the predefined configuration variables [const user] and [const format] doing so will have no effect, these values will be internally overriden when invoking an import plugin. [call [arg objectName] [method {config unset}] [arg pattern]...] This method unsets all configuration variables matching the specified glob [arg pattern]s. If no pattern is specified it will unset all currently defined configuration variables. [call [arg objectName] [method includes]] This method returns a list containing the currently specified paths to use to search for include files when processing input. The order of paths in the list corresponds to the order in which they are used, from first to last, and also corresponds to the order in which they were added to the object. [call [arg objectName] [method {include add}] [arg path]] This methods adds the specified [arg path] to the list of paths to use to search for include files when processing input. The path is added to the end of the list, causing it to be searched after all previously added paths. The result of the command is the empty string. [para] The method does nothing if the path is already known. [call [arg objectName] [method {include remove}] [arg path]] This methods removes the specified [arg path] from the list of paths to use to search for include files when processing input. The result of the command is the empty string. [para] The method does nothing if the path is not known. [call [arg objectName] [method {include clear}]] This method clears the list of paths to use to search for include files when processing input. The result of the command is the empty string. [list_end] [section {Import plugin API v2 reference}] Plugins are what this package uses to manage the support for any input format beyond the [sectref {ToC serialization format}]. Here we specify the API the objects created by this package use to interact with their plugins. |
︙ | ︙ | |||
390 391 392 393 394 395 396 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] | < | 383 384 385 386 387 388 389 390 391 392 393 394 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of the invokations of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/introduction.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools2toc_introduction n 2.0] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {DocTools - Tables of Contents}] [category {Documentation tools}] | > > > > > > > > > > > > > > > > > < < < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools2toc_introduction n 2.0] [see_also doctoc_intro] [see_also doctools] [see_also doctools2doc_introduction] [see_also doctools2idx_introduction] [see_also doctools_lang_cmdref] [see_also doctools_lang_faq] [see_also doctools_lang_intro] [see_also doctools_lang_syntax] [see_also doctools_plugin_apiref] [keywords contents] [keywords conversion] [keywords formatting] [keywords markup] [keywords parsing] [keywords plugin] [keywords {semantic markup}] [keywords {table of contents}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {DocTools - Tables of Contents}] [category {Documentation tools}] [comment { }] [description] [term doctoc] (short for [emph {documentation tables of contents}]) stands for a set of related, yet different, entities which are working together for the easy creation and transformation of tables and contents for documentation. [para] |
︙ | ︙ | |||
103 104 105 106 107 108 109 | Export of tables of contents to various textual formats. The set of supported formats is extensible through plugin packages. [list_end] See also section [sectref {Package Overview}] for an overview of the dependencies between these and other, supporting packages. | < | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | Export of tables of contents to various textual formats. The set of supported formats is extensible through plugin packages. [list_end] See also section [sectref {Package Overview}] for an overview of the dependencies between these and other, supporting packages. [enum] At last, but not least, [term {plugin writers}] have to understand the interaction between the import and export packages and their plugins. These APIs are described in the documentation for the two relevant packages, i.e. [list_begin itemized] |
︙ | ︙ | |||
128 129 130 131 132 133 134 | intended for the markup of [term {keyword indices}], and of general documentation, respectively. They are described in their own sets of documents, starting at the [manpage {DocTools - Keyword Indices}] and the [manpage {DocTools - General}], respectively. | < < | 131 132 133 134 135 136 137 138 139 140 141 142 143 | intended for the markup of [term {keyword indices}], and of general documentation, respectively. They are described in their own sets of documents, starting at the [manpage {DocTools - Keyword Indices}] and the [manpage {DocTools - General}], respectively. [section {Package Overview}] [include include/dependencies.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/parse.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::parse n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Parsing text in doctoc format}] [category {Documentation tools}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::parse n 1] [keywords doctoc] [keywords doctools] [keywords lexer] [keywords parser] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Parsing text in doctoc format}] [category {Documentation tools}] [require doctools::toc::parse [opt 0.1]] [require Tcl 8.4] [require doctools::toc::structure] [require doctools::msgcat] [require doctools::tcl::parse] [require fileutil] [require logger] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | When successful the command returns the canonical serialization of the table of contents which was encoded in the text. See the section [sectref {ToC serialization format}] for specification of that format. | < < < < < < < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | When successful the command returns the canonical serialization of the table of contents which was encoded in the text. See the section [sectref {ToC serialization format}] for specification of that format. [call [cmd ::doctools::toc::parse] [method file] [arg path]] The same as [method text], except that the text to parse is read from the file specified by [arg path]. [call [cmd ::doctools::toc::parse] [method includes]] This method returns the current list of search paths used when looking for include files. [call [cmd ::doctools::toc::parse] [method {include add}] [arg path]] This method adds the [arg path] to the list of paths searched when looking for an include file. The call is ignored if the path is already in the list of paths. The method returns the empty string as its result. [call [cmd ::doctools::toc::parse] [method {include remove}] [arg path]] This method removes the [arg path] from the list of paths searched when looking for an include file. The call is ignored if the path is not contained in the list of paths. The method returns the empty string as its result. [call [cmd ::doctools::toc::parse] [method {include clear}]] This method clears the list of search paths for include files. [call [cmd ::doctools::toc::parse] [method vars]] This method returns a dictionary containing the current set of predefined variables known to the [cmd vset] markup command during processing. [call [cmd ::doctools::toc::parse] [method {var set}] [arg name] [arg value]] This method adds the variable [arg name] to the set of predefined variables known to the [cmd vset] markup command during processing, and gives it the specified [arg value]. The method returns the empty string as its result. [call [cmd ::doctools::toc::parse] [method {var unset}] [arg name]] This method removes the variable [arg name] from the set of predefined variables known to the [cmd vset] markup command during processing. The method returns the empty string as its result. [call [cmd ::doctools::toc::parse] [method {var clear}] [opt [arg pattern]]] This method removes all variables matching the [arg pattern] from the set of predefined variables known to the [cmd vset] markup command during processing. The method returns the empty string as its result. [para] The pattern matching is done with [cmd {string match}], and the default pattern used when none is specified, is [const *]. [list_end] [section {Parse errors}] The format of the parse error messages thrown when encountering violations of the [term doctoc] markup syntax is human readable and not intended for processing by machines. As such it is not documented. |
︙ | ︙ | |||
170 171 172 173 174 175 176 | A list of details for the error, like the markup command involved. In the case of message code [const doctoc/include/syntax] this value is the set of errors found in the included file, using the format described here. [list_end] [list_end] | < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | A list of details for the error, like the markup command involved. In the case of message code [const doctoc/include/syntax] this value is the set of errors found in the included file, using the format described here. [list_end] [list_end] [include include/format/doctoc.inc] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/doctools2toc/structure.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::structure n 0.1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Doctoc serialization utilities}] [category {Documentation tools}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin doctools::toc::structure n 0.1] [keywords deserialization] [keywords doctoc] [keywords doctools] [keywords serialization] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Documentation tools}] [titledesc {Doctoc serialization utilities}] [category {Documentation tools}] [require doctools::toc::structure [opt 0.1]] [require Tcl 8.4] [require logger] [require snit] [description] This package provides commands to work with the serializations of |
︙ | ︙ | |||
45 46 47 48 49 50 51 | non-canonical serialization. [para] For the specification of regular and canonical serializations see the section [sectref {ToC serialization format}]. | < < < < | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | non-canonical serialization. [para] For the specification of regular and canonical serializations see the section [sectref {ToC serialization format}]. [call [cmd ::doctools::toc::structure] [method verify-as-canonical] \ [arg serial]] This command verifies that the content of [arg serial] is a valid [term canonical] serialization of a table of contents and will throw an error if that is not the case. The result of the command is the empty string. [para] For the specification of canonical serializations see the section [sectref {ToC serialization format}]. [call [cmd ::doctools::toc::structure] [method canonicalize] [arg serial]] This command assumes that the content of [arg serial] is a valid [term regular] serialization of a table of contents and will throw an error if that is not the case. [para] It will then convert the input into the [term canonical] serialization of the contained table of contents and return it as its result. If the input is already canonical it will be returned unchanged. [para] For the specification of regular and canonical serializations see the section [sectref {ToC serialization format}]. [call [cmd ::doctools::toc::structure] [method print] [arg serial]] This command assumes that the argument [arg serial] contains a valid regular serialization of a table of contents and returns a string containing that table in a human readable form. [para] The exact format of this form is not specified and cannot be relied on for parsing or other machine-based activities. [para] For the specification of regular serializations see the section [sectref {ToC serialization format}]. [call [cmd ::doctools::toc::structure] [method merge] \ [arg seriala] [arg serialb]] This command accepts the regular serializations of two tables of contents and uses them to create their union. The result of the command is the canonical serialization of this unified table of |
︙ | ︙ | |||
140 141 142 143 144 145 146 | [para] For the specification of regular and canonical serializations see the section [sectref {ToC serialization format}]. [list_end] | < | 139 140 141 142 143 144 145 146 147 148 149 150 151 | [para] For the specification of regular and canonical serializations see the section [sectref {ToC serialization format}]. [list_end] [include include/serialization.inc] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/dtplite/dtplite.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin dtplite n 1.1] [copyright {2004-2013 Andreas Kupries <[email protected]>}] [titledesc {Lightweight DocTools Markup Processor}] [moddesc {Documentation toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd dtplite], is the successor to the extremely simple [syscmd mpexpand]. Influenced in its functionality by the [syscmd dtp] doctools processor it is much more powerful than [syscmd mpexpand], yet still as easy to use; definitely easier than [syscmd dtp] with its myriad of subcommands and options. [para] [syscmd dtplite] is based upon the package [package doctools], like the other two processors. | > > > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin dtplite n 1.1] [see_also {docidx introduction}] [see_also {doctoc introduction}] [see_also {doctools introduction}] [keywords conversion] [keywords docidx] [keywords doctoc] [keywords doctools] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] [copyright {2004-2013 Andreas Kupries <[email protected]>}] [titledesc {Lightweight DocTools Markup Processor}] [moddesc {Documentation toolbox}] [category {Documentation tools}] [description] [para] The application described by this document, [syscmd dtplite], is the successor to the extremely simple [syscmd mpexpand]. Influenced in its functionality by the [syscmd dtp] doctools processor it is much more powerful than [syscmd mpexpand], yet still as easy to use; definitely easier than [syscmd dtp] with its myriad of subcommands and options. [para] [syscmd dtplite] is based upon the package [package doctools], like the other two processors. [subsection {USE CASES}] [syscmd dtplite] was written with the following three use cases in mind. [para] |
︙ | ︙ | |||
87 88 89 90 91 92 93 | has to exist and must be a writable directory. The generated document will be written to a file in that directory, and the name of that file will be derived from the [arg inputfile], the [arg format], and the value given to option [option -ext] (if present). | < < < < < | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | has to exist and must be a writable directory. The generated document will be written to a file in that directory, and the name of that file will be derived from the [arg inputfile], the [arg format], and the value given to option [option -ext] (if present). [arg_def (path|handle) format in] This argument specifies the formatting engine to use when processing the input, and thus the format of the generated document. See section [sectref FORMATS] for the possibilities recognized by the application. [arg_def path inputfile in] This argument specifies the path to the file to process. It has to exist, must be readable, and written in [term doctools] format. [list_end] [para] [call [cmd dtplite] [const validate] [arg inputfile]] This is a simpler form for use case [lb]1[rb]. The "validate" format generates no output at all, only syntax checks are performed. As such the specification of an output file or other options is not necessary and left out. [call [cmd dtplite] [option -o] [arg output] [opt options] [arg format] [arg inputdirectory]] This is the form for use case [lb]2[rb]. It differs from the form for use case [lb]1[rb] by having the input documents specified through a directory instead of a file. The other arguments are identical, except for [arg output], which now has to be the path to an existing and writable directory. [para] The input documents are all files in [arg inputdirectory] or any of its subdirectories which were recognized by [cmd fileutil::fileType] as containing text in [term doctools] format. [call [cmd dtplite] [option -merge] [option -o] [arg output] [opt options] [arg format] [arg inputdirectory]] This is the form for use case [lb]3[rb]. The only difference to the form for use case [lb]2[rb] is the additional option [option -merge]. [para] |
︙ | ︙ | |||
161 162 163 164 165 166 167 | [opt_def -exclude string] This option specifies an exclude (glob) pattern. Any files identified as manpages to process which match the exclude pattern are ignored. The option can be provided multiple times, each usage adding an additional pattern to the list of exclusions. | < < < < | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | [opt_def -exclude string] This option specifies an exclude (glob) pattern. Any files identified as manpages to process which match the exclude pattern are ignored. The option can be provided multiple times, each usage adding an additional pattern to the list of exclusions. [opt_def -ext string] If the name of an output file has to be derived from the name of an input file it will use the name of the [arg format] as the extension by default. This option here will override this however, forcing it to use [arg string] as the file extension. This option is ignored if the name of the output file is fully specified through option [option -o]. [para] When used multiple times only the last definition is relevant. [opt_def -header file] This option can be used if and only if the selected [arg format] provides an engine parameter named "header". It takes the contents of the specified file and assign them to that parameter, for whatever use by the engine. The HTML engine will insert the text just after the tag [const <body>]. If navigation buttons are present (see option [option -nav] below), then the HTML generated for them is appended to the header data originating here before the final assignment to the parameter. [para] When used multiple times only the last definition is relevant. [opt_def -footer file] Like [option -header], except that: Any navigation buttons are ignored, the corresponding required engine parameter is named "footer", and the data is inserted just before the tag [const </body>]. [para] When used multiple times only the last definition is relevant. [opt_def -style file] This option can be used if and only if the selected [arg format] provides an engine parameter named "meta". When specified it will generate a piece of HTML code declaring the [arg file] as the stylesheet for the generated document and assign that to the |
︙ | ︙ | |||
224 225 226 227 228 229 230 | have no location to copy the stylesheet to and so just reference it as specified. [para] When used multiple times only the last definition is relevant. | < < | 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | have no location to copy the stylesheet to and so just reference it as specified. [para] When used multiple times only the last definition is relevant. [opt_def -toc path|text] This option specifies a doctoc file (or text) to use for the table of contents instead of generating our own. [para] When used multiple times only the last definition is relevant. [opt_def -pre+toc "label path|text"] [opt_def -post+toc "label path|text"] This option specifies additional doctoc files (or texts) to use in the navigation bar. |
︙ | ︙ | |||
264 265 266 267 268 269 270 | navigation bar is created, with the first definition shown at the left edge and the last definition to the right. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. | < < | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 | navigation bar is created, with the first definition shown at the left edge and the last definition to the right. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. [opt_def -postnav "label url"] Use this option to specify a navigation button with [arg label] to display and the [arg url] to link to. This option can be used if and only if the selected [arg format] provides an engine parameter named "header". The HTML generated for this is appended to whatever data we got from option [option -header] before it is inserted into the generated documents. [para] When used multiple times all definitions are collected and a navigation bar is created, with the last definition shown at the right edge and the first definition to the left. [para] The url can be relative. In that case it is assumed to be relative to the main files (TOC and Keyword index), and will be transformed for all others to still link properly. [list_end] [subsection FORMATS] At first the [arg format] argument will be treated as a path to a tcl file containing the code for the requested formatting engine. The argument will be treated as the name of one of the predefined formats listed below if and only if the path does not exist. |
︙ | ︙ | |||
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. This format is used internally to extract the meta data from which both table of contents and keyword index are derived from. [def [const null]] The processor does not generate any output. This is equivalent to [const validate]. [list_end] | > > > > > > > > > > > > < | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 | [def [const wiki]] The processor generates Wiki markup as understood by [syscmd wikit]. [def [const list]] The processor extracts the information provided by [cmd manpage_begin]. [see_also {docidx introduction}] [see_also {doctoc introduction}] [see_also {doctools introduction}] [keywords conversion] [keywords docidx] [keywords doctoc] [keywords doctools] [keywords HTML] [keywords manpage] [keywords markup] [keywords nroff] [keywords TMML] This format is used internally to extract the meta data from which both table of contents and keyword index are derived from. [def [const null]] The processor does not generate any output. This is equivalent to [const validate]. [list_end] [subsection {DIRECTORY STRUCTURES}] In this section we describe the directory structures generated by the application under [arg output] when processing all documents in an [arg inputdirectory]. In other words, this is only relevant to the use cases [lb]2[rb] and [lb]3[rb]. |
︙ | ︙ | |||
382 383 384 385 386 387 388 | The last line in the example shows the document generated for a file FOO located at [example { inputdirectory/path/to/FOO }] | < | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | The last line in the example shows the document generated for a file FOO located at [example { inputdirectory/path/to/FOO }] [def "[lb]3[rb]"] When merging many packages into a unified set of documents the generated directory structure is a bit deeper: [example { |
︙ | ︙ | |||
430 431 432 433 434 435 436 | conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup. [list_end] | < | < < | < < < < < < < < < < < < | 438 439 440 441 442 443 444 445 446 447 | conversion to the chosen output format. They are left in place, i.e. not deleted, to serve as demonstrations of doctoc and docidx markup. [list_end] [vset CATEGORY doctools] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/exif/exif.man.
1 2 3 4 5 6 7 | [manpage_begin exif n 1.1.2] [moddesc {EXIF parsing}] [titledesc {Tcl EXIF extracts and parses EXIF fields from digital images}] [category {File formats}] [require Tcl 8.2] [require exif [opt 1.1.2]] [description] | > > > > < | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [manpage_begin exif n 1.1.2] [keywords exif] [keywords jpeg] [keywords {maker note}] [keywords tiff] [moddesc {EXIF parsing}] [titledesc {Tcl EXIF extracts and parses EXIF fields from digital images}] [category {File formats}] [require Tcl 8.2] [require exif [opt 1.1.2]] [description] [para] The EXIF package is a recoding of Chris Breeze's Perl package to do the same thing. This version accepts a channel as input and returns a serialized array with all the recognised fields parsed out. [para] There is also a function to obtain a list of all possible field names that might be present, which is useful in building GUIs that present such information. [section COMMANDS] [list_begin definitions] [call [cmd exif::analyze] [arg channel] [opt [arg thumbnail]]] [arg channel] should be an open file handle rewound to the start. It does not need to be seekable. [arg channel] will be set to binary |
︙ | ︙ | |||
39 40 41 42 43 44 45 | in the exif data will be written into it. [call [cmd exif::analyzeFile] [arg filename] [opt [arg thumbnail]]] This is a file-based wrapper around [cmd exif::analyze]. Instead of taking a stream it takes a [arg filename] and analyzes the contents of the specified file. | < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | in the exif data will be written into it. [call [cmd exif::analyzeFile] [arg filename] [opt [arg thumbnail]]] This is a file-based wrapper around [cmd exif::analyze]. Instead of taking a stream it takes a [arg filename] and analyzes the contents of the specified file. [call [cmd exif::fieldnames]] This returns a list of all possible field names. That is, the array returned by [cmd exif::analyze] will not contain keys that are not listed in the return from [cmd exif::fieldnames]. Of course, if information is missing in the image file, [cmd exif::analyze] may not |
︙ | ︙ | |||
69 70 71 72 73 74 75 | Hold harmless the author, and any lawful use is allowed. [section ACKNOWLEDGEMENTS] This code is a direct translation of version 1.3 of exif.pl by Chris Breeze. See the source for full headers, references, etc. | < | < < | < < < < < < < | 71 72 73 74 75 76 77 78 79 80 | Hold harmless the author, and any lawful use is allowed. [section ACKNOWLEDGEMENTS] This code is a direct translation of version 1.3 of exif.pl by Chris Breeze. See the source for full headers, references, etc. [vset CATEGORY exif] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fileutil/fileutil.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil n 1.14.5] [moddesc {file utilities}] [titledesc {Procedures implementing some file utilities}] [category {Programming tools}] [require Tcl 8] [require fileutil [opt 1.14.5]] [description] | > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil n 1.14.5] [keywords cat] [keywords {file utilities}] [keywords grep] [keywords {temp file}] [keywords test] [keywords touch] [keywords type] [moddesc {file utilities}] [titledesc {Procedures implementing some file utilities}] [category {Programming tools}] [require Tcl 8] [require fileutil [opt 1.14.5]] [description] [para] This package provides implementations of standard unix utilities. [list_begin definitions] [call [cmd ::fileutil::lexnormalize] [arg path]] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [call [cmd ::fileutil::fullnormalize] [arg path]] This command resolves all symbolic links in the [arg path] and returns the changed path as its result. In contrast to the builtin [cmd {file normalize}] this command resolves a symbolic link in the last element of the path as well. | < | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | [call [cmd ::fileutil::fullnormalize] [arg path]] This command resolves all symbolic links in the [arg path] and returns the changed path as its result. In contrast to the builtin [cmd {file normalize}] this command resolves a symbolic link in the last element of the path as well. [call [cmd ::fileutil::test] [arg path] [arg codes] [opt [arg msgvar]] [opt [arg label]]] A command for the testing of several properties of a [arg path]. The properties to test for are specified in [arg codes], either as a list of keywords describing the properties, or as a string where each letter is a shorthand for a property to test. The recognized keywords, |
︙ | ︙ | |||
72 73 74 75 76 77 78 | [cmd {file executable}] [def "[emph f]ile"] [cmd {file isfile}] [def "[emph d]ir"] [cmd {file isdirectory}] [list_end] | < | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | [cmd {file executable}] [def "[emph f]ile"] [cmd {file isfile}] [def "[emph d]ir"] [cmd {file isdirectory}] [list_end] [call [cmd ::fileutil::cat] ([opt [arg options]] [arg file])...] A tcl implementation of the UNIX [syscmd cat] command. Returns the contents of the specified file(s). The arguments are files to read, with interspersed options configuring the process. If there are problems reading any of the files, an error will occur, and no data will be returned. |
︙ | ︙ | |||
97 98 99 100 101 102 103 | [para] Each file can have its own set of options coming before it, and for anything not specified directly the defaults are inherited from the options of the previous file. The first file inherits the system default for unspecified options. | < < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | [para] Each file can have its own set of options coming before it, and for anything not specified directly the defaults are inherited from the options of the previous file. The first file inherits the system default for unspecified options. [call [cmd ::fileutil::writeFile] [opt [arg options]] [arg file] [arg data]] The command replaces the current contents of the specified [arg file] with [arg data], with the process configured by the options. The command accepts the same options as [cmd ::fileutil::cat]. The specification of a non-existent file is legal and causes the command to create the file (and all required but missing directories). [call [cmd ::fileutil::appendToFile] [opt [arg options]] [arg file] [arg data]] This command is like [cmd ::fileutil::writeFile], except that the previous contents of [arg file] are not replaced, but appended to. The command accepts the same options as [cmd ::fileutil::cat] [call [cmd ::fileutil::insertIntoFile] [opt [arg options]] [arg file] [arg at] [arg data]] This comment is similar to [cmd ::fileutil::appendToFile], except that the new data is not appended at the end, but inserted at a specified location within the file. In further contrast this command has to be given the path to an existing file. It will not create a missing file, |
︙ | ︙ | |||
134 135 136 137 138 139 140 | content, whereas [lb]file size [arg file][rb] causes insertion after the last character of the existing content, i.e. appending. [para] The command accepts the same options as [cmd ::fileutil::cat]. | < < < < < | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | content, whereas [lb]file size [arg file][rb] causes insertion after the last character of the existing content, i.e. appending. [para] The command accepts the same options as [cmd ::fileutil::cat]. [call [cmd ::fileutil::removeFromFile] [opt [arg options]] [arg file] [arg at] [arg n]] This command is the complement to [cmd ::fileutil::insertIntoFile], removing [arg n] characters from the [arg file], starting at location [arg at]. The specified location [arg at] has to be an integer number in the range [const 0] ... [lb]file size [arg file][rb] - [arg n]. [const 0] will cause the removal of the new data to start with the first character of the existing content, whereas [lb]file size [arg file][rb] - [arg n] causes the removal of the tail of the existing content, i.e. the truncation of the file. [para] The command accepts the same options as [cmd ::fileutil::cat]. [call [cmd ::fileutil::replaceInFile] [opt [arg options]] [arg file] [arg at] [arg n] [arg data]] This command is a combination of [cmd ::fileutil::removeFromFile] and [cmd ::fileutil::insertIntoFile]. It first removes the part of the contents specified by the arguments [arg at] and [arg n], and then inserts [arg data] at the given location, effectively replacing the removed by content with [arg data]. All constraints imposed on [arg at] and [arg n] by [cmd ::fileutil::removeFromFile] and [cmd ::fileutil::insertIntoFile] are obeyed. [para] The command accepts the same options as [cmd ::fileutil::cat]. [call [cmd ::fileutil::updateInPlace] [opt [arg options]] [arg file] [arg cmd]] This command can be seen as the generic core functionality of [cmd ::fileutil::replaceInFile]. It first reads the contents of the specified [arg file], then runs the command prefix [arg cmd] with that data appended to it, and at last writes the result of that invokation back as the new contents of the file. [para] If the executed command throws an error the [arg file] is not changed. [para] The command accepts the same options as [cmd ::fileutil::cat]. [call [cmd ::fileutil::fileType] [arg filename]] An implementation of the UNIX [syscmd file] command, which uses various heuristics to guess the type of a file. Returns a list specifying as much type information as can be determined about the file, from most general (eg, "binary" or "text") to most specific (eg, "gif"). For example, the return value for a GIF file would be "binary graphic gif". The command will detect the following types of files: directory, empty, binary, text, script (with interpreter), executable elf, executable dos, executable ne, executable pe, graphic gif, graphic jpeg, graphic png, graphic tiff, graphic bitmap, html, xml (with doctype if available), message pgp, binary pdf, text ps, text eps, binary gravity_wave_data_frame, compressed bzip, compressed gzip, compressed zip, compressed tar, audio wave, audio mpeg, and link. It further detects doctools, doctoc, and docidx documentation files, and tklib diagrams. [call [cmd ::fileutil::find] [opt "[arg basedir] [opt [arg filtercmd]]"]] An implementation of the unix command [syscmd find]. Adapted from the Tcler's Wiki. Takes at most two arguments, the path to the directory to start searching from and a command to use to evaluate interest in each file. The path defaults to [file .], i.e. the current |
︙ | ︙ | |||
241 242 243 244 245 246 247 | [example { # find .tcl files package require fileutil proc is_tcl {name} {return [string match *.tcl $name]} set tcl_files [fileutil::find . is_tcl] }] | < < < | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | [example { # find .tcl files package require fileutil proc is_tcl {name} {return [string match *.tcl $name]} set tcl_files [fileutil::find . is_tcl] }] [call [cmd ::fileutil::findByPattern] [arg basedir] \ [opt [option -regexp]|[option -glob]] [opt [option --]] \ [arg patterns]] This command is based upon the [package TclX] command [cmd recursive_glob], except that it doesn't allow recursion over more than one directory at a time. It uses [cmd ::fileutil::find] internally and is thus able to and does follow symbolic links, something the [package TclX] command does not do. First argument is the directory to start the search in, second argument is a list of [arg patterns]. The command returns a list of all files reachable through [arg basedir] whose names match at least one of the patterns. The options before the pattern-list determine the style of matching, either regexp or glob. glob-style matching is the default if no options are given. Usage of the option [option --] stops option processing. This allows the use of a leading '-' in the patterns. [call [cmd ::fileutil::foreachLine] [arg {var filename cmd}]] The command reads the file [arg filename] and executes the script [arg cmd] for every line in the file. During the execution of the script the variable [arg var] is set to the contents of the current line. The return value of this command is the result of the last invocation of the script [arg cmd] or the empty string if the file was empty. [call [cmd ::fileutil::grep] [arg pattern] [opt [arg files]]] Implementation of [syscmd grep]. Adapted from the Tcler's Wiki. The first argument defines the [arg pattern] to search for. This is followed by a list of [arg files] to search through. The list is optional and [const stdin] will be used if it is missing. The result |
︙ | ︙ | |||
311 312 313 314 315 316 317 | [lb][cmd pwd][rb] (or the current working directory itself) it is made relative to that directory. In other words, the current working directory is stripped from the [arg path]. The possibly modified path is returned as the result of the command. If the current working directory itself was specified for [arg path] the result is the string "[const .]". | < < | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | [lb][cmd pwd][rb] (or the current working directory itself) it is made relative to that directory. In other words, the current working directory is stripped from the [arg path]. The possibly modified path is returned as the result of the command. If the current working directory itself was specified for [arg path] the result is the string "[const .]". [call [cmd ::fileutil::stripPath] [arg prefix] [arg path]] If, and only of the [arg path] is inside of the directory [file prefix] (or the prefix directory itself) it is made relative to that directory. In other words, the prefix directory is stripped from the [arg path]. The possibly modified path is returned as the result of the command. If the prefix directory itself was specified for [arg path] the result is the string "[const .]". [call [cmd ::fileutil::jail] [arg jail] [arg path]] This command ensures that the [arg path] is not escaping the directory [arg jail]. It always returns an absolute path derived from [arg path] which is within [arg jail]. |
︙ | ︙ | |||
345 346 347 348 349 350 351 | An absolute path outside of [arg jail] is stripped of its root element and then put into the [arg jail] by prefixing it with it. The same happens if [arg path] is relative, except that nothing is stripped of it. Before adding the [arg jail] prefix the [arg path] is lexically normalized to prevent the caller from using [const ..] segments in [arg path] to escape the jail. | < < | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 | An absolute path outside of [arg jail] is stripped of its root element and then put into the [arg jail] by prefixing it with it. The same happens if [arg path] is relative, except that nothing is stripped of it. Before adding the [arg jail] prefix the [arg path] is lexically normalized to prevent the caller from using [const ..] segments in [arg path] to escape the jail. [call [cmd ::fileutil::touch] [opt [option -a]] [opt [option -c]] [opt [option -m]] [opt "[option -r] [arg ref_file]"] [opt "[option -t] [arg time]"] [arg filename] [opt [arg ...]]] Implementation of [syscmd touch]. Alter the atime and mtime of the specified files. If [option -c], do not create files if they do not already exist. If [option -r], use the atime and mtime from [arg ref_file]. If [option -t], use the integer clock value [arg time]. It is illegal to specify both [option -r] and [option -t]. If [option -a], only change the atime. If [option -m], only change the mtime. [para] [emph {This command is not available for Tcl versions less than 8.3.}] [call [cmd ::fileutil::tempdir]] The command returns the path of a directory where the caller can place temporary files, such as [file /tmp] on Unix systems. The algorithm we use to find the correct directory is as follows: |
︙ | ︙ | |||
437 438 439 440 441 442 443 | command. [para] The code was taken from [uri http://wiki.tcl.tk/772], attributed to Igor Volobouev and anon. | < < < | 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 | command. [para] The code was taken from [uri http://wiki.tcl.tk/772], attributed to Igor Volobouev and anon. [call [cmd ::fileutil::relative] [arg base] [arg dst]] This command takes two directory paths, both either absolute or relative and computes the path of [arg dst] relative to [arg base]. This relative path is returned as the result of the command. As implied in the previous sentence, the command is not able to compute this relationship between the arguments if one of the paths is absolute and the other relative. [para] [emph Note:] The processing done by this command is purely lexical. Symbolic links are [emph not] taken into account. [call [cmd ::fileutil::relativeUrl] [arg base] [arg dst]] This command takes two file paths, both either absolute or relative and computes the path of [arg dst] relative to [arg base], as seen from inside of the [arg base]. This is the algorithm how a browser resolves a relative link found in the currently shown file. |
︙ | ︙ | |||
473 474 475 476 477 478 479 | [para] [emph Note:] The processing done by this command is purely lexical. Symbolic links are [emph not] taken into account. [list_end] | < < < | < < | < < < < | 459 460 461 462 463 464 465 466 467 468 469 | [para] [emph Note:] The processing done by this command is purely lexical. Symbolic links are [emph not] taken into account. [list_end] [vset CATEGORY fileutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fileutil/multi.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::multi n 0.1] [moddesc {file utilities}] [titledesc {Multi-file operation, scatter/gather, standard object}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::multi [opt 0.1]] [require fileutil::multi::op [opt 0.1]] [require wip [opt 1.0]] [description] | > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::multi n 0.1] [keywords copy] [keywords {file utilities}] [keywords move] [keywords multi-file] [keywords remove] [moddesc {file utilities}] [titledesc {Multi-file operation, scatter/gather, standard object}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::multi [opt 0.1]] [require fileutil::multi::op [opt 0.1]] [require wip [opt 1.0]] [description] [para] This package provides a single command to perform actions on multiple files selected by glob patterns. It is a thin layer over the package [package fileutil::multi::op] which provides objects for the same. This package simply creates a single such object and directs all file commands to it. |
︙ | ︙ | |||
43 44 45 46 47 48 49 | [para] The result of the command is the result generated by the last file command it executed. [list_end] | < | < < | < < < < < < | 47 48 49 50 51 52 53 54 55 56 | [para] The result of the command is the result generated by the last file command it executed. [list_end] [vset CATEGORY fileutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fileutil/multiop.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::multi::op n 0.5.3] [moddesc {file utilities}] [titledesc {Multi-file operation, scatter/gather}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::multi::op [opt 0.5.3]] [require wip [opt 1.0]] [description] | > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::multi::op n 0.5.3] [keywords copy] [keywords {file utilities}] [keywords move] [keywords multi-file] [keywords remove] [moddesc {file utilities}] [titledesc {Multi-file operation, scatter/gather}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::multi::op [opt 0.5.3]] [require wip [opt 1.0]] [description] [para] This package provides objects which are able to perform actions on multiple files selected by glob patterns. [para] |
︙ | ︙ | |||
52 53 54 55 56 57 58 | of the newly constructed object is implicitly invoked using the words as its arguments. [list_end] [para] | < < | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | of the newly constructed object is implicitly invoked using the words as its arguments. [list_end] [para] [section {OBJECT API}] The following methods are possible for multi-file operation objects: [list_begin definitions] [call [cmd \$opName] [method do] [opt [arg word]...]] This method interprets the specified words as file commands to execute. See the section [sectref {FILE API}] for the set of acceptable commands, their syntax, and semantics. [para] The result of the method is the result generated by the last file command it executed. [list_end] [section {FILE API}] Both object constructor and method [method do] take a list of words and interpret them as file commands to execute. The names were chosen to allow the construction of operations as sentences in near-natural language. Most of the commands influence just the state of the object, |
︙ | ︙ | |||
234 235 236 237 238 239 240 | After the operation has been performed the object state the exclude patterns and the alias name, if specified, are reset to their default values (i.e. empty), but nothing else. [call [cmd the-set] [arg varname]] Like [cmd the], however the set of files to use is not specified | | | 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | After the operation has been performed the object state the exclude patterns and the alias name, if specified, are reset to their default values (i.e. empty), but nothing else. [call [cmd the-set] [arg varname]] Like [cmd the], however the set of files to use is not specified implicitly per a glob pattern, but contained and loaded from the specified variable. The operation [cmd expand] is not available if this command is used. [call [cmd ->] [arg varname]] Saves the set of files from the last expansion into the specified variable. |
︙ | ︙ | |||
315 316 317 318 319 320 321 | Returns the current recursion status. [call [cmd strict?]] Returns the current strictness. [call [cmd type?]] Returns the current path type limiter. [list_end] | < | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | Returns the current recursion status. [call [cmd strict?]] Returns the current strictness. [call [cmd type?]] Returns the current path type limiter. [list_end] [section EXAMPLES] The following examples assume that the variable [var F] contains a reference to a multi-file operation object. [example { $F do copy \\ |
︙ | ︙ | |||
392 393 394 395 396 397 398 | from /sources \\ into /scratch \\ but not *.html not index \\ the index \\ as pkgIndex.tcl }] | < | < < | < < < < < < | 393 394 395 396 397 398 399 400 401 402 | from /sources \\ into /scratch \\ but not *.html not index \\ the index \\ as pkgIndex.tcl }] [vset CATEGORY fileutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fileutil/traverse.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- text -*- doctools manpage}] [manpage_begin fileutil_traverse n 0.4.3] [moddesc {file utilities}] [titledesc {Iterative directory traversal}] [category {Programming tools}] [require Tcl 8.3] [require fileutil::traverse [opt 0.4.3]] [require fileutil] [require control] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- text -*- doctools manpage}] [manpage_begin fileutil_traverse n 0.4.3] [keywords {directory traversal}] [keywords traversal] [moddesc {file utilities}] [titledesc {Iterative directory traversal}] [category {Programming tools}] [require Tcl 8.3] [require fileutil::traverse [opt 0.4.3]] [require fileutil] [require control] [description] [para] This package provides objects for the programmable traversal of directory hierarchies. The main command exported by the package is: |
︙ | ︙ | |||
55 56 57 58 59 60 61 | [call [cmd \$traverser] [method files]] This method is the most highlevel one provided by traversal objects. When invoked it returns a list containing the names of all files and directories matching the current configuration of the traverser. | < < < | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | [call [cmd \$traverser] [method files]] This method is the most highlevel one provided by traversal objects. When invoked it returns a list containing the names of all files and directories matching the current configuration of the traverser. [call [cmd \$traverser] [method foreach] [arg filevar] [arg script]] The highlevel [method files] method (see above) is based on this mid-level method. When invoked it finds all files and directories matching per the current configuration and executes the [arg script] for each path. The current path under consideration is stored in the variable named by [arg filevar]. Both variable and script live / are executed in the context of the caller of the method. In the method [method files] the script simply saves the found paths into the list to return. [call [cmd \$traverser] [method next] [arg filevar]] This is the lowest possible interface to the traverser, the core all higher methods are built on. When invoked it returns a boolean value indicating whether it found a path matching the current configuration ([const True]), or not ([const False]). If a path was found it is stored into the variable named by [arg filevar], in the context of the caller. The [method foreach] method simply calls this method in a loop until it returned [const False]. This method is exposed so that we are also able to incrementally traverse a directory hierarchy in an event-based manner. [list_end] [section OPTIONS] [list_begin options] [opt_def -prefilter command_prefix] This callback is executed for directories. Its result determines if |
︙ | ︙ | |||
120 121 122 123 124 125 126 | callbacks are handled through this callback too. Errors thrown by the error callback itself are not caught and ignored, but allowed to pass to the caller, i.e. however invoked the [method next]. Any other results from the callback are ignored. [list_end] | | < | < < < < < < < < < < | 118 119 120 121 122 123 124 125 126 127 | callbacks are handled through this callback too. Errors thrown by the error callback itself are not caught and ignored, but allowed to pass to the caller, i.e. however invoked the [method next]. Any other results from the callback are ignored. [list_end] [vset CATEGORY fileutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ftp/ftp.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftp n 2.4.11] [moddesc {ftp client}] [titledesc {Client-side tcl implementation of the ftp protocol}] [category Networking] [require Tcl 8.2] [require ftp [opt 2.4.11]] [description] | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftp n 2.4.11] [see_also ftpd] [see_also mime] [see_also pop3] [see_also smtp] [keywords ftp] [keywords internet] [keywords net] [keywords {rfc 959}] [moddesc {ftp client}] [titledesc {Client-side tcl implementation of the ftp protocol}] [category Networking] [require Tcl 8.2] [require ftp [opt 2.4.11]] [description] [para] The ftp package provides the client side of the ftp protocol as specified in RFC 959 ([uri http://www.rfc-editor.org/rfc/rfc959.txt]). The package implements both active (default) and passive ftp sessions. |
︙ | ︙ | |||
423 424 425 426 427 428 429 | [para] An update command placed in the procedure [cmd ::ftp::DisplayMsg] may run into persistent errors or infinite loops. The solution to this problem is to use [cmd {update idletasks}] instead of [cmd update]. | < | < < | < < < < < < < < < | 430 431 432 433 434 435 436 437 438 439 | [para] An update command placed in the procedure [cmd ::ftp::DisplayMsg] may run into persistent errors or infinite loops. The solution to this problem is to use [cmd {update idletasks}] instead of [cmd update]. [vset CATEGORY ftp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ftp/ftp_geturl.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftp::geturl n 0.2.1] [moddesc {ftp client}] [titledesc {Uri handler for ftp urls}] [category Networking] [require Tcl 8.2] [require ftp::geturl [opt 0.2.1]] [description] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftp::geturl n 0.2.1] [see_also ftpd] [see_also mime] [see_also pop3] [see_also smtp] [keywords ftp] [keywords internet] [keywords net] [keywords {rfc 959}] [moddesc {ftp client}] [titledesc {Uri handler for ftp urls}] [category Networking] [require Tcl 8.2] [require ftp::geturl [opt 0.2.1]] [description] |
︙ | ︙ | |||
39 40 41 42 43 44 45 | [def [term link]] The attributes of the link, including the path it refers to. [list_end] [list_end] | < | < < | < < < < < < < < < | 47 48 49 50 51 52 53 54 55 56 | [def [term link]] The attributes of the link, including the path it refers to. [list_end] [list_end] [vset CATEGORY ftp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ftpd/ftpd.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftpd n 1.2.6] [moddesc {Tcl FTP Server Package}] [titledesc {Tcl FTP server implementation}] [category Networking] [require Tcl 8.3] [require ftpd [opt 1.2.6]] [description] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ftpd n 1.2.6] [keywords ftp] [keywords ftpd] [keywords ftpserver] [keywords {rfc 959}] [keywords services] [moddesc {Tcl FTP Server Package}] [titledesc {Tcl FTP server implementation}] [category Networking] [require Tcl 8.3] [require ftpd [opt 1.2.6]] [description] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | Callback for transfer completion notification. In other words, it is called whenever a transfer of data to or from the client has completed. [list_end] [list_end] | < | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | Callback for transfer completion notification. In other words, it is called whenever a transfer of data to or from the client has completed. [list_end] [list_end] [section CALLBACKS] [list_begin definitions] [def "[cmd authIpCmd] callback"] |
︙ | ︙ | |||
212 213 214 215 216 217 218 | [call [arg fsCmd] [method store] [arg path]] The store subcommand receives the path of a file to write as its only argument. The store subcommand returns a writable channel. [list_end] | < < | | | < < | < < | < < < < < < < < | 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 | [call [arg fsCmd] [method store] [arg path]] The store subcommand receives the path of a file to write as its only argument. The store subcommand returns a writable channel. [list_end] [def "[cmd closeCmd]"] The [cmd closeCmd] receives no arguments when it is invoked, and any return value it may generate is discarded. [def "[cmd xferDoneCmd] sock sock2 file bytes filename err"] The [cmd xferDoneCmd] receives six arguments when invoked. These are, in this order, the channel handle of the control socket for the connection, the channel handle of the data socket used for the transfer (already closed), the handle of the channel containing the transfered file, the number of bytes transfered, the path of the file which was transfered, and a (possibly empty) error message. Any return value it may generate is discarded. [list_end] [section VARIABLES] [list_begin definitions] [def [var ::ftpd::cwd]] The current working directory for a session when someone first connects to the FTPD or when the [cmd REIN] ftp command is received. [def [var ::ftpd::contact]] The e-mail address of the person that is the contact for the ftp server. This address is printed out as part of the response to the [cmd {FTP HELP}] command. [def [var ::ftpd::port]] The port that the ftp server should listen on. If port is specified as zero, the operating system will allocate an unused port for use as a server socket; afterwards, the variable will contain the port number that was allocated. [def [var ::ftpd::welcome]] The message that is printed out when the user first connects to the ftp server. [def [var ::ftpd::CurrentSocket]] Accessible to all callbacks and all filesystem commands (which are a special form of callback) and contains the handle of the socket channel which was active when the callback was invoked. [list_end] [vset CATEGORY ftpd] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fumagic/cfront.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::cfront n 1.0] [moddesc {file utilities}] [titledesc {Generator core for compiler of magic(5) files}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::cfront [opt 1.0]] [require fileutil::magic::cgen [opt 1.0]] [require fileutil::magic::rt [opt 1.0]] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::cfront n 1.0] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords mime] [keywords type] [moddesc {file utilities}] [titledesc {Generator core for compiler of magic(5) files}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::cfront [opt 1.0]] [require fileutil::magic::cgen [opt 1.0]] [require fileutil::magic::rt [opt 1.0]] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | All the files have to be in the format specified by magic(5). [para] The result of the command is a Tcl script containing the generated recognizer. | < < < < < < < < | < | < < < < < < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | All the files have to be in the format specified by magic(5). [para] The result of the command is a Tcl script containing the generated recognizer. [call [cmd ::fileutil::magic::cfront::procdef] [arg procname] [arg path]...] This command behaves like [cmd ::fileutil::magic::cfront::compile] with regard to the specified path arguments, then wraps the resulting recognizer script into a procedure named [arg procname], puts code setting up the namespace of [arg procname] in front, and returns the resulting script. [call [cmd ::fileutil::magic::cfront::install] [arg path]...] This command uses [cmd ::fileutil::magic::cfront::procdef] to compile each of the paths into a recognizer procedure and installs the result in the current interpreter. [para] The name of each new procedure is derived from the name of the file/directory used in its creation, with file/directory [file FOO] causing the creation of procedure [const ::fileutil::magic::/FOO::run]. [list_end] [vset CATEGORY {fileutil :: magic}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fumagic/cgen.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::cgen n 1.0] [moddesc {file utilities}] [titledesc {Generator core for compiler of magic(5) files}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::cgen [opt 1.0]] [require fileutil::magic::rt [opt 1.0]] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::cgen n 1.0] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords mime] [keywords type] [moddesc {file utilities}] [titledesc {Generator core for compiler of magic(5) files}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::cgen [opt 1.0]] [require fileutil::magic::rt [opt 1.0]] |
︙ | ︙ | |||
27 28 29 30 31 32 33 | into a tree and returns the object command of that tree as its result. It uses the package [package struct::tree] for the tree. [para] The [arg script] is in the format specified by magic(5). | < < < < < < < < | < | < < < < < < | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | into a tree and returns the object command of that tree as its result. It uses the package [package struct::tree] for the tree. [para] The [arg script] is in the format specified by magic(5). [call [cmd ::fileutil::magic::cgen::treedump] [arg tree]] This command takes a [arg tree] as generated by [cmd ::fileutil::magic::cgen::2tree] and returns a string encoding the tree for human consumption, to aid in debugging. [call [cmd ::fileutil::magic::cgen::treegen] [arg tree] [arg node]] This command takes a [arg tree] as generated by [cmd ::fileutil::magic::cgen::2tree] and returns a Tcl script, the recognizer for the file types represented by the sub-tree rooted at the [arg node]. The generated script makes extensive use of the commands provided by the recognizer runtime package [package fileutil::magic::rt] to perform its duties. [list_end] [vset CATEGORY {fileutil :: magic}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fumagic/filetypes.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::filetype n 1.0.2] [moddesc {file utilities}] [titledesc {Procedures implementing file-type recognition}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::filetype [opt 1.0.2]] [description] [para] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::filetype n 1.0.2] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords type] [moddesc {file utilities}] [titledesc {Procedures implementing file-type recognition}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::filetype [opt 1.0.2]] [description] [para] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer. [list_end] | < < < < < | < | < < < < < < | 54 55 56 57 58 59 60 61 62 63 | This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer. [list_end] [vset CATEGORY {fileutil :: magic}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fumagic/mimetypes.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::mimetype n 1.0.2] [moddesc {file utilities}] [titledesc {Procedures implementing mime-type recognition}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::mimetype [opt 1.0.2]] [description] [para] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::mimetype n 1.0.2] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords mime] [keywords type] [moddesc {file utilities}] [titledesc {Procedures implementing mime-type recognition}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::mimetype [opt 1.0.2]] [description] [para] |
︙ | ︙ | |||
43 44 45 46 47 48 49 | This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer. [list_end] | < < < < < | < | < < < < < < | 51 52 53 54 55 56 57 58 59 60 | This site contains the current sources for the file command, including the magic definitions used by it. The latter were used by us to generate this recognizer. [list_end] [vset CATEGORY {fileutil :: magic}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/fumagic/rtcore.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::rt n 1.0] [moddesc {file utilities}] [titledesc {Runtime core for file type recognition engines written in pure Tcl}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::rt [opt 1.0]] [description] [para] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin fileutil::magic::rt n 1.0] [see_also file(1)] [see_also fileutil] [see_also magic(5)] [keywords {file recognition}] [keywords {file type}] [keywords {file utilities}] [keywords mime] [keywords type] [moddesc {file utilities}] [titledesc {Runtime core for file type recognition engines written in pure Tcl}] [category {Programming tools}] [require Tcl 8.4] [require fileutil::magic::rt [opt 1.0]] [description] [para] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | package. [para] The command returns the channel handle of the opened file as its result. | < < < < < < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | package. [para] The command returns the channel handle of the opened file as its result. [call [cmd ::fileutil::magic::rt::close]] This command closes the last file opened via [cmd ::fileutil::magic::rt::open] and shuts the runtime down. This command has to be invoked last, after the file has been dealt with completely. Afterward another invokation of [cmd ::fileutil::magic::rt::open] is required to process another file. [para] This command returns the empty string as its result. [call [cmd ::fileutil::magic::rt::file_start] [arg name]] This command marks the start of a magic file when debugging. It returns the empty string as its result. [call [cmd ::fileutil::magic::rt::result] [opt [arg msg]]] This command returns the current result and stops processing. [para] If [arg msg] is specified its text is added to the result before it is returned. See [cmd ::fileutil::magic::rt::emit] for the allowed special character sequences. [call [cmd ::fileutil::magic::rt::resultv] [opt [arg msg]]] This command returns the current result. In contrast to [cmd ::fileutil::magic::rt::result] processing continues. [para] If [arg msg] is specified its text is added to the result before it is returned. See [cmd ::fileutil::magic::rt::emit] for the allowed special character sequences. [call [cmd ::fileutil::magic::rt::emit] [arg msg]] This command adds the text [arg msg] to the result buffer. The message may contain the following special character sequences. They will be replaced with buffered values before the message is added to the result. The command returns the empty string as its result. [list_begin definitions] [def [const \\b]] This sequence is removed [def [const %s]] Replaced with the last buffered string value. [def [const %ld]] Replaced with the last buffered numeric value. [def [const %d]] See above. [list_end] [comment [call [cmd ::fileutil::magic::rt::offset] [arg where]]] [comment { Handling of complex offsets. Currently not implemented. Always returns zero. }] |
︙ | ︙ | |||
123 124 125 126 127 128 129 | [example { Nv lelong 0 &0x8080ffff }] For the possible types see section [sectref {NUMERIC TYPES}]. | < | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | [example { Nv lelong 0 &0x8080ffff }] For the possible types see section [sectref {NUMERIC TYPES}]. [call [cmd ::fileutil::magic::rt::N] [arg type] [arg offset] [arg comp] [arg val] [opt [arg qual]]] This command behaves mostly like [cmd ::fileutil::magic::rt::Nv], except that it compares the fetched and masked value against [arg val] as specified with [arg comp] and returns the result of that comparison. |
︙ | ︙ | |||
146 147 148 149 150 151 152 | [para] The special comparison operator [const x] signals that no comparison should be done, or, in other words, that the fetched value will always match [arg val]. | < | < | < < | < < < < | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | [para] The special comparison operator [const x] signals that no comparison should be done, or, in other words, that the fetched value will always match [arg val]. [call [cmd ::fileutil::magic::rt::Nvx] [arg atlevel] [arg type] [arg offset] [opt [arg qual]]] This command behaves like [cmd ::fileutil::magic::rt::Nv], except that it additionally remembers the location in the file after the fetch in the calling context, for the level [arg atlevel], for later use by [cmd ::fileutil::magic::rt::R]. [call [cmd ::fileutil::magic::rt::Nx] [arg atlevel] [arg type] [arg offset] [arg comp] [arg val] [opt [arg qual]]] This command behaves like [cmd ::fileutil::magic::rt::N], except that it additionally remembers the location in the file after the fetch in the calling context, for the level [arg atlevel], for later use by [cmd ::fileutil::magic::rt::R]. [call [cmd ::fileutil::magic::rt::S] [arg offset] [arg comp] [arg val] [opt [arg qual]]] This command behaves like [cmd ::fileutil::magic::rt::N], except that it fetches and compares strings, not numeric data. The fetched value is also stored in the internal string buffer instead of the numeric buffer. [call [cmd ::fileutil::magic::rt::Sx] [arg atlevel] [arg offset] [arg comp] [arg val] [opt [arg qual]]] This command behaves like [cmd ::fileutil::magic::rt::S], except that it additionally remembers the location in the file after the fetch in the calling context, for the level [arg atlevel], for later use by [cmd ::fileutil::magic::rt::R]. [call [cmd ::fileutil::magic::rt::L] [arg newlevel]] This command sets the current level in the calling context to [arg newlevel]. The command returns the empty string as its result. [call [cmd ::fileutil::magic::rt::I] [arg base] [arg type] [arg delta]] This command handles base locations specified indirectly through the contents of the inspected file. It returns the sum of [arg delta] and the value of numeric [arg type] fetched from the absolute location [arg base]. [para] For the possible types see section [sectref {NUMERIC TYPES}]. [call [cmd ::fileutil::magic::rt::R] [arg offset]] This command handles base locations specified relative to the end of the last field one level above. [para] In other words, the command computes an absolute location in the file based on the relative [arg offset] and returns it as its result. The base the offset is added to is the last location remembered for the level in the calling context. [list_end] [section {NUMERIC TYPES}] [list_begin definitions] [def [const byte]] 8-bit integer [def [const short]] 16-bit integer, stored in native endianess [def [const beshort]] see above, stored in big endian |
︙ | ︙ | |||
236 237 238 239 240 241 242 | [def [const bedate]] see above, stored in big endian [def [const ledate]] see above, stored in small/little endian [def [const ldate]] 32-bit integer timestamp, stored in native endianess [def [const beldate]] see above, stored in big endian [def [const leldate]] see above, stored in small/little endian [list_end] | < < < < < < | < | < < < < < < | 229 230 231 232 233 234 235 236 237 238 | [def [const bedate]] see above, stored in big endian [def [const ledate]] see above, stored in small/little endian [def [const ldate]] 32-bit integer timestamp, stored in native endianess [def [const beldate]] see above, stored in big endian [def [const leldate]] see above, stored in small/little endian [list_end] [vset CATEGORY {fileutil :: magic}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/generator/generator.man.
1 2 3 4 5 6 7 8 | [manpage_begin generator n 0.1] [moddesc {Tcl Generator Commands}] [titledesc {Procedures for creating and using generators.}] [require Tcl 8.6] [require generator [opt 0.1]] [description] [para] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin generator n 0.1] [keywords {control structure}] [keywords coroutine] [keywords filter] [keywords foldl] [keywords foldr] [keywords foreach] [keywords generator] [keywords iterator] [keywords map] [keywords reduce] [keywords scanl] [moddesc {Tcl Generator Commands}] [titledesc {Procedures for creating and using generators.}] [require Tcl 8.6] [require generator [opt 0.1]] [description] [para] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible [method foreach] command that loops through the values of one or more generators. This loop construct mimicks the functionality of the built-in Tcl [cmd foreach] command, including handling multiple return values and looping over multiple generators at once. Writing a generator is also a simple task, much like writing a normal procedure: simply use the [method define] | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | series has been exhausted, the generator command returns an empty list and then destroys itself. Rather than manually call a generator, however, the package also provides a flexible [method foreach] command that loops through the values of one or more generators. This loop construct mimicks the functionality of the built-in Tcl [cmd foreach] command, including handling multiple return values and looping over multiple generators at once. Writing a generator is also a simple task, much like writing a normal procedure: simply use the [method define] command to define the generator, and then call [method yield] instead of [cmd return]. For example, we can define a generator for looping through the integers in a particular range: [para] [example { generator define range {n m} { for {set i $n} {$i <= $m} {incr i} { generator yield $i } |
︙ | ︙ | |||
89 90 91 92 93 94 95 | [call [cmd generator] [method yield] [arg arg] [opt [arg args..]]] Used in the definition of a generator, this command returns the next set of values to the consumer. Once the [method yield] command has been called the generator will suspend to allow the consumer to process that value. When the next value is requested, the generator will resume as if the yield command had | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | [call [cmd generator] [method yield] [arg arg] [opt [arg args..]]] Used in the definition of a generator, this command returns the next set of values to the consumer. Once the [method yield] command has been called the generator will suspend to allow the consumer to process that value. When the next value is requested, the generator will resume as if the yield command had just returned, and can continue processing to yield the next result. The [method yield] command must be called with at least one argument, but can be called with multiple arguments, in which case this is equivalent to calling [method yield] once for each argument. [call [cmd generator] [method foreach] [arg varList] [arg generator] [arg varList] \ [arg generator] [opt ...] [arg body]] |
︙ | ︙ | |||
281 282 283 284 285 286 287 | # = ((((0+1)+2)+3)+4)+5 # = 15 proc + {a b} { expr {$a + $b} } proc sum gen { generator reduce + 0 $gen } puts [sum [range 1 10]] }] | < | 292 293 294 295 296 297 298 299 300 301 302 303 304 305 | # = ((((0+1)+2)+3)+4)+5 # = 15 proc + {a b} { expr {$a + $b} } proc sum gen { generator reduce + 0 $gen } puts [sum [range 1 10]] }] [para] The [method reduce] operation is an extremely useful one, and a great variety of different operations can be defined using it. For example, we can define a factorial function as the product of a range using generators. This definition is both very clear and also quite efficient (in both memory and running time): |
︙ | ︙ | |||
465 466 467 468 469 470 471 | [list_end] [section {BUGS, IDEAS, FEEDBACK}] Please report any errors in this document, or in the package it describes, to [uri {mailto:[email protected]} {Neil Madden}]. | < < < | 475 476 477 478 479 480 481 482 | [list_end] [section {BUGS, IDEAS, FEEDBACK}] Please report any errors in this document, or in the package it describes, to [uri {mailto:[email protected]} {Neil Madden}]. [manpage_end] |
Changes to modules/gpx/gpx.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin gpx n 0.9] [copyright {2010, Keith Vetter <[email protected]>}] [moddesc {GPS eXchange Format (GPX)}] [titledesc {Extracts waypoints, tracks and routes from GPX files}] [category {File formats}] [require Tcl 8.5] [require gpx [opt 0.9]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin gpx n 0.9] [keywords gps] [keywords gpx] [copyright {2010, Keith Vetter <[email protected]>}] [moddesc {GPS eXchange Format (GPX)}] [titledesc {Extracts waypoints, tracks and routes from GPX files}] [category {File formats}] [require Tcl 8.5] [require gpx [opt 0.9]] [description] |
︙ | ︙ | |||
40 41 42 43 44 45 46 | associated with the GPX data identified by [arg token]. The format of the metadata dictionary is described below, but keys [emph version] and [emph creator] will always be present. [call [cmd ::gpx::GetWaypointCount] [arg token]] | | | | | | | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | associated with the GPX data identified by [arg token]. The format of the metadata dictionary is described below, but keys [emph version] and [emph creator] will always be present. [call [cmd ::gpx::GetWaypointCount] [arg token]] This procedure returns the number of waypoints defined in the GPX data identified by [arg token]. [call [cmd ::gpx::GetAllWaypoints] [arg token]] This procedure returns the a list of waypoints defined in the GPX data identified by [arg token]. The format of each waypoint item is described below. [call [cmd ::gpx::GetTrackCount] [arg token]] This procedure returns the number of tracks defined in the GPX data identified by [arg token]. [call [cmd ::gpx::GetTrackMetadata] [arg token] [arg whichTrack]] This procedure returns a dictionary of the metadata associated track number [arg whichTrack] (1 based) in the GPX data identified by [arg token]. The format of the metadata dictionary is described below. [call [cmd ::gpx::GetTrackPoints] [arg token] [arg whichTrack]] The procedure returns a list of track points comprising track number [arg whichTrack] (1 based) in the GPX data identified by [arg token]. The format of the metadata dictionary is described below. [call [cmd ::gpx::GetRouteCount] [arg token]] This procedure returns the number of routes defined in the GPX data identified by [arg token]. [call [cmd ::gpx::GetRouteMetadata] [arg token] [arg whichRoute]] This procedure returns a dictionary of the metadata associated route number [arg whichRoute] (1 based) in the GPX data identified by [arg token]. The format of the metadata dictionary is described below. [call [cmd ::gpx::GetRoutePoints] [arg token] [arg whichRoute]] The procedure returns a list of route points comprising route number [arg whichRoute] (1 based) in the GPX data identified by |
︙ | ︙ | |||
108 109 110 111 112 113 114 | [emph text] and [emph type]. [def "point item"] Each item in a track or route list of points consists of a list of three elements: [emph latitude], [emph longitude] and [emph "metadata dictionary"]. [emph Latitude] and [emph longitude] are decimal numbers. The [emph "metadata dictionary"] format is | | < | | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | [emph text] and [emph type]. [def "point item"] Each item in a track or route list of points consists of a list of three elements: [emph latitude], [emph longitude] and [emph "metadata dictionary"]. [emph Latitude] and [emph longitude] are decimal numbers. The [emph "metadata dictionary"] format is described above. For points in a track, typically there will always be ele (elevation) and time metadata keys. [list_end] [section "EXAMPLE"] [example { % set token [::gpx::Create myGpxFile.gpx] % set version [dict get [::gpx::GetGPXMetadata $token] version] % set trackCnt [::gpx::GetTrackCount $token] % set firstPoint [lindex [::gpx::GetTrackPoints $token 1] 0] % lassign $firstPoint lat lon ptMetadata % puts "first point in the first track is at $lat, $lon" % if {[dict exists $ptMetadata ele]} { puts "at elevation [dict get $ptMetadata ele] meters" } % ::gpx::Cleanup $token }] [section "REFERENCES"] |
︙ | ︙ | |||
148 149 150 151 152 153 154 | GPX 1.0 Developer's Manual ([uri http://www.topografix.com/gpx_manual.asp]) [list_end] [section AUTHOR] Keith Vetter | < | < < | < < < < < < < | 149 150 151 152 153 154 155 156 157 158 | GPX 1.0 Developer's Manual ([uri http://www.topografix.com/gpx_manual.asp]) [list_end] [section AUTHOR] Keith Vetter [vset CATEGORY gpx] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_aycock/aycock.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::aycock n 1.0] [copyright "2006 by Kevin B. Kenny <[email protected]> Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc "Aycock-Horspool-Earley parser generator for Tcl"] [titledesc "Aycock-Horspool-Earley parser generator for Tcl"] [category "Grammars and finite automata"] [require Tcl 8.5] [require grammar::aycock [opt 1.0]] [description] | > > > > > > > > < < | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::aycock n 1.0] [keywords ambiguous] [keywords aycock] [keywords earley] [keywords grammar] [keywords horspool] [keywords parser] [keywords parsing] [keywords transducer] [copyright "2006 by Kevin B. Kenny <[email protected]> Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc "Aycock-Horspool-Earley parser generator for Tcl"] [titledesc "Aycock-Horspool-Earley parser generator for Tcl"] [category "Grammars and finite automata"] [require Tcl 8.5] [require grammar::aycock [opt 1.0]] [description] [para] The [package grammar::aycock] package implements a parser generator for the class of parsers described in John Aycock and R. Nigel Horspool. Practical Earley Parsing. [emph "The Computer Journal,"] [emph 45](6):620-630, 2002. [uri http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.4254] [section "PROCEDURES"] The [package grammar::aycock] package exports the single procedure: [list_begin definitions] [call [cmd ::aycock::parser] [arg grammar] [opt [option -verbose]]] |
︙ | ︙ | |||
44 45 46 47 48 49 50 | [call [arg parserName] [method destroy]] Destroys a parser constructed by [cmd ::aycock::parser]. [call [arg parserName] [method terminals]] | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | [call [arg parserName] [method destroy]] Destroys a parser constructed by [cmd ::aycock::parser]. [call [arg parserName] [method terminals]] Returns a list of terminal symbols that may be presented in the [arg symList] argument to the [method parse] object command. [call [arg parserName] [method nonterminals]] Returns a list of nonterminal symbols that were defined in the parser's grammar. |
︙ | ︙ | |||
126 127 128 129 130 131 132 | }] The example, when run, prints [const 40]. [section KEYWORDS] Aycock, Earley, Horspool, parser, compiler | < | 132 133 134 135 136 137 138 139 | }] The example, when run, prints [const 40]. [section KEYWORDS] Aycock, Earley, Horspool, parser, compiler [manpage_end] |
Changes to modules/grammar_fa/dacceptor.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::dacceptor n 0.1.1] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Create and use deterministic acceptors}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require struct::set] [require grammar::fa::dacceptor [opt 0.1.1]] [description] | > > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::dacceptor n 0.1.1] [keywords acceptance] [keywords acceptor] [keywords automaton] [keywords {finite automaton}] [keywords grammar] [keywords parsing] [keywords {regular expression}] [keywords {regular grammar}] [keywords {regular languages}] [keywords state] [keywords transducer] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Create and use deterministic acceptors}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require struct::set] [require grammar::fa::dacceptor [opt 0.1.1]] [description] [para] This package provides a class for acceptors constructed from deterministic [term {finite automatons}] (DFA). Acceptors are objects which can be given a string of symbols and tell if the DFA they are constructed from would [term accept] that string. |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [section {ACCEPTOR METHODS}] [para] All acceptors provide the following methods for their manipulation: [list_begin definitions] | < < < < | < < | < < < < < < < | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | [section {ACCEPTOR METHODS}] [para] All acceptors provide the following methods for their manipulation: [list_begin definitions] [call [arg daName] [method destroy]] Destroys the automaton, including its storage space and associated command. [call [arg daName] [method accept?] [arg symbols]] Takes the list of [arg symbols] and checks if the FA the acceptor is based on would accept it. The result is a boolean value. [const True] is returned if the symbols are accepted, and [const False] otherwise. Note that bogus symbols in the input are either translated to the [arg any] symbol (if specified), or cause the acceptance test to simply fail. No errors will be thrown. The method will process only just that prefix of the input which is enough to fully determine (non-)acceptance. [list_end] [para] [section EXAMPLES] [vset CATEGORY grammar_fa] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_fa/dexec.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::dexec n 0.2] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2007 Bogdan <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Execute deterministic finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require grammar::fa::dexec [opt 0.2]] [description] | > > > > > > > > > > > < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::dexec n 0.2] [keywords automaton] [keywords execution] [keywords {finite automaton}] [keywords grammar] [keywords parsing] [keywords {regular expression}] [keywords {regular grammar}] [keywords {regular languages}] [keywords running] [keywords state] [keywords transducer] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2007 Bogdan <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Execute deterministic finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require grammar::fa::dexec [opt 0.2]] [description] [para] This package provides a class for executors constructed from deterministic [term {finite automatons}] (DFA). Executors are objects which are given a string of symbols in a piecemal fashion, perform state transitions and report back when they enter a final state, or find an error in the input. For the actual creation of the DFAs the executors are based on we have the packages [package grammar::fa] and [package grammar::fa::op]. [para] The objects follow a push model. Symbols are pushed into the executor, and when something important happens, i.e. error occurs, a state transition, or a final state is entered this will be reported via the callback specified via the option [option -command]. Note that conversion of this into a pull model where the environment retrieves messages from the object and the object uses a callback to ask for more symbols is a trivial thing. [para] [emph {Side note}]: The acceptor objects provided by [package grammar::fa::dacceptor] could have been implemented on top of the executors provided here, but |
︙ | ︙ | |||
85 86 87 88 89 90 91 | [section {EXECUTOR METHODS}] [para] All executors provide the following methods for their manipulation: [list_begin definitions] | < < < | < | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | [section {EXECUTOR METHODS}] [para] All executors provide the following methods for their manipulation: [list_begin definitions] [call [arg daName] [method destroy]] Destroys the automaton, including its storage space and associated command. [call [arg daName] [method put] [arg symbol]] Takes the current state of the executor and the [arg symbol] and performs the appropriate state transition. Reports any errors encountered via the command callback, as well as entering a final state of the underlying FA. [para] When an error is reported all further invokations of [method put] will do nothing, until the error condition has been cleared via an invokation of method [method reset]. [call [arg daName] [method reset]] Unconditionally sets the executor into the start state of the underlying FA. This also clears any error condition [method put] may have encountered. [call [arg daName] [method state]] Returns the current state of the underlying FA. This allow for introspection without the need to pass data from the callback command. [list_end] [section {EXECUTOR CALLBACK}] The callback command [arg cmdprefix] given to an executor via the option [option -command] will be executed by the object at the global level, using the syntax described below. Note that [arg cmdprefix] is not simply the name of a command, but a full command prefix. In other |
︙ | ︙ | |||
167 168 169 170 171 172 173 | [call [arg cmdprefix] [method state] [arg stateid]] The FA changed state due to a transition. [arg stateid] is the new state. [list_end] | < < < | < < | < < < < < < < | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | [call [arg cmdprefix] [method state] [arg stateid]] The FA changed state due to a transition. [arg stateid] is the new state. [list_end] [para] [section EXAMPLES] [vset CATEGORY grammar_fa] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_fa/fa.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa n 0.4] [copyright {2004-2009 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Create and manipulate finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit 1.3] [require struct::list] [require struct::set] [require grammar::fa::op [opt 0.2]] [require grammar::fa [opt 0.4]] [description] | > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa n 0.4] [keywords automaton] [keywords {finite automaton}] [keywords grammar] [keywords parsing] [keywords {regular expression}] [keywords {regular grammar}] [keywords {regular languages}] [keywords state] [keywords transducer] [copyright {2004-2009 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Create and manipulate finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit 1.3] [require struct::list] [require struct::set] [require grammar::fa::op [opt 0.2]] [require grammar::fa [opt 0.4]] [description] [para] This package provides a container class for [term {finite automatons}] (Short: FA). It allows the incremental definition of the automaton, its manipulation and querying of the definition. |
︙ | ︙ | |||
35 36 37 38 39 40 41 | hardwired into it. The output of this package is configurable to suit a large number of different implementation languages and paradigms. [para] For more information about what a finite automaton is see section [sectref {FINITE AUTOMATONS}]. | < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | hardwired into it. The output of this package is configurable to suit a large number of different implementation languages and paradigms. [para] For more information about what a finite automaton is see section [sectref {FINITE AUTOMATONS}]. [section API] The package exports the API described here. [list_begin definitions] |
︙ | ︙ | |||
75 76 77 78 79 80 81 | [section {FA METHODS}] [para] All automatons provide the following methods for their manipulation: [list_begin definitions] | < < < < < | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | [section {FA METHODS}] [para] All automatons provide the following methods for their manipulation: [list_begin definitions] [call [arg faName] [method destroy]] Destroys the automaton, including its storage space and associated command. [call [arg faName] [method clear]] Clears out the definition of the automaton contained in [arg faName], but does [emph not] destroy the object. [call [arg faName] [method =] [arg srcFA]] Assigns the contents of the automaton contained in [arg srcFA] to [arg faName], overwriting any existing definition. This is the assignment operator for automatons. It copies the automaton contained in the FA object [arg srcFA] over the automaton definition in [arg faName]. The old contents of [arg faName] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg faName] [method deserialize] [lb][arg srcFA] [method serialize][rb] [example_end] [call [arg faName] [method -->] [arg dstFA]] This is the reverse assignment operator for automatons. It copies the automation contained in the object [arg faName] over the automaton definition in the object [arg dstFA]. The old contents of [arg dstFA] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg dstFA] [method deserialize] [lb][arg faName] [method serialize][rb] [example_end] [call [arg faName] [method serialize]] This method serializes the automaton stored in [arg faName]. In other words it returns a tcl [emph value] completely describing that automaton. |
︙ | ︙ | |||
211 212 213 214 215 216 217 | Stop {1 0 {red/yellow Attention}} \\ Attention {0 0 {green Drive}}} }] [para] A possible one, because I did not care about creation order here | < < < < < < < < < < < < < < < < < < < < < < < < | 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | Stop {1 0 {red/yellow Attention}} \\ Attention {0 0 {green Drive}}} }] [para] A possible one, because I did not care about creation order here [call [arg faName] [method deserialize] [arg serialization]] This is the complement to [method serialize]. It replaces the automaton definition in [arg faName] with the automaton described by the [arg serialization] value. The old contents of [arg faName] are deleted by this operation. [call [arg faName] [method states]] Returns the set of all states known to [arg faName]. [call [arg faName] [method state] [method add] [arg s1] [opt "[arg s2] ..."]] Adds the states [arg s1], [arg s2], et cetera to the FA definition in [arg faName]. The operation will fail any of the new states is already declared. [call [arg faName] [method state] [method delete] [arg s1] [opt "[arg s2] ..."]] Deletes the state [arg s1], [arg s2], et cetera, and all associated information from the FA definition in [arg faName]. The latter means that the information about in- or outbound transitions is deleted as well. If the deleted state was a start or final state then this information is invalidated as well. The operation will fail if the state [arg s] is not known to the FA. [call [arg faName] [method state] [method exists] [arg s]] A predicate. It tests whether the state [arg s] is known to the FA in [arg faName]. The result is a boolean value. It will be set to [const true] if the state [arg s] is known, and [const false] otherwise. [call [arg faName] [method state] [method rename] [arg s] [arg snew]] Renames the state [arg s] to [arg snew]. Fails if [arg s] is not a known state. Also fails if [arg snew] is already known as a state. [call [arg faName] [method startstates]] Returns the set of states which are marked as [term start] states, also known as [term initial] states. See [sectref {FINITE AUTOMATONS}] for explanations what this means. [call [arg faName] [method start] [method add] [arg s1] [opt "[arg s2] ..."]] Mark the states [arg s1], [arg s2], et cetera in the FA [arg faName] as [term start] (aka [term initial]). [call [arg faName] [method start] [method remove] [arg s1] [opt "[arg s2] ..."]] Mark the states [arg s1], [arg s2], et cetera in the FA [arg faName] as [term {not start}] (aka [term {not accepting}]). [call [arg faName] [method start?] [arg s]] A predicate. It tests if the state [arg s] in the FA [arg faName] is [term start] or not. The result is a boolean value. It will be set to [const true] if the state [arg s] is [term start], and [const false] otherwise. [call [arg faName] [method start?set] [arg stateset]] A predicate. It tests if the set of states [arg stateset] contains at least one start state. They operation will fail if the set contains an element which is not a known state. The result is a boolean value. It will be set to [const true] if a start state is present in [arg stateset], and [const false] otherwise. [call [arg faName] [method finalstates]] Returns the set of states which are marked as [term final] states, also known as [term accepting] states. See [sectref {FINITE AUTOMATONS}] for explanations what this means. [call [arg faName] [method final] [method add] [arg s1] [opt "[arg s2] ..."]] Mark the states [arg s1], [arg s2], et cetera in the FA [arg faName] as [term final] (aka [term accepting]). [call [arg faName] [method final] [method remove] [arg s1] [opt "[arg s2] ..."]] Mark the states [arg s1], [arg s2], et cetera in the FA [arg faName] as [term {not final}] (aka [term {not accepting}]). [call [arg faName] [method final?] [arg s]] A predicate. It tests if the state [arg s] in the FA [arg faName] is [term final] or not. The result is a boolean value. It will be set to [const true] if the state [arg s] is [term final], and [const false] otherwise. [call [arg faName] [method final?set] [arg stateset]] A predicate. It tests if the set of states [arg stateset] contains at least one final state. They operation will fail if the set contains an element which is not a known state. The result is a boolean value. It will be set to [const true] if a final state is present in [arg stateset], and [const false] otherwise. [call [arg faName] [method symbols]] Returns the set of all symbols known to the FA [arg faName]. [call [arg faName] [method symbols@] [arg s] [opt [arg d]]] Returns the set of all symbols for which the state [arg s] has transitions. If the empty symbol is present then [arg s] has epsilon transitions. If two states are specified the result is the set of symbols which have transitions from [arg s] to [arg t]. This set may be empty if there are no transitions between the two specified states. [call [arg faName] [method symbols@set] [arg stateset]] Returns the set of all symbols for which at least one state in the set of states [arg stateset] has transitions. In other words, the union of [lb][arg faName] [method symbols@] [var s][rb] for all states [var s] in [arg stateset]. If the empty symbol is present then at least one state contained in [arg stateset] has epsilon transitions. [call [arg faName] [method symbol] [method add] [arg sym1] [opt "[arg sym2] ..."]] Adds the symbols [arg sym1], [arg sym2], et cetera to the FA definition in [arg faName]. The operation will fail any of the symbols is already declared. The empty string is not allowed as a value for the symbols. [call [arg faName] [method symbol] [method delete] [arg sym1] [opt "[arg sym2] ..."]] Deletes the symbols [arg sym1], [arg sym2] et cetera, and all associated information from the FA definition in [arg faName]. The latter means that all transitions using the symbols are deleted as well. The operation will fail if any of the symbols is not known to the FA. [call [arg faName] [method symbol] [method rename] [arg sym] [arg newsym]] Renames the symbol [arg sym] to [arg newsym]. Fails if [arg sym] is not a known symbol. Also fails if [arg newsym] is already known as a symbol. [call [arg faName] [method symbol] [method exists] [arg sym]] A predicate. It tests whether the symbol [arg sym] is known to the FA in [arg faName]. The result is a boolean value. It will be set to [const true] if the symbol [arg sym] is known, and [const false] otherwise. [call [arg faName] [method next ] [arg s] [arg sym] [opt "[const -->] [arg next]"]] Define or query transition information. [para] |
︙ | ︙ | |||
415 416 417 418 419 420 421 | [para] If [arg next] was not specified, then the method will return the set of states which can be reached from [arg s] through a single transition labeled with symbol [arg sym]. | < < < < < < < < < < < < < < < | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 | [para] If [arg next] was not specified, then the method will return the set of states which can be reached from [arg s] through a single transition labeled with symbol [arg sym]. [call [arg faName] [method !next] [arg s] [arg sym] [opt "[const -->] [arg next]"]] Remove one or more transitions from the Fa in [arg faName]. [para] If [arg next] was specified then the single transition from the state [arg s] to the state [arg next] labeled with the symbol [arg sym] is removed from the FA. Otherwise [emph all] transitions originating in state [arg s] and labeled with the symbol [arg sym] will be removed. [para] The operation will fail if [arg s] and/or [arg next] are not known as states. It will also fail if a non-empty [arg sym] is not known as symbol. The empty string is acceptable, and allows the removal of epsilon transitions. [call [arg faName] [method nextset] [arg stateset] [arg sym]] Returns the set of states which can be reached by a single transition originating in a state in the set [arg stateset] and labeled with the symbol [arg sym]. [para] In other words, this is the union of [lb][arg faName] next [var s] [arg symbol][rb] for all states [var s] in [arg stateset]. [call [arg faName] [method is] [method deterministic]] A predicate. It tests whether the FA in [arg faName] is a deterministic FA or not. The result is a boolean value. It will be set to [const true] if the FA is deterministic, and [const false] otherwise. [call [arg faName] [method is] [method complete]] A predicate. It tests whether the FA in [arg faName] is a complete FA or not. A FA is complete if it has at least one transition per state and symbol. This also means that a FA without symbols, or states is also complete. The result is a boolean value. It will be set to [const true] if the FA is deterministic, and [const false] otherwise. [para] Note: When a FA has epsilon-transitions transitions over a symbol for a state S can be indirect, i.e. not attached directly to S, but to a state in the epsilon-closure of S. The symbols for such indirect transitions count when computing completeness. [call [arg faName] [method is] [method useful]] A predicate. It tests whether the FA in [arg faName] is an useful FA or not. A FA is useful if all states are [term reachable] and [term useful]. The result is a boolean value. It will be set to [const true] if the FA is deterministic, and [const false] otherwise. [call [arg faName] [method is] [method epsilon-free]] A predicate. It tests whether the FA in [arg faName] is an epsilon-free FA or not. A FA is epsilon-free if it has no epsilon transitions. This definition means that all deterministic FAs are epsilon-free as well, and epsilon-freeness is a necessary pre-condition for deterministic'ness. The result is a boolean value. It will be set to [const true] if the FA is deterministic, and [const false] otherwise. [call [arg faName] [method reachable_states]] Returns the set of states which are reachable from a start state by one or more transitions. [call [arg faName] [method unreachable_states]] Returns the set of states which are not reachable from any start state by any number of transitions. This is [para] [example { [faName states] - [faName reachable_states] }] [call [arg faName] [method reachable] [arg s]] A predicate. It tests whether the state [arg s] in the FA [arg faName] can be reached from a start state by one or more transitions. The result is a boolean value. It will be set to [const true] if the state can be reached, and [const false] otherwise. [call [arg faName] [method useful_states]] Returns the set of states which are able to reach a final state by one or more transitions. [call [arg faName] [method unuseful_states]] Returns the set of states which are not able to reach a final state by any number of transitions. This is [para] [example { [faName states] - [faName useful_states] }] [call [arg faName] [method useful] [arg s]] A predicate. It tests whether the state [arg s] in the FA [arg faName] is able to reach a final state by one or more transitions. The result is a boolean value. It will be set to [const true] if the state is useful, and [const false] otherwise. [call [arg faName] [method epsilon_closure] [arg s]] Returns the set of states which are reachable from the state [arg s] in the FA [arg faName] by one or more epsilon transitions, i.e transitions over the empty symbol, transitions which do not consume input. This is called the [term {epsilon closure}] of [arg s]. [call [arg faName] [method reverse]] [call [arg faName] [method complete]] [call [arg faName] [method remove_eps]] [call [arg faName] [method trim] [opt [arg what]]] [call [arg faName] [method determinize] [opt [arg mapvar]]] [call [arg faName] [method minimize] [opt [arg mapvar]]] |
︙ | ︙ | |||
578 579 580 581 582 583 584 | [call [arg faName] [method fromRegex] [arg regex] [opt [arg over]]] These methods provide more complex operations on the FA. Please see the same-named commands in the package [package grammar::fa::op] for descriptions of what they do. | < < < < | 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 | [call [arg faName] [method fromRegex] [arg regex] [opt [arg over]]] These methods provide more complex operations on the FA. Please see the same-named commands in the package [package grammar::fa::op] for descriptions of what they do. [list_end] [para] [section EXAMPLES] [para] [section {FINITE AUTOMATONS}] [para] For the mathematically inclined, a FA is a 5-tuple (S,Sy,St,Fi,T) where [list_begin itemized] |
︙ | ︙ | |||
686 687 688 689 690 691 692 | symbol" can also be "executing some code". [para] Transducers are not handled by this package. They will get their own package in the future. | < | < < | < < < < < < < | 643 644 645 646 647 648 649 650 651 652 | symbol" can also be "executing some code". [para] Transducers are not handled by this package. They will get their own package in the future. [vset CATEGORY grammar_fa] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_fa/faop.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::op n 0.4] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Operations on finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require struct::list] [require struct::set] [require grammar::fa::op [opt 0.4.1]] [description] | > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::fa::op n 0.4] [keywords automaton] [keywords {finite automaton}] [keywords grammar] [keywords parsing] [keywords {regular expression}] [keywords {regular grammar}] [keywords {regular languages}] [keywords state] [keywords transducer] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Finite automaton operations and usage}] [titledesc {Operations on finite automatons}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require struct::list] [require struct::set] [require grammar::fa::op [opt 0.4.1]] [description] [para] This package provides a number of complex operations on finite automatons (Short: FA), as provided by the package [package grammar::fa]. |
︙ | ︙ | |||
65 66 67 68 69 70 71 | [para] Any container class using this package for complex operations should set its own class command as the constructor. See package [package grammar::fa] for an example. | < < | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | [para] Any container class using this package for complex operations should set its own class command as the constructor. See package [package grammar::fa] for an example. [call [cmd ::grammar::fa::op::reverse] [arg fa]] Reverses the [arg fa]. This is done by reversing the direction of all transitions and swapping the sets of [term start] and [term final] states. The language of [arg fa] changes unpredictably. [call [cmd ::grammar::fa::op::complete] [arg fa] [opt [arg sink]]] Completes the [arg fa] [term complete], but nothing is done if the [arg fa] is already [term complete]. This implies that only the first in a series of multiple consecutive complete operations on [arg fa] will perform anything. The remainder will be null operations. |
︙ | ︙ | |||
113 114 115 116 117 118 119 | [para] Note that the sink state is [term {not useful}] by definition. In other words, while the FA becomes complete, it is also [term {not useful}] in the strict sense as it has a state from which no final state can be reached. | < < < | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | [para] Note that the sink state is [term {not useful}] by definition. In other words, while the FA becomes complete, it is also [term {not useful}] in the strict sense as it has a state from which no final state can be reached. [call [cmd ::grammar::fa::op::remove_eps] [arg fa]] Removes all epsilon-transitions from the [arg fa] in such a manner the the language of [arg fa] is unchanged. However nothing is done if the [arg fa] is already [term epsilon-free]. This implies that only the first in a series of multiple consecutive complete operations on [arg fa] will perform anything. The remainder will be null operations. [para] [emph Note:] This operation may cause states to become unreachable or not useful. These states are not removed by this operation. Use [cmd ::grammar::fa::op::trim] for that instead. [call [cmd ::grammar::fa::op::trim] [arg fa] [opt [arg what]]] Removes unwanted baggage from [arg fa]. The legal values for [arg what] are listed below. The command defaults to [const !reachable|!useful] if no specific argument was given. |
︙ | ︙ | |||
159 160 161 162 163 164 165 | [def [const !reachable|!useful]] [def [const !(reachable&useful)]] Removes all states which are not reachable from a start state or are unable to reach a final state. [list_end] [para] | < | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | [def [const !reachable|!useful]] [def [const !(reachable&useful)]] Removes all states which are not reachable from a start state or are unable to reach a final state. [list_end] [para] [call [cmd ::grammar::fa::op::determinize] [arg fa] [opt [arg mapvar]]] Makes the [arg fa] deterministic without changing the language accepted by the [arg fa]. However nothing is done if the [arg fa] is already [term deterministic]. This implies that only the first in a series of multiple consecutive complete operations on [arg fa] will |
︙ | ︙ | |||
198 199 200 201 202 203 204 | will be the only condition preventing the generated result from being [term deterministic]. It should also be noted that in this case the possibilities for trimming states from the FA are also severely reduced as we cannot declare states unreachable. | < < | 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | will be the only condition preventing the generated result from being [term deterministic]. It should also be noted that in this case the possibilities for trimming states from the FA are also severely reduced as we cannot declare states unreachable. [call [cmd ::grammar::fa::op::minimize] [arg fa] [opt [arg mapvar]]] Creates a FA which accepts the same language as [arg fa], but has a minimal number of states. Uses Brzozowski's method to accomplish this. [para] |
︙ | ︙ | |||
231 232 233 234 235 236 237 | It should also be noted that in this case the possibilities for trimming states from the FA are also severely reduced as we cannot declare states unreachable. [list_end] | < < < < < < < < < < < < | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | It should also be noted that in this case the possibilities for trimming states from the FA are also severely reduced as we cannot declare states unreachable. [list_end] [emph {Language operations}] All operations in this section require that all input FAs have at least one start and at least one final state. Otherwise the language of the FAs will not be defined, making the operation senseless (as it operates on the languages of the FAs in a defined manner). [list_begin definitions] [call [cmd ::grammar::fa::op::complement] [arg fa]] Complements [arg fa]. This is possible if and only if [arg fa] is [term complete] and [term deterministic]. The resulting FA accepts the complementary language of [arg fa]. In other words, all inputs not accepted by the input are accepted by the result, and vice versa. [para] The result will have all states and transitions of the input, and different final states. [call [cmd ::grammar::fa::op::kleene] [arg fa]] Applies Kleene's closure to [arg fa]. The resulting FA accepts all strings [var S] for which we can find a natural number [var n] (0 inclusive) and strings [var A1] ... [var An] in the language of [arg fa] such that [var S] is the concatenation of [var A1] ... [var An]. In other words, the language of the result is the infinite union over finite length concatenations over the language of [arg fa]. [para] The result will have all states and transitions of the input, and new start and final states. [call [cmd ::grammar::fa::op::optional] [arg fa]] Makes the [arg fa] optional. In other words it computes the FA which accepts the language of [arg fa] and the empty the word (epsilon) as well. [para] The result will have all states and transitions of the input, and new start and final states. [call [cmd ::grammar::fa::op::union] [arg fa] [arg fb] [opt [arg mapvar]]] Combines the FAs [arg fa] and [arg fb] such that the resulting FA accepts the union of the languages of the two FAs. [para] The result will have all states and transitions of the two input FAs, and new start and final states. All states of [arg fb] which exist in [arg fa] as well will be renamed, and the [arg mapvar] will contain a mapping from the old states of [arg fb] to the new ones, if present. [para] It should be noted that the result will be non-deterministic, even if the inputs are deterministic. [call [cmd ::grammar::fa::op::intersect] [arg fa] [arg fb] [opt [arg mapvar]]] Combines the FAs [arg fa] and [arg fb] such that the resulting FA accepts the intersection of the languages of the two FAs. In other words, the result will accept a word if and only if the word is accepted by both [arg fa] and [arg fb]. The result will be useful, but not necessarily deterministic or minimal. [para] The command will store a dictionary describing the relationship between the new states of the resulting fa and the pairs of states of the input FAs in [arg mapvar], if it has been specified. Keys of the dictionary are the handles for the states of the resulting fa, values are pairs of states from the input FAs. Pairs are represented by lists. The first element in each pair will be a state in [arg fa], the second element will be drawn from [arg fb]. [call [cmd ::grammar::fa::op::difference] [arg fa] [arg fb] [opt [arg mapvar]]] Combines the FAs [arg fa] and [arg fb] such that the resulting FA accepts the difference of the languages of the two FAs. In other words, the result will accept a word if and only if the word is accepted by [arg fa], but not by [arg fb]. This can also be expressed as the intersection of [arg fa] with the complement of [arg fb]. The result will be useful, but not necessarily deterministic or minimal. [para] The command will store a dictionary describing the relationship between the new states of the resulting fa and the pairs of states of the input FAs in [arg mapvar], if it has been specified. Keys of the dictionary are the handles for the states of the resulting fa, values are pairs of states from the input FAs. Pairs are represented by lists. The first element in each pair will be a state in [arg fa], the second element will be drawn from [arg fb]. [call [cmd ::grammar::fa::op::concatenate] [arg fa] [arg fb] [opt [arg mapvar]]] Combines the FAs [arg fa] and [arg fb] such that the resulting FA accepts the cross-product of the languages of the two FAs. I.e. a word W will be accepted by the result if there are two words A and B accepted by [arg fa], and [arg fb] resp. and W is the concatenation of A and B. [para] The result FA will be non-deterministic. [call [cmd ::grammar::fa::op::fromRegex] [arg fa] [arg regex] [opt [arg over]]] Generates a non-deterministic FA which accepts the same language as the regular expression [arg regex]. If the [arg over] is specified it is treated as the set of symbols the regular expression and the automaton are defined over. The command will compute the set from the |
︙ | ︙ | |||
431 432 433 434 435 436 437 | [def "{! A}"] Complement operator. Accepts any word not accepted by the regular expression [var A]. Note that the complement depends on the set of symbol the result should run over. See the discussion of the argument [arg over] before. | < < < | | | | | < < < | < < | < < < < < < < | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 | [def "{! A}"] Complement operator. Accepts any word not accepted by the regular expression [var A]. Note that the complement depends on the set of symbol the result should run over. See the discussion of the argument [arg over] before. [list_end] [call [cmd ::grammar::fa::op::toRegexp] [arg fa]] This command generates and returns a regular expression which accepts the same language as the finite automaton [arg fa]. The regular expression is in the format as described above, for [cmd ::grammar::fa::op::fromRegex]. [call [cmd ::grammar::fa::op::toRegexp2] [arg fa]] This command has the same functionality as [cmd ::grammar::fa::op::toRegexp], but uses a different algorithm to simplify the generated regular expressions. [call [cmd ::grammar::fa::op::toTclRegexp] [arg regexp] [arg symdict]] This command generates and returns a regular expression in Tcl syntax for the regular expression [arg regexp], if that is possible. [arg regexp] is in the same format as expected by [cmd ::grammar::fa::op::fromRegex]. [para] The command will fail and throw an error if [arg regexp] contains complementation and intersection operations. [para] The argument [arg symdict] is a dictionary mapping symbol names to pairs of [term {syntactic type}] and Tcl-regexp. If a symbol occurring in the [arg regexp] is not listed in this dictionary then single-character symbols are considered to designate themselves whereas multiple-character symbols are considered to be a character class name. [call [cmd ::grammar::fa::op::simplifyRegexp] [arg regexp]] This command simplifies a regular expression by applying the following algorithm first to the main expression and then recursively to all sub-expressions: [list_begin enum] [enum] Convert the expression into a finite automaton. [enum] Minimize the automaton. [enum] Convert the automaton back to a regular expression. [enum] Choose the shorter of original expression and expression from the previous step. [list_end] [list_end] [para] [section EXAMPLES] [vset CATEGORY grammar_fa] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/gasm.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu::gasm n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {ME assembler}] [category {Grammars and finite automata}] [require grammar::me::cpu::gasm [opt 0.1]] [description] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu::gasm n 0.1] [keywords assembler] [keywords grammar] [keywords graph] [keywords parsing] [keywords tree] [keywords {virtual machine}] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {ME assembler}] [category {Grammars and finite automata}] [require grammar::me::cpu::gasm [opt 0.1]] [description] This package provides a simple in-memory assembler. Its origin is that of a support package for use by packages converting PEG and other grammars into a corresponding matcher based on the ME virtual machine, like [package page::compiler::peg::mecpu]. Despite that it is actually mostly agnostic regarding the instructions, users can choose any instruction set they like. |
︙ | ︙ | |||
146 147 148 149 150 151 152 | [def [const gas::exit]] Written for all modes but [const okfail]. [def [const gas::exit::ok]] Written for mode [const okfail]. [def [const gas::exit::fail]] Written for mode [const okfail]. [list_end] [list_end] | < | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | [def [const gas::exit]] Written for all modes but [const okfail]. [def [const gas::exit::ok]] Written for mode [const okfail]. [def [const gas::exit::fail]] Written for mode [const okfail]. [list_end] [list_end] [section API] [list_begin definitions] [call [cmd ::grammar::me::cpu::gasm::begin] [arg g] [arg n] [opt [arg mode]] [opt [arg note]]] This command starts the assembly of an instruction sequence, and |
︙ | ︙ | |||
194 195 196 197 198 199 200 | After the initialization is done the "entry" instruction will be the [term anchor], and the condition code will be set to [const always]. [para] The command returns the empy string as its result. | < | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | After the initialization is done the "entry" instruction will be the [term anchor], and the condition code will be set to [const always]. [para] The command returns the empy string as its result. [call [cmd ::grammar::me::cpu::gasm::done] [const -->] [arg t]] This command finalizes the creation of an instruction sequence and then clears the state of the assembler. [emph NOTE] that this [emph {does not}] delete any of the created instructions. They can be made available to future begin/done cycles. Further assembly will be possible only after reinitialization of the |
︙ | ︙ | |||
240 241 242 243 244 245 246 | [list_end] [para] The command returns the empy string as its result. | < < < < | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | [list_end] [para] The command returns the empy string as its result. [call [cmd ::grammar::me::cpu::gasm::state]] This command returns the current state of the assembler. Its format is not documented and considered to be internal to the package. [call [cmd ::grammar::me::cpu::gasm::state!] [arg s]] This command takes a serialized assembler state [arg s] as returned by [cmd ::grammar::me::cpu::gasm::state] and makes it the current state of the assembler. [para] [emph Note] that this may overwrite label definitions, however all non-conflicting label definitions in the state before are not touched and merged with [arg s]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::lift] [arg t] [arg dst] [const =] [arg src]] This command operates on the tree [arg t]. It copies the contents of the attributes [const gas::entry], [const gas::exit::ok] and [const gas::exit::fail] from the node [arg src] to the node [arg dst]. It returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::Inline] [arg t] [arg node] [arg label]] This command links an instruction sequence created by an earlier begin/done pair into the current instruction sequence. [para] |
︙ | ︙ | |||
299 300 301 302 303 304 305 | [enum] Makes the node labeled [arg label]/exit/ok the new [term anchor]. [list_end] The command returns the empty string as its result. | < < < < < | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | [enum] Makes the node labeled [arg label]/exit/ok the new [term anchor]. [list_end] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::Cmd] [arg cmd] [opt [arg arg]...]] This is the basic command to add instructions to the graph. It creates a new instruction of type [arg cmd] with the given arguments [arg arg]... If the [term anchor] was defined it will also create an arc from the [term anchor] to the new instruction using the current condition code. After the call the new instruction will be the [term anchor] and the current condition code will be set to [const always]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::Bra]] This is a convenience command to create a .BRA pseudo-instruction. It uses [cmd ::grammar::me::cpu::gasm::Cmd] to actually create the instruction and inherits its behaviour. [call [cmd ::grammar::me::cpu::gasm::Nop] [arg text]] This is a convenience command to create a .NOP pseudo-instruction. It uses [cmd ::grammar::me::cpu::gasm::Cmd] to actually create the instruction and inherits its behaviour. The [arg text] will be saved as the first and only argument of the new instruction. [call [cmd ::grammar::me::cpu::gasm::Note] [arg text]] This is a convenience command to create a .C pseudo-instruction, i.e. a comment. It uses [cmd ::grammar::me::cpu::gasm::Cmd] to actually create the instruction and inherits its behaviour. The [arg text] will be saved as the first and only argument of the new instruction. [call [cmd ::grammar::me::cpu::gasm::Jmp] [arg label]] This command creates an arc from the [term anchor] to the instruction labeled with [arg label], and tags with the the current condition code. |
︙ | ︙ | |||
376 377 378 379 380 381 382 | "exit/return", tagging it condition code [const always], independent the current condition code. [para] The command returns the empty string as its result. | < < < < < < < < | < < | < < < < < < | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 | "exit/return", tagging it condition code [const always], independent the current condition code. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::Who] [arg label]] This command returns a reference to the instruction labeled with [arg label]. [call [cmd ::grammar::me::cpu::gasm::/Label] [arg name]] This command labels the [term anchor] with [arg name]. [emph Note] that an instruction can have more than one label. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::/Clear]] This command clears the [term anchor], leaving it undefined, and further resets the current condition code to [const always]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::/Ok]] This command sets the current condition code to [const ok]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::/Fail]] This command sets the current condition code to [const fail]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::/At] [arg name]] This command sets the [term anchor] to the instruction labeled with [arg name], and further resets the current condition code to [const always]. [para] The command returns the empty string as its result. [call [cmd ::grammar::me::cpu::gasm::/CloseLoop]] This command marks the [term anchor] as the last instruction in a loop body, by creating the attribute [const LOOP]. [para] The command returns the empty string as its result. [list_end] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_ast.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_ast n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Various representations of ASTs}] [category {Grammars and finite automata}] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_ast n 0.1] [keywords {abstract syntax tree}] [keywords AST] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Various representations of ASTs}] [category {Grammars and finite automata}] [description] This document specifies various representations for the [term {abstract syntax tree}]s (short [term AST]) generated by instances of ME virtual machines, independent of variant. Please go and read the document [syscmd grammar::me_intro] first if |
︙ | ︙ | |||
45 46 47 48 49 50 51 | token stream, with the first token found in the stream located at offset 0 (zero). [para] The root of an AS tree can be either a terminal or nonterminal node. | < < | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | token stream, with the first token found in the stream located at offset 0 (zero). [para] The root of an AS tree can be either a terminal or nonterminal node. [section {AST VALUES}] This representation of ASTs is a Tcl list. The main list represents the root node of the tree, with the representations of the children nested within. [para] Each node is represented by a single Tcl list containing three or more elements. The first element is either the empty string or the name of a nonterminal symbol (which is never the empty string). The second and third elements are then the locations of the first and last tokens. Any additional elements after the third are then the representations of the children, with the leftmost child first, i.e. as the fourth element of the list representing the node. [section {AST OBJECTS}] In this representation an AST is represented by a Tcl object command whose API is compatible to the tree objects provided by the package [package struct::tree]. I.e it has to support at least all of the methods described by that package, and may support more. |
︙ | ︙ | |||
100 101 102 103 104 105 106 | [def detail] This attribute is present only for nonterminal nodes. It contains the name of the nonterminal symbol stored in the node. [list_end] | < | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | [def detail] This attribute is present only for nonterminal nodes. It contains the name of the nonterminal symbol stored in the node. [list_end] [section {EXTENDED AST OBJECTS}] Extended AST objects are like AST objects, with additional information. [list_begin definitions] |
︙ | ︙ | |||
127 128 129 130 131 132 133 | This new attribute is defined for all nodes, and contains the locations from attribute [term range] translated into line number and column index. Lines are counted from 1, columns are counted from 0. [list_end] | < | < < | < < < < < < < | 125 126 127 128 129 130 131 132 133 134 | This new attribute is defined for all nodes, and contains the locations from attribute [term range] translated into line number and column index. Lines are counted from 1, columns are counted from 0. [list_end] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_cpu.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu n 0.2] [copyright {2005-2006 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine implementation II for parsing token streams}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::cpu [opt 0.2]] [description] | > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu n 0.2] [keywords grammar] [keywords parsing] [keywords {virtual machine}] [copyright {2005-2006 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine implementation II for parsing token streams}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::cpu [opt 0.2]] [description] [para] This package provides an implementation of the ME virtual machine. Please go and read the document [syscmd grammar::me_intro] first if you do not know what a ME virtual machine is. [para] This implementation provides an object-based API and the machines are not truly tied to Tcl. A C implementation of the same API is quite possible. [para] Internally the package actually uses the value-based machine manipulation commands as provided by the package [package grammar::me::cpu::core] to perform its duties. [section API] [subsection {CLASS API}] The package directly provides only a single command for the construction of ME virtual machines. |
︙ | ︙ | |||
80 81 82 83 84 85 86 | both push- and pull-styles. Push-style means that tokens are pushed into the machine state when they arrive, triggering further execution until they are consumed. In other words, this allows the machine to be suspended and resumed at will and an arbitrary number of times, the quasi-parallel operation of several machines, and the operation as part of the event loop. | < < < < < < < < < < < < < < < < < < < < < < | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | both push- and pull-styles. Push-style means that tokens are pushed into the machine state when they arrive, triggering further execution until they are consumed. In other words, this allows the machine to be suspended and resumed at will and an arbitrary number of times, the quasi-parallel operation of several machines, and the operation as part of the event loop. [list_begin definitions] [call [arg meName] [method lc] [arg location]] This method converts the location of a token given as offset in the input stream into the associated line number and column index. The result of the command is a 2-element list containing the two values, in the order mentioned in the previous sentence. This allows higher levels to convert the location information found in the error status and the generated AST into more human readable data. [para] [emph Note] that the command is not able to convert locations which have not been reached by the machine yet. In other words, if the machine has read 7 tokens the command is able to convert the offsets [const 0] to [const 6], but nothing beyond that. This also shows that it is not possible to convert offsets which refer to locations before the beginning of the stream. [call [arg meName] [method tok] [opt "[arg from] [opt [arg to]]"]] This method returns a Tcl list containing the part of the input stream between the locations [arg from] and [arg to] (both inclusive). If [arg to] is not specified it will default to the value of [arg from]. If [arg from] is not specified either the whole input stream is returned. [para] Each element of the returned list is a list of four elements, the token, its associated lexeme, line number, and column index, in this order. This command places the same restrictions on its location arguments as the method [method lc]. [call [arg meName] [method pc] [arg state]] This method takes the state value of a ME virtual machine and returns the current value of the stored program counter. [call [arg meName] [method iseof] [arg state]] This method takes the state value of a ME virtual machine and returns the current value of the stored eof flag. [call [arg meName] [method at] [arg state]] This method takes the state value of a ME virtual machine and returns the current location in the input stream. [call [arg meName] [method cc] [arg state]] This method takes the state value of a ME virtual machine and returns the current token. [call [arg meName] [method sv]] This command returns the current semantic value [term SV] stored in the machine. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [arg meName] [method ok]] This method returns the current match status [term OK]. [call [arg meName] [method error]] This method returns the current error status [term ER]. [call [arg meName] [method lstk] [arg state]] This method takes the state value of a ME virtual machine and returns the location stack. [call [arg meName] [method astk] [arg state]] This method takes the state value of a ME virtual machine and returns the AST stack. [call [arg meName] [method mstk] [arg state]] This method takes the state value of a ME virtual machine and returns the AST marker stack. [call [arg meName] [method estk] [arg state]] This method takes the state value of a ME virtual machine and returns the error stack. [call [arg meName] [method rstk] [arg state]] This method takes the state value of a ME virtual machine and returns the subroutine return stack. [call [arg meName] [method nc] [arg state]] This method takes the state value of a ME virtual machine and returns the nonterminal match cache as a dictionary. [call [arg meName] [method ast]] This method returns the current top entry of the AST stack [term AS]. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [arg meName] [method halted]] This method returns a boolean value telling the caller whether the engine has halted execution or not. Halt means that no further matching is possible, and the information retrieved via the other method is final. Attempts to [method run] the engine will be ignored, until a [method reset] is made. [call [arg meName] [method code]] This method returns the [arg code] information used to construct the object. In other words, the match program executed by the machine. [call [arg meName] [method eof]] This method adds an end of file marker to the end of the input stream. This signals the machine that the current contents of the input queue are the final parts of the input and nothing will come after. Attempts to put more characters into the queue will fail. [call [arg meName] [method put] [arg tok] [arg lex] [arg line] [arg col]] This method adds the token [arg tok] to the end of the input stream, with associated lexeme data [arg lex] and [arg line]/[arg col]umn information. [call [arg meName] [method putstring] [arg string] [arg lvar] [arg cvar]] This method adds each individual character in the [arg string] as a token to the end of the input stream, from first to last. The lexemes will be empty and the line/col information is computed based on the characters encountered and the data in the variables [arg lvar] and [arg cvar]. [call [arg meName] [method run] [opt [arg n]]] This methods causes the engine to execute match instructions until either [list_begin itemized] [item] [arg n] instructions have been executed, or [item] a halt instruction was executed, or [item] the input queue is empty and the code is asking for more tokens to process. [list_end] [para] If no limit [arg n] was set only the last two conditions are checked for. [call [arg meName] [method pull] [arg nextcmd]] This method implements pull-style operation of the machine. It causes it to execute match instructions until either a halt instruction is reached, or the command prefix |
︙ | ︙ | |||
290 291 292 293 294 295 296 | [para] The end of the input stream for this method does not imply that method [method eof] is called for the machine as a whole. By avoiding this and still asking for an explicit call of the method it is possible to mix push- and pull-style operation during the lifetime of the machine. | < < < | < < | < < < < < < < | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | [para] The end of the input stream for this method does not imply that method [method eof] is called for the machine as a whole. By avoiding this and still asking for an explicit call of the method it is possible to mix push- and pull-style operation during the lifetime of the machine. [call [arg meName] [method reset]] This method resets the machine to its initial state, discarding any state it may have. [call [arg meName] [method destroy]] This method deletes the object and releases all resurces it claimed. [list_end] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_cpucore.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu::core n 0.2] [copyright {2005-2006 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {ME virtual machine state manipulation}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::cpu::core [opt 0.2]] [description] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::cpu::core n 0.2] [keywords grammar] [keywords parsing] [keywords {virtual machine}] [copyright {2005-2006 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {ME virtual machine state manipulation}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::cpu::core [opt 0.2]] [description] [para] This package provides an implementation of the ME virtual machine. Please go and read the document [syscmd grammar::me_intro] first if you do not know what a ME virtual machine is. |
︙ | ︙ | |||
33 34 35 36 37 38 39 | internal representation is not shimmered away. [para] The actual structure used by all state values is described in section [sectref {CPU STATE}]. | < | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | internal representation is not shimmered away. [para] The actual structure used by all state values is described in section [sectref {CPU STATE}]. [section API] The package directly provides only a single command, and all the functionality is made available through its methods. [list_begin definitions] |
︙ | ︙ | |||
56 57 58 59 60 61 62 | Each element of the result contains instruction label, instruction name, and the instruction arguments, in this order. The label can be the empty string. Jump destinations are shown as labels, strings and tokens unencoded. Token names are prefixed with their numeric id, if, and only if a tokmap is defined. The two components are separated by a colon. | < < < | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | Each element of the result contains instruction label, instruction name, and the instruction arguments, in this order. The label can be the empty string. Jump destinations are shown as labels, strings and tokens unencoded. Token names are prefixed with their numeric id, if, and only if a tokmap is defined. The two components are separated by a colon. [call [cmd ::grammar::me::cpu::core] [method asm] [arg asm]] This method returns code in the format as specified in section [sectref {MATCH PROGRAM REPRESENTATION}] generated from ME assembly code [arg asm], which is in the format as returned by the method [method disasm]. [call [cmd ::grammar::me::cpu::core] [method new] [arg asm]] This method creates state value for a ME virtual machine in its initial state and returns it as its result. [para] The argument [arg matchcode] contains a Tcl representation of the match instructions the machine has to execute while parsing the input stream. Its format is specified in the section [sectref {MATCH PROGRAM REPRESENTATION}]. [para] The [arg tokmap] argument taken by the implementation provided by the package [package grammar::me::tcl] is here hidden inside of the match instructions and therefore not needed. [call [cmd ::grammar::me::cpu::core] [method lc] [arg state] [arg location]] This method takes the state value of a ME virtual machine and uses it to convert a location in the input stream (as offset) into a line number and column index. The result of the method is a 2-element list containing the two pieces in the order mentioned in the previous |
︙ | ︙ | |||
106 107 108 109 110 111 112 | the beginning of the stream. [para] This utility allows higher levels to convert the location offsets found in the error status and the AST into more human readable data. | < < < < < < < < < < < < < < < < < < < < | 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | the beginning of the stream. [para] This utility allows higher levels to convert the location offsets found in the error status and the AST into more human readable data. [call [cmd ::grammar::me::cpu::core] [method tok] [arg state] [opt "[arg from] [opt [arg to]]"]] This method takes the state value of a ME virtual machine and returns a Tcl list containing the part of the input stream between the locations [arg from] and [arg to] (both inclusive). If [arg to] is not specified it will default to the value of [arg from]. If [arg from] is not specified either the whole input stream is returned. [para] This method places the same restrictions on its location arguments as the method [method lc]. [call [cmd ::grammar::me::cpu::core] [method pc] [arg state]] This method takes the state value of a ME virtual machine and returns the current value of the stored program counter. [call [cmd ::grammar::me::cpu::core] [method iseof] [arg state]] This method takes the state value of a ME virtual machine and returns the current value of the stored eof flag. [call [cmd ::grammar::me::cpu::core] [method at] [arg state]] This method takes the state value of a ME virtual machine and returns the current location in the input stream. [call [cmd ::grammar::me::cpu::core] [method cc] [arg state]] This method takes the state value of a ME virtual machine and returns the current token. [call [cmd ::grammar::me::cpu::core] [method sv] [arg state]] This method takes the state value of a ME virtual machine and returns the current semantic value stored in it. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [cmd ::grammar::me::cpu::core] [method ok] [arg state]] This method takes the state value of a ME virtual machine and returns the match status stored in it. [call [cmd ::grammar::me::cpu::core] [method error] [arg state]] This method takes the state value of a ME virtual machine and returns the current error status stored in it. [call [cmd ::grammar::me::cpu::core] [method lstk] [arg state]] This method takes the state value of a ME virtual machine and returns the location stack. [call [cmd ::grammar::me::cpu::core] [method astk] [arg state]] This method takes the state value of a ME virtual machine and returns the AST stack. [call [cmd ::grammar::me::cpu::core] [method mstk] [arg state]] This method takes the state value of a ME virtual machine and returns the AST marker stack. [call [cmd ::grammar::me::cpu::core] [method estk] [arg state]] This method takes the state value of a ME virtual machine and returns the error stack. [call [cmd ::grammar::me::cpu::core] [method rstk] [arg state]] This method takes the state value of a ME virtual machine and returns the subroutine return stack. [call [cmd ::grammar::me::cpu::core] [method nc] [arg state]] This method takes the state value of a ME virtual machine and returns the nonterminal match cache as a dictionary. [call [cmd ::grammar::me::cpu::core] [method ast] [arg state]] This method takes the state value of a ME virtual machine and returns the abstract syntax tree currently at the top of the AST stack stored in it. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [cmd ::grammar::me::cpu::core] [method halted] [arg state]] This method takes the state value of a ME virtual machine and returns the current halt status stored in it, i.e. if the machine has stopped or not. [call [cmd ::grammar::me::cpu::core] [method code] [arg state]] This method takes the state value of a ME virtual machine and returns the code stored in it, i.e. the instructions executed by the machine. [call [cmd ::grammar::me::cpu::core] [method eof] [arg statevar]] This method takes the state value of a ME virtual machine as stored in the variable named by [arg statevar] and modifies it so that the eof flag inside is set. This signals to the machine that whatever token are in the input queue are the last to be processed. There will be no more. [call [cmd ::grammar::me::cpu::core] [method put] [arg statevar] [arg tok] [arg lex] [arg line] [arg col]] This method takes the state value of a ME virtual machine as stored in the variable named by [arg statevar] and modifies it so that the token [arg tok] is added to the end of the input queue, with associated lexeme data [arg lex] and [arg line]/[arg col]umn information. [para] The operation will fail with an error if the eof flag of the machine has been set through the method [method eof]. [call [cmd ::grammar::me::cpu::core] [method run] [arg statevar] [opt [arg n]]] This method takes the state value of a ME virtual machine as stored in the variable named by [arg statevar], executes a number of instructions and stores the state resulting from their modifications back into the variable. |
︙ | ︙ | |||
271 272 273 274 275 276 277 | [list_end] [para] If no limit [arg n] was set only the last two conditions are checked for. [list_end] | < | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | [list_end] [para] If no limit [arg n] was set only the last two conditions are checked for. [list_end] [subsection {MATCH PROGRAM REPRESENTATION}] A match program is represented by nested Tcl list. The first element, [term asm], is a list of integer numbers, the instructions to execute, and their arguments. The second element, [term pool], is a list of strings, referenced by the instructions, for error messages, token |
︙ | ︙ | |||
337 338 339 340 341 342 343 | [enum] "[cmd isv_nonterminal_reduce] [arg nt]" [enum] "[cmd ias_push]" [enum] "[cmd ias_mark]" [enum] "[cmd ias_mrewind]" [enum] "[cmd ias_mpop]" [list_end] | < | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 | [enum] "[cmd isv_nonterminal_reduce] [arg nt]" [enum] "[cmd ias_push]" [enum] "[cmd ias_mark]" [enum] "[cmd ias_mrewind]" [enum] "[cmd ias_mpop]" [list_end] [section {CPU STATE}] A state value is a list containing the following elements, in the order listed below: [list_begin enumerated] [enum] [term code]: Match instructions, see [sectref {MATCH PROGRAM REPRESENTATION}]. [enum] [term pc]: Program counter, [term int]. |
︙ | ︙ | |||
389 390 391 392 393 394 395 | [para] [term nc], the nonterminal cache is keyed by nonterminal name and location, each value a four-element list containing current location, match status, semantic value, and error status, in this order. | < | < < | < < < < < < < | 365 366 367 368 369 370 371 372 373 374 | [para] [term nc], the nonterminal cache is keyed by nonterminal name and location, each value a four-element list containing current location, match status, semantic value, and error status, in this order. [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_intro.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_intro n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Introduction to virtual machines for parsing token streams}] [category {Grammars and finite automata}] [description] | > > > > > > > > > > > > > > > > > < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_intro n 0.1] [keywords CFG] [keywords CFL] [keywords {context-free grammar}] [keywords {context-free languages}] [keywords expression] [keywords grammar] [keywords LL(k)] [keywords matching] [keywords parsing] [keywords {parsing expression grammar}] [keywords PEG] [keywords {push down automaton}] [keywords {recursive descent}] [keywords {top-down parsing languages}] [keywords TPDL] [keywords transducer] [keywords {virtual machine}] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Introduction to virtual machines for parsing token streams}] [category {Grammars and finite automata}] [description] This document is an introduction to and overview of the basic facilities for the parsing and/or matching of [term token] streams. One possibility often used for the token domain are characters. [para] |
︙ | ︙ | |||
74 75 76 77 78 79 80 | Core functionality for state manipulation and stepping used in the bytecode based implementation of ME virtual machines. [list_end] [para] | < | < < | < < < < < < < | 85 86 87 88 89 90 91 92 93 94 | Core functionality for state manipulation and stepping used in the bytecode based implementation of ME virtual machines. [list_end] [para] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_tcl.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::tcl n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine implementation I for parsing token streams}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::tcl [opt 0.1]] [description] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::tcl n 0.1] [keywords grammar] [keywords parsing] [keywords {virtual machine}] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine implementation I for parsing token streams}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::tcl [opt 0.1]] [description] [para] This package provides an implementation of the ME virtual machine. Please go and read the document [syscmd grammar::me_intro] first if you do not know what a ME virtual machine is. [para] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | [para] A related package is [package grammar::peg::interp] which provides a generic interpreter / parser for parsing expression grammars (PEGs), implemented on top of this implementation of the ME virtual machine. | < < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | [para] A related package is [package grammar::peg::interp] which provides a generic interpreter / parser for parsing expression grammars (PEGs), implemented on top of this implementation of the ME virtual machine. [section {API}] The commands documented in this section do not implement any of the instructions of the ME virtual machine. They provide the facilities for the initialization of the machine and the retrieval of important information. [list_begin definitions] [call [cmd ::grammar::me::tcl] [method cmd] [arg ...]] This is an ensemble command providing access to the commands listed in this section. See the methods themselves for detailed specifications. [call [cmd ::grammar::me::tcl] [method init] [arg nextcmd] [opt [arg tokmap]]] This command (re)initializes the machine. It returns the empty string. This command has to be invoked before any other command of this package. |
︙ | ︙ | |||
78 79 80 81 82 83 84 | The optional dictionary [arg tokmap] maps from tokens to integer numbers. If present the numbers impose an order on the tokens, which is subsequently used by [term ict_match_tokrange] to determine if a token is in the specified range or not. If no token map is specified the lexicographic order of th token names will be used instead. This choice is especially asensible when using characters as tokens. | < < | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | The optional dictionary [arg tokmap] maps from tokens to integer numbers. If present the numbers impose an order on the tokens, which is subsequently used by [term ict_match_tokrange] to determine if a token is in the specified range or not. If no token map is specified the lexicographic order of th token names will be used instead. This choice is especially asensible when using characters as tokens. [call [cmd ::grammar::me::tcl] [method lc] [arg location]] This command converts the location of a token given as offset in the input stream into the associated line number and column index. The result of the command is a 2-element list containing the two values, in the order mentioned in the previous sentence. |
︙ | ︙ | |||
105 106 107 108 109 110 111 | [para] After a call of [method init] the state used for the conversion is cleared, making further conversions impossible until the machine has read tokens again. | < | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [para] After a call of [method init] the state used for the conversion is cleared, making further conversions impossible until the machine has read tokens again. [call [cmd ::grammar::me::tcl] [method tok] [arg from] [opt [arg to]]] This command returns a Tcl list containing the part of the input stream between the locations [arg from] and [arg to] (both inclusive). If [arg to] is not specified it will default to the value of [arg from]. |
︙ | ︙ | |||
127 128 129 130 131 132 133 | the [arg nextcmd] callback given to [cmd ::grammar::me::tcl::init] [para] This command places the same restrictions on its location arguments as [cmd ::grammar::me::tcl::lc]. | < < < < < < < < < < < | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | the [arg nextcmd] callback given to [cmd ::grammar::me::tcl::init] [para] This command places the same restrictions on its location arguments as [cmd ::grammar::me::tcl::lc]. [call [cmd ::grammar::me::tcl] [method tokens]] This command returns the number of tokens currently known to the ME virtual machine. [call [cmd ::grammar::me::tcl] [method sv]] This command returns the current semantic value [term SV] stored in the machine. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [cmd ::grammar::me::tcl] [method ast]] This method returns the abstract syntax tree currently at the top of the AST stack of the ME virtual machine. This is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. [call [cmd ::grammar::me::tcl] [method astall]] This method returns the whole stack of abstract syntax trees currently known to the ME virtual machine. Each element of the returned list is an abstract syntax tree as specified in the document [syscmd grammar::me_ast], section [sectref-external {AST VALUES}]. The top of the stack resides at the end of the list. [call [cmd ::grammar::me::tcl] [method ctok]] This method returns the current token considered by the ME virtual machine. [call [cmd ::grammar::me::tcl] [method nc]] This method returns the contents of the nonterminal cache as a dictionary mapping from "[var symbol],[var location]" to match information. [call [cmd ::grammar::me::tcl] [method next]] This method returns the next token callback as specified during initialization of the ME virtual machine. [call [cmd ::grammar::me::tcl] [method ord]] This method returns a dictionary containing the [arg tokmap] specified during initialization of the ME virtual machine. [var [cmd ::grammar::me::tcl::ok]] This variable contains the current match status [term OK]. It is provided as variable instead of a command because that makes access to this information faster, and the speed of access is considered very important here as this information is used constantly to determine the control flow. [list_end] [para] [section {MACHINE STATE}] Please go and read the document [syscmd grammar::me_vm] first for a specification of the basic ME virtual machine and its state. [para] This implementation manages the state described in that document, except for the stacks minus the AST stack. In other words, location stack, error stack, return stack, and ast marker stack are implicitly managed through standard Tcl scoping, i.e. Tcl variables in procedures, outside of this implementation. [section {MACHINE INSTRUCTIONS}] Please go and read the document [syscmd grammar::me_vm] first for a specification of the basic ME virtual machine and its instruction set. [para] |
︙ | ︙ | |||
348 349 350 351 352 353 354 | The command takes the marker as argument as it comes from the Tcl stack, not the machine state. It replaces [term ias_mpop]. [list_end] [para] | < | < < | < < < < < < < | 334 335 336 337 338 339 340 341 342 343 | The command takes the marker as argument as it comes from the Tcl stack, not the machine state. It replaces [term ias_mpop]. [list_end] [para] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_util.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::util n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {AST utilities}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::util [opt 0.1]] [description] | > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me::util n 0.1] [keywords {abstract syntax tree}] [keywords {syntax tree}] [keywords tree] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {AST utilities}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::me::util [opt 0.1]] [description] [para] This package provides a number of utility command for the conversion between the various representations of abstract syntax trees as specified in the document [syscmd grammar::me_ast]. [list_begin definitions] [call [cmd ::grammar::me::util::ast2tree] [arg ast] [arg tree] [opt [arg root]]] This command converts an [arg ast] from value to object representation. All nodes in the [arg ast] will be converted into nodes of this [arg tree], with the root of the AST a child of the node [arg root]. If this node is not explicitly specified the root of the tree is used. Existing content of tree is not touched, i.e. neither removed nor changed, with the exception of the specified root node, which will gain a new child. [call [cmd ::grammar::me::util::ast2etree] [arg ast] [arg mcmd] [arg tree] [opt [arg root]]] This command is like [cmd ::grammar::me::util::ast2tree], except that the result is in the extended object representation of the input AST. The source of the extended information is the command prefix |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [list_end] [para] Both the ensemble command [cmd ::grammar::me::tcl] provided by the package [package grammar::me::tcl] and the objects command created by the package [package ::grammar::me::cpu] fit the above specification. | < | < | < < | < < < < < < < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | [list_end] [para] Both the ensemble command [cmd ::grammar::me::tcl] provided by the package [package grammar::me::tcl] and the objects command created by the package [package ::grammar::me::cpu] fit the above specification. [call [cmd ::grammar::me::util::tree2ast] [arg tree] [opt [arg root]]] This command converts an [arg ast] in (extended) object representation into a value and returns it. If a [arg root] node is specified the AST is generated from that node downward. Otherwise the root of the tree object is used as the starting point. [list_end] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_me/me_vm.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_vm n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine for parsing token streams}] [category {Grammars and finite automata}] [description] | > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::me_vm n 0.1] [keywords grammar] [keywords parsing] [keywords {virtual machine}] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Virtual machine for parsing token streams}] [category {Grammars and finite automata}] [description] Please go and read the document [syscmd grammar::me_intro] first for an overview of the various documents and their relations. [para] This document specifies a virtual machine for the controlled matching |
︙ | ︙ | |||
29 30 31 32 33 34 35 | implemented with it as well. [para] The following sections will discuss first the abstract state kept by ME virtual machines, and then their instruction set. | < < < < < < < < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | implemented with it as well. [para] The following sections will discuss first the abstract state kept by ME virtual machines, and then their instruction set. [section {MACHINE STATE}] A ME virtual machine manages the following state: [list_begin definitions] [def "[term {Current token}] CT"] The token from the input under consideration by the machine. [para] This information is used and modified by the instructions defined in the section [sectref {TERMINAL MATCHING}]. [def "[term {Current location}] CL"] The location of the [term {current token}] in the input stream, as offset relative to the beginning of the stream. The first token is considered to be at offset [const 0]. [para] This information is implicitly used and modified by the instructions defined in the sections [sectref {TERMINAL MATCHING}] and [sectref {NONTERMINAL MATCHING}], and can be directly queried and modified by the instructions defined in section [sectref {INPUT LOCATION HANDLING}]. [def "[term {Location stack}] LS"] In addition to the above a stack of locations, for backtracking. Locations can put on the stack, removed from it, and removed with setting the current location. [para] This information is implicitly used and modified by the instructions defined in the sections [sectref {TERMINAL MATCHING}] and [sectref {NONTERMINAL MATCHING}], and can be directly queried and modified by the instructions defined in section [sectref {INPUT LOCATION HANDLING}]. [def "[term {Match status}] OK"] A boolean value, the result of the last attempt at matching input. It is set to [const true] if that attempt was successful, and [const false] otherwise. [para] This information is influenced by the instructions defined in the sections [sectref {TERMINAL MATCHING}], [sectref {NONTERMINAL MATCHING}], and [sectref {UNCONDITIONAL MATCHING}]. It is queried by the instructions defined in the section [sectref {CONTROL FLOW}]. [def "[term {Semantic value}] SV"] The semantic value associated with (generated by) the last attempt at matching input. Contains either the empty string or a node for the abstract syntax tree constructed from the input. [para] This information is influenced by the instructions defined in the sections [sectref {SEMANTIC VALUES}], and [sectref {AST STACK HANDLING}]. [def "[term {AST stack}] AS"] A stack of partial abstract syntax trees constructed by the machine during matching. [para] This information is influenced by the instructions defined in the sections [sectref {SEMANTIC VALUES}], and [sectref {AST STACK HANDLING}]. [def "[term {AST Marker stack}] MS"] In addition to the above a stack of stacks, for backtracking. This is actually a stack of markers into the AST stack, thus implicitly snapshooting the state of the AST stack at some point in time. Markers can be put on the stack, dropped from it, and used to roll back the AST stack to an earlier state. [para] This information is influenced by the instructions defined in the sections [sectref {SEMANTIC VALUES}], and [sectref {AST STACK HANDLING}]. [def "[term {Error status}] ER"] Error information associated with the last attempt at matching input. Contains either the empty string or a list of 2 elements, a location in the input and a list of error messages associated with it, in this order. |
︙ | ︙ | |||
178 179 180 181 182 183 184 | This information is queried and influenced by the instructions defined in the sections [sectref {TERMINAL MATCHING}], [sectref {NONTERMINAL MATCHING}], and [sectref {ERROR HANDLING}]. | < < < | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 | This information is queried and influenced by the instructions defined in the sections [sectref {TERMINAL MATCHING}], [sectref {NONTERMINAL MATCHING}], and [sectref {ERROR HANDLING}]. [def "[term {Error stack}] ES"] In addition to the above a stack of error information, to allow the merging of current and older error information when performing backtracking in choices after an unsucessful match. [para] This information is queried and influenced by the instructions defined in the sections [sectref {TERMINAL MATCHING}], [sectref {NONTERMINAL MATCHING}], and [sectref {ERROR HANDLING}]. [def "[term {Return stack}] RS"] A stack of program counter values, i.e. locations in the code controlling the virtual machine, for the management of subroutine calls, i.e. the matching of nonterminal symbols. [para] This information is queried and influenced by the instructions defined in the section [sectref {NONTERMINAL MATCHING}]. [def "[term {Nonterminal cache}] NC"] A cache of machine states (A 4-tuple containing a location in the input, match status [term OK], semantic value [term SV], and error status [term ER]) keyed by name of nonterminal symbol and location in the input stream. |
︙ | ︙ | |||
232 233 234 235 236 237 238 | This status is queried and influenced by the instructions defined in the section [sectref {NONTERMINAL MATCHING}]. [list_end] | < < | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 | This status is queried and influenced by the instructions defined in the section [sectref {NONTERMINAL MATCHING}]. [list_end] [section {MACHINE INSTRUCTIONS}] With the machine state specified it is now possible to explain the instruction set of ME virtual machines. They are grouped roughly by the machine state they influence and/or query. [subsection {TERMINAL MATCHING}] First the instructions to match tokens from the input stream, and by extension all terminal symbols. [para] |
︙ | ︙ | |||
280 281 282 283 284 285 286 | made the current location [term CL]. [para] The argument [arg message] is a reference to the string to put into the error status [term ER], if such is needed. | < < < | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | made the current location [term CL]. [para] The argument [arg message] is a reference to the string to put into the error status [term ER], if such is needed. [def "[cmd ict_match_token] [arg tok] [arg message]"] This instruction tests the current token [term CT] for equality with the argument [arg tok] and records the result in the match status [term OK]. The instruction fails if the current token is not equal to [arg tok]. [para] In case of failure the error status [term ER] is set to the current location [term CL] and the message [arg message], and the current location [term CL] is moved one token backwards. Otherwise, i.e. upon success, the error status [term ER] is cleared and the current location [term CL] is not touched. [def "[cmd ict_match_tokrange] [arg tokbegin] [arg tokend] [arg message]"] This instruction tests the current token [term CT] for being in the range of tokens from [arg tokbegin] to [arg tokend] (inclusive) and records the result in the match status [term OK]. The instruction fails if the current token is not inside the range. [para] In case of failure the error status [term ER] is set to the current location [term CL] and the message [arg message], and the current location [term CL] is moved one token backwards. Otherwise, i.e. upon success, the error status [term ER] is cleared and the current location [term CL] is not touched. [def "[cmd ict_match_tokclass] [arg code] [arg message]"] This instruction tests the current token [term CT] for being a member of the token class [arg code] and records the result in the match status [term OK]. The instruction fails if the current token is not a member of the specified class. |
︙ | ︙ | |||
352 353 354 355 356 357 358 | A token is accepted if it is a unicode punctuation character. [def space] A token is accepted if it is a unicode space character. [list_end] [list_end] [para] | < | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | A token is accepted if it is a unicode punctuation character. [def space] A token is accepted if it is a unicode space character. [list_end] [list_end] [para] [subsection {NONTERMINAL MATCHING}] The instructions in this section handle the matching of nonterminal symbols. They query the nonterminal cache [term NC] for saved information, and put such information into the cache. |
︙ | ︙ | |||
392 393 394 395 396 397 398 | [para] Together with [cmd icf_ntcall] it is possible to generate code for memoized and non-memoized matching of nonterminal symbols, either as subroutine calls, or inlined in the caller. | < < < < < < < < < < < < < < < < < | 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 | [para] Together with [cmd icf_ntcall] it is possible to generate code for memoized and non-memoized matching of nonterminal symbols, either as subroutine calls, or inlined in the caller. [def "[cmd inc_save] [arg nt]"] This instruction saves the current state of the machine (current location [term CL], match status [term OK], semantic value [term SV], and error status [term ER]), to the nonterminal cache [term NC]. It will also pop an entry from the location stack [term LS] and save it as the start location of the match. [para] It is expected to be called at the end of matching a nonterminal symbol, with [arg nt] the name of the nonterminal symbol the code was working on. This allows the instruction [cmd inc_restore] to check for and retrieve the data, should we have to match this nonterminal symbol at the same location again, during backtracking. [def "[cmd icf_ntcall] [arg branchlabel]"] This instruction invokes the code for matching the nonterminal symbol [arg nt] as a subroutine. To this end it stores the current program counter [term PC] on the return stack [term RS], the current location [term CL] on the location stack [term LS], and then continues execution at the address [arg branchlabel]. [para] The next matching [cmd icf_ntreturn] will cause the execution to continue at the instruction coming after the call. [def [cmd icf_ntreturn]] This instruction will pop an entry from the return stack [term RS], assign it to the program counter [term PC], and then continue execution at the new address. [list_end] [para] [subsection {UNCONDITIONAL MATCHING}] The instructions in this section are the remaining match operators. They change the match status [term OK] directly and unconditionally. [list_begin definitions] [def [cmd iok_ok]] This instruction sets the match status [term OK] to [const true], indicating a successful match. [def [cmd iok_fail]] This instruction sets the match status [term OK] to [const false], indicating a failed match. [def [cmd iok_negate]] This instruction negates the match status [term OK], turning a failure into a success and vice versa. [list_end] [para] [subsection {CONTROL FLOW}] The instructions in this section implement both conditional and unconditional control flow. The conditional jumps query the match status [term OK]. [list_begin definitions] [def "[cmd icf_jalways] [arg branchlabel]"] This instruction sets the program counter [term PC] to the address specified by [arg branchlabel] and then continues execution from there. This is an unconditional jump. [def "[cmd icf_jok] [arg branchlabel]"] This instruction sets the program counter [term PC] to the address specified by [arg branchlabel]. This happens if, and only if the match status [term OK] indicates a success. Otherwise it simply continues execution at the next instruction. This is a conditional jump. [def "[cmd icf_jfail] [arg branchlabel]"] This instruction sets the program counter [term PC] to the address specified by [arg branchlabel]. This happens if, and only if the match status [term OK] indicates a failure. Otherwise it simply continues execution at the next instruction. This is a conditional jump. [def [cmd icf_halt]] This instruction halts the machine and blocks any further execution. [list_end] [subsection {INPUT LOCATION HANDLING}] The instructions in this section are for backtracking, they manipulate the current location [term CL] of the machine state. They allow a user of the machine to query and save locations in the input, and to rewind the current location [term CL] to saved locations, making them one of the components enabling the implementation of backtracking parsers. [list_begin definitions] [def [cmd icl_push]] This instruction pushes a copy of the current location [term CL] on the location stack [term LS]. [def [cmd icl_rewind]] This instruction pops an entry from the location stack [term LS] and then moves the current location [term CL] back to this point in the input. [def [cmd icl_pop]] This instruction pops an entry from the location stack [term LS] and discards it. [list_end] [para] [subsection {ERROR HANDLING}] The instructions in this section provide read and write access to the error status [term ER] of the machine. [list_begin definitions] [def [cmd ier_push]] This instruction pushes a copy of the current error status [term ER] on the error stack [term ES]. [def [cmd ier_clear]] This instruction clears the error status [term ER]. [def "[cmd ier_nonterminal] [arg message]"] This instruction checks if the error status [term ER] contains an error whose location is just past the location found in the top entry of the location stack [term LS]. Nothing happens if no such error is found. Otherwise the found error is replaced by an error at the location found on the stack, having the message [arg message]. [def [cmd ier_merge]] This instruction pops an entry from the error stack [term ES], merges it with the current error status [term ER] and stores the result of the merge as the new error status [term ER]. |
︙ | ︙ | |||
585 586 587 588 589 590 591 | neither error state is empty, and refering to different locations, then the error state with the location further in the input is chosen. If both error states refer to the same location their messages are merged (with removing duplicates). [list_end] | < < < < < | 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 | neither error state is empty, and refering to different locations, then the error state with the location further in the input is chosen. If both error states refer to the same location their messages are merged (with removing duplicates). [list_end] [subsection {SEMANTIC VALUES}] The instructions in this section manipulate the semantic value [term SV]. [list_begin definitions] [def [cmd isv_clear]] This instruction clears the semantic value [term SV]. [def [cmd isv_terminal]] This instruction creates a terminal AST node for the current token [term CT], makes it the semantic value [term SV], and also pushes the node on the AST stack [term AS]. [def "[cmd isv_nonterminal_leaf] [arg nt]"] This instruction creates a nonterminal AST node without any children for the nonterminal [arg nt], and makes it the semantic value [term SV]. [para] This instruction should be executed if, and only if the match status [term OK] indicates a success. In the case of a failure [cmd isv_clear] should be called. [def "[cmd isv_nonterminal_range] [arg nt]"] This instruction creates a nonterminal AST node for the nonterminal [arg nt], with a single terminal node as its child, and makes this AST the semantic value [term SV]. The terminal node refers to the input string from the location found on top of the location stack [term LS] to the current location [term CL] (both inclusive). [para] This instruction should be executed if, and only if the match status [term OK] indicates a success. In the case of a failure [cmd isv_clear] should be called. [def "[cmd isv_nonterminal_reduce] [arg nt]"] This instruction creates a nonterminal AST node for the nonterminal [arg nt] and makes it the semantic value [term SV]. [para] |
︙ | ︙ | |||
659 660 661 662 663 664 665 | [term OK] indicates a success. In the case of a failure [cmd isv_clear] should be called. [list_end] [para] | < < < < < | < < | < < < < < < < | 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 | [term OK] indicates a success. In the case of a failure [cmd isv_clear] should be called. [list_end] [para] [subsection {AST STACK HANDLING}] The instructions in this section manipulate the AST stack [term AS], and the AST Marker stack [term MS]. [list_begin definitions] [def [cmd ias_push]] This instruction pushes the semantic value [term SV] on the AST stack [term AS]. [def [cmd ias_mark]] This instruction pushes a marker for the current state of the AST stack [term AS] on the AST Marker stack [term MS]. [def [cmd ias_mrewind]] This instruction pops an entry from the AST Marker stack [term MS] and then proceeds to pop entries from the AST stack [term AS] until the state represented by the popped marker has been reached again. Nothing is done if the AST stack [term AS] is already smaller than indicated by the popped marker. [def [cmd ias_mpop]] This instruction pops an entry from the AST Marker stack [term MS] and discards it. [list_end] [vset CATEGORY grammar_me] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_peg/peg.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::peg n 0.1] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Create and manipulate parsing expression grammars}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require grammar::peg [opt 0.1]] [description] | > > > > > > > > > > > > > < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::peg n 0.1] [keywords {context-free languages}] [keywords expression] [keywords grammar] [keywords LL(k)] [keywords parsing] [keywords {parsing expression}] [keywords {parsing expression grammar}] [keywords {push down automaton}] [keywords {recursive descent}] [keywords state] [keywords TDPL] [keywords {top-down parsing languages}] [keywords transducer] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Create and manipulate parsing expression grammars}] [category {Grammars and finite automata}] [require Tcl 8.4] [require snit] [require grammar::peg [opt 0.1]] [description] [para] This package provides a container class for [term {parsing expression grammars}] (Short: PEG). It allows the incremental definition of the grammar, its manipulation and querying of the definition. The package neither provides complex operations on the grammar, nor has it the ability to execute a grammar definition for a stream of symbols. Two packages related to this one are [package grammar::mengine] and [package grammar::peg::interpreter]. The first of them defines a general virtual machine for the matching of a character stream, and the second implements an interpreter for parsing expression grammars on top of that virtual machine. [subsection {TERMS & CONCEPTS}] PEGs are similar to context-free grammars, but not equivalent; in some cases PEGs are strictly more powerful than context-free grammars (there exist PEGs for some non-context-free languages). |
︙ | ︙ | |||
168 169 170 171 172 173 174 | We cannot use the term [term incomplete] as this term is already taken, see the last item. [list_end] [para] | < | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | We cannot use the term [term incomplete] as this term is already taken, see the last item. [list_end] [para] [subsection {CONTAINER CLASS API}] The package exports the API described here. [list_begin definitions] [call [cmd ::grammar::peg] [arg pegName] \ |
︙ | ︙ | |||
204 205 206 207 208 209 210 | An empty grammar has no nonterminal symbols, and the start expression is the empty expression, i.e. epsilon. It is [term valid], but not [term useful]. [list_end] | < < < < < < | 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | An empty grammar has no nonterminal symbols, and the start expression is the empty expression, i.e. epsilon. It is [term valid], but not [term useful]. [list_end] [subsection {CONTAINER OBJECT API}] [para] All grammar container objects provide the following methods for the manipulation of their contents: [list_begin definitions] [call [arg pegName] [method destroy]] Destroys the grammar, including its storage space and associated command. [call [arg pegName] [method clear]] Clears out the definition of the grammar contained in [arg pegName], but does [emph not] destroy the object. [call [arg pegName] [method =] [arg srcPEG]] Assigns the contents of the grammar contained in [arg srcPEG] to [arg pegName], overwriting any existing definition. This is the assignment operator for grammars. It copies the grammar contained in the grammar object [arg srcPEG] over the grammar definition in [arg pegName]. The old contents of [arg pegName] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg pegName] [method deserialize] [lb][arg srcPEG] [method serialize][rb] [example_end] [call [arg pegName] [method -->] [arg dstPEG]] This is the reverse assignment operator for grammars. It copies the automation contained in the object [arg pegName] over the grammar definition in the object [arg dstPEG]. The old contents of [arg dstPEG] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg dstPEG] [method deserialize] [lb][arg pegName] [method serialize][rb] [example_end] [call [arg pegName] [method serialize]] This method serializes the grammar stored in [arg pegName]. In other words it returns a tcl [emph value] completely describing that grammar. |
︙ | ︙ | |||
347 348 349 350 351 352 353 | Expression }] [para] A possible one, because the order of the nonterminals in the dictionary is not relevant. | < < < < < < < < < | 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 | Expression }] [para] A possible one, because the order of the nonterminals in the dictionary is not relevant. [call [arg pegName] [method deserialize] [arg serialization]] This is the complement to [method serialize]. It replaces the grammar definition in [arg pegName] with the grammar described by the [arg serialization] value. The old contents of [arg pegName] are deleted by this operation. [call [arg pegName] [method {is valid}]] A predicate. It tests whether the PEG in [arg pegName] is [term valid]. See section [sectref {TERMS & CONCEPTS}] for the definition of this grammar property. The result is a boolean value. It will be set to [const true] if the PEG has the tested property, and [const false] otherwise. [call [arg pegName] [method start] [opt [arg pe]]] This method defines the [term {start expression}] of the grammar. It replaces the previously defined start expression with the parsing expression [arg pe]. The method fails and throws an error if [arg pe] does not contain a valid parsing expression as specified in the section [sectref {PARSING EXPRESSIONS}]. In that case the existing start expression is not changed. The method returns the empty string as its result. [para] If the method is called without an argument it will return the currently defined start expression. [call [arg pegName] [method nonterminals]] Returns the set of all nonterminal symbols known to the grammar. [call [arg pegName] [method {nonterminal add}] [arg nt] [arg pe]] This method adds the nonterminal [arg nt] and its associated parsing expression [arg pe] to the set of nonterminal symbols and rules of the PEG contained in the object [arg pegName]. The method fails and throws an error if either the string [arg nt] is already known as a symbol of the grammar, or if [arg pe] does not contain a valid parsing expression as specified in the section [sectref {PARSING EXPRESSIONS}]. In that case the current set of nonterminal symbols and rules is not changed. The method returns the empty string as its result. [call [arg pegName] [method {nonterminal delete}] [arg nt1] [opt "[arg nt2] ..."]] This method removes the named symbols [arg nt1], [arg nt2] from the set of nonterminal symbols of the PEG contained in the object [arg pegName]. The method fails and throws an error if any of the strings is not known as a nonterminal symbol. In that case the current set of nonterminal symbols is not changed. The method returns the empty string as its result. [para] The stored grammar becomes invalid if the deleted nonterminals are referenced by the RHS of still-known rules. [call [arg pegName] [method {nonterminal exists}] [arg nt]] A predicate. It tests whether the nonterminal symbol [arg nt] is known to the PEG in [arg pegName]. The result is a boolean value. It will be set to [const true] if the symbol [arg nt] is known, and [const false] otherwise. [call [arg pegName] [method {nonterminal rename}] [arg nt] [arg ntnew]] This method renames the nonterminal symbol [arg nt] to [arg ntnew]. The method fails and throws an error if either [arg nt] is not known as a nonterminal, or if [arg ntnew] is a known symbol. The method returns the empty string as its result. [call [arg pegName] [method {nonterminal mode}] [arg nt] [opt [arg mode]]] This mode returns or sets the semantic mode associated with the nonterminal symbol [arg nt]. If no [arg mode] is specified the current mode of the nonterminal is returned. Otherwise the current mode is set to [arg mode]. |
︙ | ︙ | |||
482 483 484 485 486 487 488 | [def discard] The nonterminal has no semantic value. The ASTs generated by the RHS are discarded (as well). [list_end] | < < < | 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 | [def discard] The nonterminal has no semantic value. The ASTs generated by the RHS are discarded (as well). [list_end] [call [arg pegName] [method {nonterminal rule}] [arg nt]] This method returns the parsing expression associated with the nonterminal [arg nt]. The method fails and throws an error if [arg nt] is not known as a nonterminal. [call [arg pegName] [method {unknown nonterminals}]] This method returns a list containing the names of all nonterminal symbols which are referenced on the RHS of a grammatical rule, but have no rule definining their structure. In other words, a list of the nonterminal symbols which make the grammar invalid. The grammar is valid if this list is empty. [list_end] [para] [subsection {PARSING EXPRESSIONS}] [para] |
︙ | ︙ | |||
597 598 599 600 601 602 603 | [lb]list ! [var e][rb] is a parsing expression as well. This is the [term {not lookahead predicate}]. | < < | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 | [lb]list ! [var e][rb] is a parsing expression as well. This is the [term {not lookahead predicate}]. [enum] For a parsing expression [var e] the result of [lb]list ? [var e][rb] is a parsing expression as well. This is the [term {optional input}]. [list_end] [para] Examples of parsing expressions where already shown, in the description of the method [method serialize]. [section {PARSING EXPRESSION GRAMMARS}] [para] For the mathematically inclined, a PEG is a 4-tuple (VN,VT,R,eS) where [list_begin itemized] |
︙ | ︙ | |||
704 705 706 707 708 709 710 | [para] They can be easily implemented by recursive descent parsers with backtracking. This makes them relatives of LL(k) Context-Free Grammars. | < | 690 691 692 693 694 695 696 697 698 699 700 701 702 703 | [para] They can be easily implemented by recursive descent parsers with backtracking. This makes them relatives of LL(k) Context-Free Grammars. [section REFERENCES] [list_begin enumerated] [enum] [uri {http://www.pdos.lcs.mit.edu/~baford/packrat/} \ {The Packrat Parsing and Parsing Expression Grammars Page}], by Bryan Ford, Massachusetts Institute of Technology. This is the main |
︙ | ︙ | |||
727 728 729 730 731 732 733 | [enum] [uri {http://scifac.ru.ac.za/compilers/} \ {Compilers and Compiler Generators}], an online book using CoCo/R, a generator for recursive descent parsers. [list_end] | < | < < | < < < < < < < | 712 713 714 715 716 717 718 719 720 721 | [enum] [uri {http://scifac.ru.ac.za/compilers/} \ {Compilers and Compiler Generators}], an online book using CoCo/R, a generator for recursive descent parsers. [list_end] [vset CATEGORY grammar_peg] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/grammar_peg/peg_interp.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::peg::interp n 0.1.1] [copyright {2005-2011 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Interpreter for parsing expression grammars}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::mengine [opt 0.1]] [require grammar::peg::interp [opt 0.1.1]] [description] | > > > > > > > > > > > > > > > < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin grammar::peg::interp n 0.1.1] [keywords {context-free languages}] [keywords expression] [keywords grammar] [keywords LL(k)] [keywords matching] [keywords parsing] [keywords {parsing expression}] [keywords {parsing expression grammar}] [keywords {push down automaton}] [keywords {recursive descent}] [keywords state] [keywords TDPL] [keywords {top-down parsing languages}] [keywords transducer] [keywords {virtual machine}] [copyright {2005-2011 Andreas Kupries <[email protected]>}] [moddesc {Grammar operations and usage}] [titledesc {Interpreter for parsing expression grammars}] [category {Grammars and finite automata}] [require Tcl 8.4] [require grammar::mengine [opt 0.1]] [require grammar::peg::interp [opt 0.1.1]] [description] [para] This package provides commands for the controlled matching of a character stream via a parsing expression grammar and the creation of an abstract syntax tree for the stream and partials. [para] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | Also of note is that the implementation assumes a pull-type handling of the input. In other words, the interpreter pulls characters from the input stream as it needs them. For usage in a push environment, i.e. where the environment pushes new characters as they come we have to put the engine into its own thread. | < < | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | Also of note is that the implementation assumes a pull-type handling of the input. In other words, the interpreter pulls characters from the input stream as it needs them. For usage in a push environment, i.e. where the environment pushes new characters as they come we have to put the engine into its own thread. [section {THE INTERPRETER API}] The package exports the following API [list_begin definitions] [call [cmd ::grammar::peg::interp::setup] [arg peg]] This command (re)initializes the interpreter. It returns the empty string. This command has to be invoked first, before any matching run. [para] Its argument [arg peg] is the handle of an object containing the parsing expression grammar to interpret. This grammar has to be valid, or an error will be thrown. [call [cmd ::grammar::peg::interp::parse] [arg nextcmd] [arg errorvar] [arg astvar]] This command interprets the loaded grammar and tries to match it against the stream of characters represented by the command prefix [arg nextcmd]. |
︙ | ︙ | |||
105 106 107 108 109 110 111 | The abstract syntax tree is represented by a nested list, as described in section [sectref-external {AST VALUES}] of document [term grammar::me_ast]. [list_end] [para] | < | < < | < < < < < < < < | 113 114 115 116 117 118 119 120 121 122 | The abstract syntax tree is represented by a nested list, as described in section [sectref-external {AST VALUES}] of document [term grammar::me_ast]. [list_end] [para] [vset CATEGORY grammar_peg] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/hook/hook.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin hook n 0.1] [copyright {2010, by William H. Duquette}] [moddesc {Hooks}] [titledesc {Hooks}] [category {Programming tools}] [require Tcl 8.5] [require hook [opt 0.1]] | > > > > > > > > > > < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin hook n 0.1] [see_also uevent(n)] [keywords callback] [keywords event] [keywords hook] [keywords observer] [keywords producer] [keywords publisher] [keywords subject] [keywords subscriber] [keywords uevent] [copyright {2010, by William H. Duquette}] [moddesc {Hooks}] [titledesc {Hooks}] [category {Programming tools}] [require Tcl 8.5] [require hook [opt 0.1]] [description] [para] This package provides the [cmd hook] ensemble command, which implements the Subject/Observer pattern. It allows [term subjects], which may be [term modules], [term objects], [term widgets], and so forth, to synchronously call [term hooks] which may be bound to an arbitrary number of subscribers, called [term observers]. A subject may call any number of distinct hooks, and any number of observers can |
︙ | ︙ | |||
45 46 47 48 49 50 51 | Views subscribe.}] The Model is decoupled from the Views, and indeed need not know whether any Views actually exist. At present, Tcl/Tk has no standard mechanism for implementing loose coupling of this kind. This package defines a new command, [cmd hook], which implements just such a mechanism. | < | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | Views subscribe.}] The Model is decoupled from the Views, and indeed need not know whether any Views actually exist. At present, Tcl/Tk has no standard mechanism for implementing loose coupling of this kind. This package defines a new command, [cmd hook], which implements just such a mechanism. [subsection Bindings] The [cmd hook] command manages a collection of hook bindings. A hook binding has four elements: [list_begin enumerated] [enum] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | names and arguments of the hooks it can call. [enum] The name of the [term observer] that wishes to receive the [term hook] from the [term subject]. [enum] | | | < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | names and arguments of the hooks it can call. [enum] The name of the [term observer] that wishes to receive the [term hook] from the [term subject]. [enum] A command prefix to which the [term hook] arguments will be appended when the binding is executed. [list_end] [subsection {Subjects and observers}] For convenience, this document collectively refers to subjects and observers as [term objects], while placing no requirements on how these [term objects] are actually implemented. An object can be a [package TclOO] or [package Snit] or [package XOTcl] object, a Tcl |
︙ | ︙ | |||
105 106 107 108 109 110 111 | other packages, users of [package hook], these [cmd ::foo] handles should have names like [const ::foo::1], [const ::foo::2], and so on. [para] Because object names are arbitrary strings, application code can use whatever additional conventions are dictated by the needs of the application. | < | 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | other packages, users of [package hook], these [cmd ::foo] handles should have names like [const ::foo::1], [const ::foo::2], and so on. [para] Because object names are arbitrary strings, application code can use whatever additional conventions are dictated by the needs of the application. [section Reference] Hook provides the following commands: [list_begin definitions] |
︙ | ︙ | |||
165 166 167 168 169 170 171 | [example { hook call $s $h }] [list_begin enumerated] [enum] | | | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | [example { hook call $s $h }] [list_begin enumerated] [enum] No binding is ever called after it is deleted. [enum] When a binding is called, the most recently given command prefix is always used. [enum] The set of observers whose bindings are to be called is determined when this method begins to execute, and does not change thereafter, except that deleted bindings are not called. [list_end] In particular: [list_begin enumerated] [enum] If [var \$o]s binding to [var \$s] and [var \$h] is deleted, and [var \$o]s binding has not yet been called during this execution of |
︙ | ︙ | |||
215 216 217 218 219 220 221 | [example { hook call $s $h }] [list_end] | < | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 | [example { hook call $s $h }] [list_end] [call [cmd hook] [method call] [arg subject] [arg hook] [opt [arg args]...]] This command is called when the named [arg subject] wishes to call the named [arg hook]. All relevant bindings are called with the specified arguments in the global namespace. Note that the bindings are called synchronously, before the command returns; this allows the [arg args] to include references to entities that will be cleaned up as soon as |
︙ | ︙ | |||
239 240 241 242 243 244 245 | Because the [cmd hook] mechanism is intended to support loose coupling, it is presumed that the [arg subject] has no knowledge of the observers, nor any expectation regarding return values. This has a number of implications: [list_begin enumerated] [enum] | | | < | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | Because the [cmd hook] mechanism is intended to support loose coupling, it is presumed that the [arg subject] has no knowledge of the observers, nor any expectation regarding return values. This has a number of implications: [list_begin enumerated] [enum] [cmd {hook call}] returns the empty string. [enum] Normal return values from observer bindings are ignored. [enum] Errors and other exceptional returns propagate normally by default. This will rarely be what is wanted, because the subjects usually have no knowledge of the observers and will therefore have no particular competence at handling their errors. That makes it an application issue, and so applications will usually want to define an [option -errorcommand]. [list_end] If the [option -errorcommand] configuration option has a non-empty value, its value will be invoked for all errors and other exceptional returns in observer bindings. See [cmd {hook configure}], below, for more information on configuration options. [call [cmd hook] [method forget] [arg object]] This command deletes any existing bindings in which the named [arg object] appears as either the [term subject] or the [term observer]. |
︙ | ︙ | |||
285 286 287 288 289 290 291 | [example {hook call $s $h}] then [cmd {hook call}] will return as soon as the current binding returns. No further bindings will be called. [list_end] | < | | | | | | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | [example {hook call $s $h}] then [cmd {hook call}] will return as soon as the current binding returns. No further bindings will be called. [list_end] [call [cmd hook] [method cget] [arg option]] This command returns the value of one of the [cmd hook] command's configuration options. [call [cmd hook] [method configure] [option option] [arg value] ...] This command sets the value of one or more of the [cmd hook] command's configuration options: [list_begin options] [opt_def -errorcommand [arg cmdPrefix]] If the value of this option is the empty string, "", then errors and other exception returns in binding scripts are propagated normally. Otherwise, it must be a command prefix taking three additional arguments: [list_begin enumerated] [enum] a 4-element list {subject hook arglist observer}, [enum] the result string, and [enum] the return options dictionary. [list_end] Given this information, the [option -errorcommand] can choose to log the error, call [cmd {interp bgerror}], delete the errant binding (thus preventing the error from arising a second time) and so forth. [opt_def -tracecommand [arg cmdPrefix]] The option's value should be a command prefix taking four arguments: [list_begin enumerated] [enum] a [term subject], [enum] a [term hook], [enum] a list of the hook's argument values, and [enum] a list of [term objects] the hook was called for. |
︙ | ︙ | |||
360 361 362 363 364 365 366 | Later the [widget .view] megawidget is destroyed. In its destructor, it tells the [term hook] that it no longer exists: [example { hook forget .view }] | | < | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 | Later the [widget .view] megawidget is destroyed. In its destructor, it tells the [term hook] that it no longer exists: [example { hook forget .view }] All bindings involving [widget .view] are deleted. [section Credits] Hook has been designed and implemented by William H. Duquette. [vset CATEGORY hook] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/html/html.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin html n 1.4] [moddesc {HTML Generation}] [titledesc {Procedures to generate HTML structures}] [category {CGI programming}] [require Tcl 8.2] [require html [opt 1.4]] [description] [para] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin html n 1.4] [see_also htmlparse] [see_also ncgi] [keywords checkbox] [keywords checkbutton] [keywords form] [keywords html] [keywords radiobutton] [keywords table] [moddesc {HTML Generation}] [titledesc {Procedures to generate HTML structures}] [category {CGI programming}] [require Tcl 8.2] [require html [opt 1.4]] [description] [para] |
︙ | ︙ | |||
22 23 24 25 26 27 28 | [call [cmd ::html::author] [arg author]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define an author for the page. The author is noted in a comment in the HEAD section. | < < < < < < < < < < < < < < < < < < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | [call [cmd ::html::author] [arg author]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define an author for the page. The author is noted in a comment in the HEAD section. [call [cmd ::html::bodyTag] [arg args]] Generate a [term body] tag. The tag parameters are taken from [arg args] or from the body.* attributes define with [cmd ::html::init]. [call [cmd ::html::cell] [arg {param value}] [opt [arg tag]]] Generate a [term td] (or [term th]) tag, a value, and a closing [term td] (or [term th]) tag. The tag parameters come from [arg param] or TD.* attributes defined with [cmd ::html::init]. This uses [cmd ::html::font] to insert a standard [term font] tag into the table cell. The [arg tag] argument defaults to "td". [call [cmd ::html::checkbox] [arg {name value}]] Generate a [term checkbox] form element with the specified name and value. This uses [cmd ::html::checkValue]. [call [cmd ::html::checkSet] [arg {key sep list}]] Generate a set of [term checkbox] form elements and associated labels. The [arg list] should contain an alternating list of labels and values. This uses [cmd ::html::checkbox]. All the [term checkbox] buttons share the same [arg key] for their name. The [arg sep] is text used to separate the elements. [call [cmd ::html::checkValue] [arg name] [opt [arg value]]] Generate the "name=[arg name] value=[arg value] for a [term checkbox] form element. If the CGI variable [arg name] has the value [arg value], then SELECTED is added to the return value. [arg value] defaults to "1". [call [cmd ::html::closeTag]] Pop a tag off the stack created by [cmd ::html::openTag] and generate the corresponding close tag (e.g., </body>). [call [cmd ::html::default] [arg key] [opt [arg param]]] This procedure is used by [cmd ::html::tagParam] to generate the name, value list of parameters for a tag. The [cmd ::html::default] procedure is used to generate default values for those items not already in [arg param]. If the value identified by [arg key] matches a value in [arg param] then this procedure returns the empty string. Otherwise, it returns a "parameter=value" string for a form element identified by [arg key]. The [arg key] has the form "tag.parameter" (e.g., body.bgcolor). Use [cmd ::html::init] to register default values. [arg param] defaults to the empty string. [call [cmd ::html::description] [arg description]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define a description [term meta] tag for the page. This tag is generated later in the call to [cmd ::html::head]. [call [cmd ::html::end]] Pop all open tags from the stack and generate the corresponding close HTML tags, (e.g., </body></html>). [call [cmd ::html::eval] [arg arg] [opt [arg args]]] This procedure is similar to the built-in Tcl [cmd eval] command. The only difference is that it returns "" so it can be called from an HTML template file without appending unwanted results. [call [cmd ::html::extractParam] [arg {param key}] [opt [arg varName]]] This is a parsing procedure that extracts the value of [arg key] from [arg param], which is a HTML-style "name=quotedvalue" list. [arg varName] is used as the name of a Tcl variable that is changed to have the value found in the parameters. The function returns 1 if the parameter was found in [arg param], otherwise it returns 0. If the [arg varName] is not specified, then [arg key] is used as the variable name. [call [cmd ::html::font] [arg args]] Generate a standard [term font] tag. The parameters to the tag are taken from [arg args] and the HTML defaults defined with [cmd ::html::init]. [call [cmd ::html::for] [arg {start test next body}]] This procedure is similar to the built-in Tcl [cmd for] control structure. Rather than evaluating the body, it returns the subst'ed [arg body]. Each iteration of the loop causes another string to be concatenated to the result value. [call [cmd ::html::foreach] [arg {varlist1 list1}] [opt [arg {varlist2 list2 ...}]] [arg body]] This procedure is similar to the built-in Tcl [cmd foreach] control structure. Rather than evaluating the body, it returns the subst'ed [arg body]. Each iteration of the loop causes another string to be concatenated to the result value. [call [cmd ::html::formValue] [arg name] [opt [arg defvalue]]] Return a name and value pair, where the value is initialized from existing CGI data, if any. The result has this form: [para] [example { name="fred" value="freds value" }] [call [cmd ::html::getFormInfo] [arg args]] Generate hidden fields to capture form values. If [arg args] is empty, then hidden fields are generated for all CGI values. Otherwise args is a list of string match patterns for form element names. [call [cmd ::html::getTitle]] Return the title string, with out the surrounding [term title] tag, set with a previous call to [cmd ::html::title]. [call [cmd ::html::h] [arg {level string}] [opt [arg param]]] Generate a heading (e.g., [term h[var level]]) tag. The [arg string] is nested in the heading, and [arg param] is used for the tag parameters. [call [cmd ::html::h1] [arg string] [opt [arg param]]] |
︙ | ︙ | |||
187 188 189 190 191 192 193 | Generate an [term h5] tag. See [cmd ::html::h]. [call [cmd ::html::h6] [arg string] [opt [arg param]]] Generate an [term h6] tag. See [cmd ::html::h]. | < < | | | < < < < < < < < < < < < < < < < < < < < < < < | 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | Generate an [term h5] tag. See [cmd ::html::h]. [call [cmd ::html::h6] [arg string] [opt [arg param]]] Generate an [term h6] tag. See [cmd ::html::h]. [call [cmd ::html::hdrRow] [arg args]] Generate a table row, including [term tr] and [term th] tags. Each value in [arg args] is place into its own table cell. This uses [cmd ::html::cell]. [call [cmd ::html::head] [arg title]] Generate the [term head] section that includes the page [term title]. If previous calls have been made to [cmd ::html::author], [cmd ::html::keywords], [cmd ::html::description], or [cmd ::html::meta] then additional tags are inserted into the [term head] section. This leaves an open [term html] tag pushed on the stack with [cmd ::html::openTag]. [call [cmd ::html::headTag] [arg string]] Save a tag for inclusion in the [term head] section generated by [cmd ::html::head]. The [arg string] is everything in the tag except the enclosing angle brackets, < >. [call [cmd ::html::html_entities] [arg string]] This command replaces all special characters in the [arg string] with their HTML entities and returns the modified text. [call [cmd ::html::if] [arg {expr1 body1}] [opt "[const elseif] [arg {expr2 body2 ...}]"] [opt "[const else] [arg bodyN]"]] This procedure is similar to the built-in Tcl [cmd if] control structure. Rather than evaluating the body of the branch that is taken, it returns the subst'ed [arg body]. Note that the syntax is slightly more restrictive than that of the built-in Tcl [cmd if] control structure. [call [cmd ::html::init] [opt [arg list]]] [cmd ::html::init] accepts a Tcl-style name-value list that defines values for items with a name of the form "tag.parameter". For example, a default with key "body.bgcolor" defines the background color for the [term body] tag. [call [cmd ::html::keywords] [arg args]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define a keyword [term meta] tag for the page. The [term meta] tag is included in the result of [cmd ::html::head]. [call [cmd ::html::mailto] [arg email] [opt [arg subject]]] Generate a hypertext link to a mailto: URL. [call [cmd ::html::meta] [arg args]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define a [term meta] tag for the page. The [arg args] is a Tcl-style name, value list that is used for the name= and value= parameters for the [term meta] tag. The [term meta] tag is included in the result of [cmd ::html::head]. [call [cmd ::html::minorList] [arg list] [opt [arg ordered]]] Generate an ordered or unordered list of links. The [arg list] is a Tcl-style name, value list of labels and urls for the links. [arg ordered] is a boolean used to choose between an ordered or unordered list. It defaults to [const false]. [call [cmd ::html::minorMenu] [arg list] [opt [arg sep]]] Generate a series of hypertext links. The [arg list] is a Tcl-style name, value list of labels and urls for the links. The [arg sep] is the text to put between each link. It defaults to " | ". [call [cmd ::html::nl2br] [arg string]] This command replaces all line-endings in the [arg string] with a [term br] tag and returns the modified text. [call [cmd ::html::openTag] [arg tag] [opt [arg param]]] Push [arg tag] onto a stack and generate the opening tag for [arg tag]. Use [cmd ::html::closeTag] to pop the tag from the stack. The second argument provides any tag arguments, as a list whose elements are formatted to be in the form "[var key]=[const value]". [call [cmd ::html::paramRow] [arg list] [opt [arg rparam]] [opt [arg cparam]]] Generate a table row, including [term tr] and [term td] tags. Each value in [arg list] is placed into its own table cell. This uses [cmd ::html::cell]. The value of [arg rparam] is used as parameter for the [term tr] tag. The value of [arg cparam] is passed to [cmd ::html::cell] as parameter for the [term td] tags. [call [cmd ::html::passwordInput] [opt [arg name]]] Generate an [term input] tag of type [term password]. The [arg name] defaults to "password". [call [cmd ::html::passwordInputRow] [arg label] [opt [arg name]]] Format a table row containing a label and an [term input] tag of type [term password]. The [arg name] defaults to "password". [call [cmd ::html::quoteFormValue] [arg value]] Quote special characters in [arg value] by replacing them with HTML entities for quotes, ampersand, and angle brackets. [call [cmd ::html::radioSet] [arg {key sep list}]] Generate a set of [term input] tags of type [term radio] and an associated text label. All the radio buttons share the same [arg key] for their name. The [arg sep] is text used to separate the elements. The [arg list] is a Tcl-style label, value list. [call [cmd ::html::radioValue] [arg {name value}]] Generate the "name=[arg name] value=[arg value] for a [term radio] form element. If the CGI variable [arg name] has the value [arg value], then SELECTED is added to the return value. [call [cmd ::html::refresh] [arg {seconds url}]] Set up a refresh [term meta] tag. Call this before [cmd ::html::head] and the HEAD section will contain a [term meta] tag that causes the document to refresh in [arg seconds] seconds. The [arg url] is optional. If specified, it specifies a new page to load after the refresh interval. [call [cmd ::html::row] [arg args]] Generate a table row, including [term tr] and [term td] tags. Each value in [arg args] is place into its own table cell. This uses [cmd ::html::cell]. Ignores any default information set up via [cmd ::html::init]. [call [cmd ::html::select] [arg {name param choices}] [opt [arg current]]] Generate a [term select] form element and nested [term option] tags. The [arg name] and [arg param] are used to generate the [term select] tag. The [arg choices] list is a Tcl-style name, value list. [call [cmd ::html::selectPlain] [arg {name param choices}] [opt [arg current]]] Like [cmd ::html::select] except that [arg choices] is a Tcl list of values used for the [term option] tags. The label and the value for each [term option] are the same. [call [cmd ::html::set] [arg {var val}]] This procedure is similar to the built-in Tcl [cmd set] command. The main difference is that it returns "" so it can be called from an HTML template file without appending unwanted results. The other difference is that it must take two arguments. [call [cmd ::html::submit] [arg label] [opt [arg name]]] Generate an [term input] tag of type [term submit]. [arg name] defaults to "submit". [call [cmd ::html::tableFromArray] [arg arrname] [opt [arg param]] [opt [arg pat]]] Generate a two-column [term table] and nested rows to display a Tcl array. The table gets a heading that matches the array name, and each generated row contains a name, value pair. The array names are sorted ([cmd lsort] without special options). The argument [arg param] is for the [term table] tag and has |
︙ | ︙ | |||
400 401 402 403 404 405 406 | argument [arg param] is for the [term table] tag and has to contain a pre-formatted string. [call [cmd ::html::textarea] [arg name] [opt [arg param]] [opt [arg current]]] Generate a [term textarea] tag wrapped around its current values. | < < < < | < < | < < < < < < < < < | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | argument [arg param] is for the [term table] tag and has to contain a pre-formatted string. [call [cmd ::html::textarea] [arg name] [opt [arg param]] [opt [arg current]]] Generate a [term textarea] tag wrapped around its current values. [call [cmd ::html::textInput] [arg {name value args}]] Generate an [term input] form tag with type [term text]. This uses [cmd ::html::formValue]. The args is any additional tag attributes you want to put into the [term input] tag. [call [cmd ::html::textInputRow] [arg {label name value args}]] Generate an [term input] form tag with type [term text] formatted into a table row with an associated label. The args is any additional tag attributes you want to put into the [term input] tag. [comment { [call [cmd ::html::title] [arg title]] [emph {Side effect only}]. Call this before [cmd ::html::head] to define the [term title] for a page. }] [call [cmd ::html::varEmpty] [arg name]] This returns 1 if the named variable either does not exist or has the empty string for its value. [call [cmd ::html::while] [arg {test body}]] This procedure is similar to the built-in Tcl [cmd while] control structure. Rather than evaluating the body, it returns the subst'ed [arg body]. Each iteration of the loop causes another string to be concatenated to the result value. [list_end] [vset CATEGORY html] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/htmlparse/htmlparse.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin htmlparse n 1.2.1] [moddesc {HTML Parser}] [titledesc {Procedures to parse HTML strings}] [category {Text processing}] [require Tcl 8.2] [require struct::stack 1.3] [require cmdline 1.1] [require htmlparse [opt 1.2.1]] [description] [para] The [package htmlparse] package provides commands that allow libraries and applications to parse HTML in a string into a representation of their choice. [para] The following commands are available: [list_begin definitions] | > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin htmlparse n 1.2.1] [see_also struct::tree] [keywords html] [keywords parsing] [keywords queue] [keywords tree] [moddesc {HTML Parser}] [titledesc {Procedures to parse HTML strings}] [category {Text processing}] [require Tcl 8.2] [require struct::stack 1.3] [require cmdline 1.1] [require htmlparse [opt 1.2.1]] [description] [para] The [package htmlparse] package provides commands that allow libraries and applications to parse HTML in a string into a representation of their choice. [para] The following commands are available: [list_begin definitions] [call [cmd ::htmlparse::parse] [opt "-cmd [arg cmd]"] [opt "-vroot [arg tag]"] [opt "-split [arg n]"] [opt "-incvar [arg var]"] [opt "-queue [arg q]"] [arg html]] This command is the basic parser for HTML. It takes an HTML string, parses it and invokes a command prefix for every tag encountered. It is not necessary for the HTML to be valid for this parser to function. It is the responsibility of the command invoked for every |
︙ | ︙ | |||
252 253 254 255 256 257 258 | down on the size of the tree as generated by [cmd ::htmlparse::2tree]. It removes all nodes representing forms and form elements. Its only argument is the name of the tree to cut down. [list_end] | < | < < | < < < < < < < < < | 256 257 258 259 260 261 262 263 264 265 | down on the size of the tree as generated by [cmd ::htmlparse::2tree]. It removes all nodes representing forms and form elements. Its only argument is the name of the tree to cut down. [list_end] [vset CATEGORY htmlparse] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/http/autoproxy.man.
1 2 3 4 5 6 7 8 | [manpage_begin autoproxy n 1.5.3] [moddesc {HTTP protocol helper modules}] [titledesc {Automatic HTTP proxy usage and authentication}] [category Networking] [require Tcl 8.2] [require http [opt 2.0]] [require autoproxy [opt 1.5.3]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin autoproxy n 1.5.3] [see_also http(n)] [keywords authentication] [keywords http] [keywords proxy] [moddesc {HTTP protocol helper modules}] [titledesc {Automatic HTTP proxy usage and authentication}] [category Networking] [require Tcl 8.2] [require http [opt 2.0]] [require autoproxy [opt 1.5.3]] [description] |
︙ | ︙ | |||
16 17 18 19 20 21 22 | [para] On Unix the standard for identifying the local HTTP proxy server seems to be to use the environment variable http_proxy or ftp_proxy and no_proxy to list those domains to be excluded from proxying. On Windows we can retrieve the Internet Settings values from the registry to obtain pretty much the same information. | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [para] On Unix the standard for identifying the local HTTP proxy server seems to be to use the environment variable http_proxy or ftp_proxy and no_proxy to list those domains to be excluded from proxying. On Windows we can retrieve the Internet Settings values from the registry to obtain pretty much the same information. With this information we can setup a suitable filter procedure for the Tcl http package and arrange for automatic use of the proxy. [para] There seem to be a number of ways that the http_proxy environment variable may be set up. Either a plain host:port or more commonly a URL and sometimes the URL may contain authentication parameters or |
︙ | ︙ | |||
47 48 49 50 51 52 53 | [call [cmd ::autoproxy::cget] [arg "-option"]] Retrieve individual package configuration options. See [sectref OPTIONS]. [call [cmd ::autoproxy::configure] [opt "-option [arg value]"]] Configure the autoproxy package. Calling [cmd configure] with no | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [call [cmd ::autoproxy::cget] [arg "-option"]] Retrieve individual package configuration options. See [sectref OPTIONS]. [call [cmd ::autoproxy::configure] [opt "-option [arg value]"]] Configure the autoproxy package. Calling [cmd configure] with no options will return a list of all option names and values. See [sectref OPTIONS]. [call [cmd ::autoproxy::tls_connect] [arg args]] Connect to a secure socket through a proxy. HTTP proxy servers permit the use of the CONNECT HTTP command to open a link through the proxy to the target machine. This function hides the details. For use with |
︙ | ︙ | |||
98 99 100 101 102 103 104 | [opt_def -port number] [opt_def -proxy_port number] Set the proxy port number. This is normally set up by [cmd init]. e.g. [cmd configure] [option -port] [arg 3128] [opt_def -no_proxy list] | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [opt_def -port number] [opt_def -proxy_port number] Set the proxy port number. This is normally set up by [cmd init]. e.g. [cmd configure] [option -port] [arg 3128] [opt_def -no_proxy list] You may manipulate the [option no_proxy] list that was setup by [cmd init]. The value of this option is a tcl list of strings that are matched against the http request host using the tcl [cmd "string match"] command. Therefore glob patterns are permitted. For instance, [cmd configure] [option -no_proxy] [arg "*.localdomain"] [opt_def -authProc procedure] This option may be used to set an application defined procedure to be |
︙ | ︙ | |||
181 182 183 184 185 186 187 | [list_end] [section {BUGS}] At this time only Basic authentication (1) (2) is supported. It is planned to add support for Digest (2) and NTLM in the future. | < < < < < < | < | < < < < < | 185 186 187 188 189 190 191 192 193 194 195 196 197 | [list_end] [section {BUGS}] At this time only Basic authentication (1) (2) is supported. It is planned to add support for Digest (2) and NTLM in the future. [section AUTHORS] Pat Thoyts [vset CATEGORY {http :: autoproxy}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ident/ident.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- Tcl -*- doctools manpage}] [manpage_begin ident n 0.42] [copyright {2004 Reinhard Max <[email protected]>}] [titledesc {Ident protocol client}] [moddesc {Identification protocol client}] [category Networking] [require Tcl 8.3] [require ident [opt 0.42]] [description] The [package ident] package provides a client implementation of the ident protocol as defined in RFC 1413 ([uri http://www.rfc-editor.org/rfc/rfc1413.txt]). | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [comment {-*- Tcl -*- doctools manpage}] [manpage_begin ident n 0.42] [keywords ident] [keywords identification] [keywords {rfc 1413}] [copyright {2004 Reinhard Max <[email protected]>}] [titledesc {Ident protocol client}] [moddesc {Identification protocol client}] [category Networking] [require Tcl 8.3] [require ident [opt 0.42]] [description] The [package ident] package provides a client implementation of the ident protocol as defined in RFC 1413 ([uri http://www.rfc-editor.org/rfc/rfc1413.txt]). [list_begin definitions] [call [cmd ::ident::query] [arg socket] [opt [arg callback]]] This command queries the ident daemon on the remote side of the given socket, and returns the result of the query as a dictionary. |
︙ | ︙ | |||
43 44 45 46 47 48 49 | side, or when the ident server gives a response that does not conform to the RFC. A detailed error message is returned under the [const error] key. [list_end] [list_end] | < | < < | < < < < < < < < | 45 46 47 48 49 50 51 52 53 54 | side, or when the ident server gives a response that does not conform to the RFC. A detailed error message is returned under the [const error] key. [list_end] [list_end] [vset CATEGORY ident] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/imap4/imap4.man.
1 2 3 4 5 6 7 8 | [manpage_begin imap4 n 0.5.1] [moddesc {imap client}] [titledesc {imap client-side tcl implementation of imap protocol}] [require Tcl 8.5] [require imap4 [opt 0.5.1]] [description] | > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [manpage_begin imap4 n 0.5.1] [see_also ftp] [see_also http] [see_also imap] [see_also mime] [see_also pop3] [see_also tls] [keywords email] [keywords imap] [keywords internet] [keywords mail] [keywords net] [keywords rfc3501] [keywords ssl] [keywords tls] [moddesc {imap client}] [titledesc {imap client-side tcl implementation of imap protocol}] [require Tcl 8.5] [require imap4 [opt 0.5.1]] [description] |
︙ | ︙ | |||
18 19 20 21 22 23 24 | [section "PROCEDURES"] This package defines the following public procedures: [list_begin definitions] [call [cmd ::imap4::open] [arg hostname] [opt [arg port]]] [para]Open a new IMAP connection and initalize the handler, the imap communication channel (handler) is returned. | | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | [section "PROCEDURES"] This package defines the following public procedures: [list_begin definitions] [call [cmd ::imap4::open] [arg hostname] [opt [arg port]]] [para]Open a new IMAP connection and initalize the handler, the imap communication channel (handler) is returned. [para][arg hostname] - mail server [para][arg port] - connection port, defaults to 143 [para]The namespace variable [option ::imap4::use_ssl] can be used to establish to a secure connection via TSL/SSL if set to true. In this case default connection port defaults to 993. [para][emph Note:] For connecting via SSL the Tcl module [emph tls] must be already loaded otherwise an error is raised. [example { package require tls ; # must be loaded for TLS/SSL set ::imap4::use_ssl 1 ; # request a secure connection set chan [::imap4::open $server] ; # default port is now 993 }] [call [cmd ::imap4::login] [arg chan] [arg user] [arg pass]] [para]Login using the IMAP LOGIN command, 0 is returned on successful login. [para][arg chan] - imap channel [para][arg user] - username |
︙ | ︙ | |||
134 135 136 137 138 139 140 | [para]If the required information name is suffixed with a ? character, the command returns true if the information is available, or false if it is not. [para][arg chan] - imap channel [para][arg opt] - mailbox option to retrieve [para] Currently supported options: | | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | [para]If the required information name is suffixed with a ? character, the command returns true if the information is available, or false if it is not. [para][arg chan] - imap channel [para][arg opt] - mailbox option to retrieve [para] Currently supported options: [emph EXISTS] (noof msgs), [emph RECENT] (noof 'recent' flagged msgs), [emph FLAGS] [para]In conjunction with OK: [emph PERMFLAGS], [emph UIDNEXT], [emph UIDVAL], [emph UNSEEN] [para]Div. states: [emph CURRENT], [emph FOUND], [emph PERM]. [example { |
︙ | ︙ | |||
179 180 181 182 183 184 185 | [para][arg mailbox] - old mailbox name [para][arg mailbox] - new mailbox name [call [cmd ::imap4::subscribe] [arg chan] [arg mailbox]] [para]Subscribe a new mailbox. [para][arg chan] - imap channel [para][arg mailbox] - mailbox name | | | | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | [para][arg mailbox] - old mailbox name [para][arg mailbox] - new mailbox name [call [cmd ::imap4::subscribe] [arg chan] [arg mailbox]] [para]Subscribe a new mailbox. [para][arg chan] - imap channel [para][arg mailbox] - mailbox name [call [cmd ::imap4::unsubscribe] [arg chan] [arg mailbox]] [para]Unsubscribe a new mailbox. [para][arg chan] - imap channel [para][arg mailbox] - mailbox name [call [cmd ::imap4::search] [arg chan] [arg expr] [opt [arg "..."]] ] [para]Search for mails matching search criterions, 0 is returned on success. [para][arg chan] - imap channel [para][arg expr] - imap search expression [para] [emph Notes:] Currently the following search expressions are handled: [para][emph "Mail header flags:"] all mail header entries (ending with a colon ":"), like "From:", "Bcc:", ... [para][emph "Imap message search flags:"] ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN, NEW, OLD, UNANSWERED, UNDELETED, UNDRAFT, UNFLAGGED, UNSEEN, ALL [para][emph "Imap header search flags:"] BODY, CC, FROM, SUBJECT, TEXT, KEYWORD, BCC [para][emph "Imap conditional search flags:"] SMALLER, LARGER, ON, SENTBEFORE, SENTON, SENTSINCE, SINCE, BEFORE (not implemented), UID (not implemented) [para][emph "Logical search conditions:"] OR, NOT [example {::imap4::search $chan larger 4000 seen puts "Found messages: [::imap4::mboxinfo $chan found]" Found messages: 1 3 6 7 8 9 13 14 15 19 20}] [call [cmd ::imap4::close] [arg chan]] [para]Close the mailbox. Permanently removes \Deleted messages and return to the AUTH state. |
︙ | ︙ | |||
279 280 281 282 283 284 285 | [para] Copies the specified message (identified by its message number) to the named mailbox, i.e. imap folder. [para][arg chan] - imap channel [para][arg msgid] - message number [para][arg mailbox] - mailbox name | < | | | | | | | < < < < < < < < < < < | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | [para] Copies the specified message (identified by its message number) to the named mailbox, i.e. imap folder. [para][arg chan] - imap channel [para][arg msgid] - message number [para][arg mailbox] - mailbox name [call [cmd ::imap4::logout] [arg chan]] [para] Informs the server that the client is done with the connection and closes the network connection. Permanently removes \Deleted messages. [para] A new connection will need to be established to login once more. [para][arg chan] - imap channel [list_end] [section EXAMPLES] [example_begin] set user myusername set pass xtremescrt set server imap.test.tld set FOLDER INBOX # Connect to server set imap [lb]::imap4::open $server[rb] ::imap4::login $imap $user $pass ::imap4::select $imap $FOLDER # Output all the information about that mailbox foreach info [lb]::imap4::mboxinfo $imap[rb] { puts "$info -> [lb]::imap4::mboxinfo $imap $info[rb]" } # fetch 3 records inline set fields {from: to: subject: size} foreach rec [lb]::imap4::fetch $imap :3 -inline {*}$fields[rb] { puts -nonewline "#[lb]incr idx[rb])" for {set j 0} {$j<[lb]llength $fields[rb]} {incr j} { puts "\t[lb]lindex $fields $j[rb] [lb]lindex $rec $j[rb]" } } # Show all the information available about the message ID 1 puts "Available info about message 1: [lb]::imap4::msginfo $imap 1[rb]" # Use the capability stuff puts "Capabilities: [lb]::imap4::isableto $imap[rb]" puts "Is able to imap4rev1? [lb]::imap4::isableto $imap imap4rev1[rb]" # Cleanup ::imap4::cleanup $imap [example_end] [section REFERENCES] Mark R. Crispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, March 2003, [uri http://www.rfc-editor.org/rfc/rfc3501.txt] [para] OpenSSL, [uri http://www.openssl.org/] [vset CATEGORY imap4] [include ../doctools2base/include/feedback.inc] Only a small part of rfc3501 implemented. [manpage_end] |
Changes to modules/inifile/ini.man.
︙ | ︙ | |||
87 88 89 90 91 92 93 | Reads and sets the comment character. Lines that begin with this character are treated as comments. When comments are written out each line is preceded by this character. The default is [const \;]. [list_end] | < | < < | < < < < < < < | 87 88 89 90 91 92 93 94 95 96 | Reads and sets the comment character. Lines that begin with this character are treated as comments. When comments are written out each line is preceded by this character. The default is [const \;]. [list_end] [vset CATEGORY inifile] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/interp/deleg_method.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin deleg_method n 0.2] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Creation of comm delegates (snit methods)}] [category {Programming tools}] [require Tcl 8.3] [require snit [opt 1.1]] [require interp::delegate::method [opt 0.2]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin deleg_method n 0.2] [keywords comm] [keywords delegation] [keywords interpreter] [keywords method] [keywords snit] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Creation of comm delegates (snit methods)}] [category {Programming tools}] [require Tcl 8.3] [require snit [opt 1.1]] [require interp::delegate::method [opt 0.2]] |
︙ | ︙ | |||
35 36 37 38 39 40 41 | Normally the generated method marshalls the [arg arguments], and returns the result from the remote method as its own result. If however the option [option -async] was specified then the generated method will not wait for a result and return immediately. [list_end] | < | < < | < < < < < < < < | 40 41 42 43 44 45 46 47 48 49 | Normally the generated method marshalls the [arg arguments], and returns the result from the remote method as its own result. If however the option [option -async] was specified then the generated method will not wait for a result and return immediately. [list_end] [vset CATEGORY interp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/interp/deleg_proc.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin deleg_proc n 0.2] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Creation of comm delegates (procedures)}] [category {Programming tools}] [require Tcl 8.3] [require interp::delegate::proc [opt 0.2]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin deleg_proc n 0.2] [keywords comm] [keywords delegation] [keywords interpreter] [keywords procedure] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Creation of comm delegates (procedures)}] [category {Programming tools}] [require Tcl 8.3] [require interp::delegate::proc [opt 0.2]] [description] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | Normally the generated procedure marshalls the [arg arguments], and returns the result from the remote procedure as its own result. If however the option [option -async] was specified then the generated procedure will not wait for a result and return immediately. [list_end] | < | < < | < < < < < < < < | 38 39 40 41 42 43 44 45 46 47 | Normally the generated procedure marshalls the [arg arguments], and returns the result from the remote procedure as its own result. If however the option [option -async] was specified then the generated procedure will not wait for a result and return immediately. [list_end] [vset CATEGORY interp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/interp/tcllib_interp.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin interp n 0.1.2] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Interp creation and aliasing}] [category {Programming tools}] [require Tcl 8.3] [require interp [opt 0.1.2]] [description] [para] This package provides a number of commands for the convenient creation of Tcl interpreters for highly restricted execution. | > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin interp n 0.1.2] [keywords alias] [keywords {empty interpreter}] [keywords interpreter] [keywords method] [keywords snit] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Interpreter utilities}] [titledesc {Interp creation and aliasing}] [category {Programming tools}] [require Tcl 8.3] [require interp [opt 0.1.2]] [description] [para] This package provides a number of commands for the convenient creation of Tcl interpreters for highly restricted execution. [section API] [list_begin definitions] [call [cmd ::interp::createEmpty] [opt [arg path]]] This commands creates an empty Tcl interpreter and returns it name. Empty means that the new interpreter has neither namespaces, nor any commands. It is useful only for the creation of aliases. [para] If a [arg path] is specified then it is taken as the name of the new interpreter. [call [cmd ::interp::snitLink] [arg path] [arg methodlist]] This command assumes that it was called from within a method of a snit object, and that the command [cmd mymethod] is available. [para] |
︙ | ︙ | |||
44 45 46 47 48 49 50 | prefix, with the first word of each prefix the name of the method to link to. [para] The result of the command is the empty string. | < < | < < | < < < < < < < < < | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | prefix, with the first word of each prefix the name of the method to link to. [para] The result of the command is the empty string. [call [cmd ::interp::snitDictLink] [arg path] [arg methoddict]] This command behaves like [cmd ::interp::snitLink], except that it takes a dictionary mapping from commands to methods as its input, and not a list of methods. Like for [cmd ::interp::snitLink] the method references are actually command prefixes. This command allows the creation of more complex command-method mappings than [cmd ::interp::snitLink]. [para] The result of the command is the empty string. [list_end] [vset CATEGORY interp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/irc/irc.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin irc n 0.6.1] [moddesc {Low Level Tcl IRC Interface}] [titledesc {Create IRC connection and interface.}] [category Networking] [require Tcl] [require irc [opt 0.6.1]] [description] This package provides low-level commands to deal with the IRC protocol (Internet Relay Chat) for immediate and interactive multi-cast communication. [para] [list_begin definitions] | > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin irc n 0.6.1] [see_also {rfc 1459}] [keywords chat] [keywords irc] [moddesc {Low Level Tcl IRC Interface}] [titledesc {Create IRC connection and interface.}] [category Networking] [require Tcl] [require irc [opt 0.6.1]] [description] This package provides low-level commands to deal with the IRC protocol (Internet Relay Chat) for immediate and interactive multi-cast communication. [para] [list_begin definitions] [call [cmd ::irc::config] [opt key] [opt value]] Sets configuration [opt key] to [opt value]. The configuration keys currently defined are the boolean flags [const logger] and [const debug]. [const logger] makes [package irc] use the logger package for printing error. [const debug] requires [const logger] and prints extra debug output. If no [opt key] or [opt value] is given the current values are returned. [call [cmd ::irc::connection]] The command creates a new object to deal with an IRC connection. Creating this IRC object does not automatically create the network connection. It returns a new irc namespace command which can be used to interact with the new IRC connection. NOTE: the old form of the connection command, which took a hostname and port as arguments, is deprecated. Use [cmd connect] instead to specify this information. [call [cmd ::irc::connections]] Returns a list of all the current connections that were created with [const connection] [list_end] |
︙ | ︙ | |||
66 67 68 69 70 71 72 | File condition. The events [const defaultcmd], [const defaultnumeric], [const defaultevent], and [const EOF] are required. [arg script] is executed in the connection namespace, which can take advantage of several commands (see [sectref {Callback Commands}] below) to aid in the parsing of data. | < < < | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | File condition. The events [const defaultcmd], [const defaultnumeric], [const defaultevent], and [const EOF] are required. [arg script] is executed in the connection namespace, which can take advantage of several commands (see [sectref {Callback Commands}] below) to aid in the parsing of data. [call [arg net] [method getevent] [arg event] [arg script]] Returns the current handler for the event if one exists. Otherwise an empty string is returned. [call [arg net] [method eventexists] [arg event] [arg script]] Returns a boolean value indicating the existence of the event handler. [call [arg net] [method connect] [arg hostname] [opt port]] This causes the socket to be established. [cmd ::irc::connection] created the namespace and the commands to be used, but did not actually open the socket. This is done here. NOTE: the older form of 'connect' did not require the user to specify a hostname and port, |
︙ | ︙ | |||
104 105 106 107 108 109 110 | Returns the name of the logger instance if logger is turned on. [call [arg net] [method connected]] Returns a boolean value indicating if this connection is connected to a server. | < < < < < < < < < < < < < < < < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | Returns the name of the logger instance if logger is turned on. [call [arg net] [method connected]] Returns a boolean value indicating if this connection is connected to a server. [call [arg net] [method sockname]] Returns a 3 element list consisting of the ip address, the hostname, and the port of the local end of the connection, if currently connected. [call [arg net] [method peername]] Returns a 3 element list consisting of the ip address, the hostname, and the port of the remote end of the connection, if currently connected. [call [arg net] [method socket]] Return the Tcl channel for the socket used by the connection. [call [arg net] [method user] [arg username] [arg localhostname] [arg localdomainname] [arg userinfo]] Sends USER command to server. [arg username] is the username you want to appear. [arg localhostname] is the host portion of your hostname, [arg localdomainname] is your domain name, and [arg userinfo] is a short description of who you are. The 2nd and 3rd arguments are normally ignored by the IRC server. [call [arg net] [method nick] [arg nick]] NICK command. [arg nick] is the nickname you wish to use for the particular connection. [call [arg net] [method ping] [arg target]] Send a CTCP PING to [arg target]. [call [arg net] [method serverping]] PING the server. [call [arg net] [method join] [arg channel] [opt [arg key]]] [arg channel] is the IRC channel to join. IRC channels typically begin with a hashmark ("#") or ampersand ("&"). [call [arg net] [method part] [arg channel] [opt [arg message]]] Makes the client leave [arg channel]. Some networks may support the optional argument [arg message] [call [arg net] [method quit] [opt [arg message]]] Instructs the IRC server to close the current connection. The package will use a generic default if no [arg message] was specified. [call [arg net] [method privmsg] [arg target] [arg message]] Sends [arg message] to [arg target], which can be either a channel, or another user, in which case their nick is used. [call [arg net] [method notice] [arg target] [arg message]] Sends a [const notice] with message [arg message] to [arg target], which can be either a channel, or another user, in which case their nick is used. [call [arg net] [method ctcp] [arg target] [arg message]] Sends a CTCP of type [arg message] to [arg target] [call [arg net] [method kick] [arg channel] [arg target] [opt [arg message]]] Kicks the user [arg target] from the channel [arg channel] with a [arg message]. The latter can be left out. [call [arg net] [method mode] [arg target] [arg args]] Sets the mode [arg args] on the target [arg target]. [arg target] may be a channel, a channel user, or yourself. [call [arg net] [method topic] [arg channel] [arg message]] Sets the topic on [arg channel] to [arg message] specifying an empty string will remove the topic. [call [arg net] [method invite] [arg channel] [arg target]] Invites [arg target] to join the channel [arg channel] [call [arg net] [method send] [arg text]] Sends [arg text] to the IRC server. [call [arg net] [method destroy]] Deletes the connection and its associated namespace and information. [list_end] |
︙ | ︙ | |||
234 235 236 237 238 239 240 | Returns the action performed, such as KICK, PRIVMSG, MODE, etc... Normally not useful, as callbacks are bound to a particular event. [call [cmd target]] Returns the target of a particular command, such as the channel or | | < | < < | < < < < < < < < < | 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | Returns the action performed, such as KICK, PRIVMSG, MODE, etc... Normally not useful, as callbacks are bound to a particular event. [call [cmd target]] Returns the target of a particular command, such as the channel or user to whom a PRIVMSG is sent. [call [cmd additional]] Returns a list of any additional arguments after the target. [call [cmd header]] Returns the entire event header (everything up to the :) as a proper list. [call [cmd msg]] Returns the message portion of the command (the part after the :). [list_end] [vset CATEGORY irc] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/irc/picoirc.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin picoirc n 0.5] [moddesc {Simple embeddable IRC interface}] [titledesc {Small and simple embeddable IRC client.}] [category Networking] [require Tcl] [require picoirc [opt 0.5]] [description] | > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin picoirc n 0.5] [see_also {rfc 1459}] [keywords chat] [keywords irc] [moddesc {Simple embeddable IRC interface}] [titledesc {Small and simple embeddable IRC client.}] [category Networking] [require Tcl] [require picoirc [opt 0.5]] [description] This package provides a general purpose minimal IRC client suitable for embedding in other applications. All communication with the parent application is done via an application provided callback procedure. Each connection has its own state so you can hook up multiple servers in a single application instance. [para] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | The callback must look like: [example { proc Callback {context state args} { } }] | | | 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | The callback must look like: [example { proc Callback {context state args} { } }] where context is the irc context variable name (in case you need to pass it back to a picoirc procedure). state is one of a number of states as described below. [list_begin options] [opt_def init] |
︙ | ︙ | |||
100 101 102 103 104 105 106 | lines from the server and calls this callback when they have all been received. [opt_def chat "[arg target] [arg nick] [arg message] [arg type]"] called when a message arrives. [arg target] is the identity that the message was targetted for. This can be the logged in nick or a channel | | | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | lines from the server and calls this callback when they have all been received. [opt_def chat "[arg target] [arg nick] [arg message] [arg type]"] called when a message arrives. [arg target] is the identity that the message was targetted for. This can be the logged in nick or a channel name. [arg nick] is the name of the sender of the message. [arg message] is the message text. [arg type] is set to "ACTION" if the message was sent as a CTCP ACTION [opt_def system "[arg channel] [arg message]"] called when a system message is received |
︙ | ︙ | |||
144 145 146 147 148 149 150 | called when data is either being read or written to the network socket. [arg type] is set to [const read] when reading data and [const write] if the data is to be written. [arg raw] is the unprocessed IRC protocol data. [para] In both cases the application can return a break error code to | | < < < | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | called when data is either being read or written to the network socket. [arg type] is set to [const read] when reading data and [const write] if the data is to be written. [arg raw] is the unprocessed IRC protocol data. [para] In both cases the application can return a break error code to interrupt further processing of the raw data. If this is a [const read] operation then the package will not handle this line. If the operation is [const write] then the package will not send the data. This callback is intended for debugging protocol issues but could be used to redirect all input and output if desired. [list_end] [manpage_end] |
Changes to modules/javascript/javascript.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin javascript n 1.0.2] [moddesc {HTML and Java Script Generation}] [titledesc {Procedures to generate HTML and Java Script structures.}] [category {CGI programming}] [require Tcl 8] [require javascript [opt 1.0.2]] [description] [para] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin javascript n 1.0.2] [see_also html] [see_also ncgi] [keywords checkbox] [keywords html] [keywords javascript] [keywords selectionbox] [keywords submitbutton] [moddesc {HTML and Java Script Generation}] [titledesc {Procedures to generate HTML and Java Script structures.}] [category {CGI programming}] [require Tcl 8] [require javascript [opt 1.0.2]] [description] [para] |
︙ | ︙ | |||
36 37 38 39 40 41 42 | [arg rightNameList] argument is the names to appear in the right selection box. The [arg length] argument (optional) determines the number of elts to show before adding a vertical scrollbar; it defaults to 8. The [arg minWidth] argument (optional) is the number of spaces to determine the minimum box width; it defaults to 32. | < < < < < < | < < | < < < < < < < < < | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | [arg rightNameList] argument is the names to appear in the right selection box. The [arg length] argument (optional) determines the number of elts to show before adding a vertical scrollbar; it defaults to 8. The [arg minWidth] argument (optional) is the number of spaces to determine the minimum box width; it defaults to 32. [call [cmd ::javascript::makeSubmitButton] [arg {name value}]] Create an HTML submit button that resets a hidden field for each registered multi-selection box. The [arg name] argument is the name of the HTML button object to create. The [arg value] argument is the label of the HTML button object to create. [call [cmd ::javascript::makeProtectedSubmitButton] [arg {name value msg}]] Create an HTML submit button that prompts the user with a continue/cancel shutdown warning before the form is submitted. The [arg name] argument is the name of the HTML button object to create. The [arg value] argument is the label of the HTML button object to create. The [arg msg] argument is the message to display when the button is pressed. [call [cmd ::javascript::makeMasterButton] [arg {master value slavePattern boolean}]] Create an HTML button that sets its slave checkboxs to the boolean value. The [arg master] argument is the name of the child's parent html checkbox object. The [arg value] argument is the value of the master. The [arg slaves] argument is the name of child html checkbox object to create. The [arg boolean] argument is the java script boolean value that will be given to all the slaves; it must be "true" or "false". [call [cmd ::javascript::makeParentCheckbox] [arg {parentName childName}]] Create an HTML checkbox and tie its value to that of its child checkbox. If the parent is unchecked, the child is automatically unchecked. The [arg parentName] argument is the name of parent html checkbox object to create. The [arg childName] argument is the name of the parent's child html checkbox object. [call [cmd ::javascript::makeChildCheckbox] [arg {parentName childName}]] Create an HTML checkbox and tie its value to that of its parent checkbox. If the child is checked, the parent is automatically checked. The [arg parentName] argument is the name of the child's parent html checkbox object. The [arg childName] argument is the name of child html checkbox object to create. [list_end] [vset CATEGORY javascript] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/jpeg/jpeg.man.
1 2 3 4 5 6 7 8 | [manpage_begin jpeg n 0.4.0] [copyright {2004-2005, Code: Aaron Faupell <[email protected]>}] [copyright {2007, Code: Andreas Kupries <[email protected]>}] [copyright {2004-2009, Doc: Andreas Kupries <[email protected]>}] [copyright {2011, Code: Pat Thoyts <[email protected]>}] [moddesc {JPEG image manipulation}] [titledesc {JPEG querying and manipulation of meta data}] [category {File formats}] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin jpeg n 0.4.0] [keywords comment] [keywords exif] [keywords image] [keywords jfif] [keywords jpeg] [keywords thumbnail] [copyright {2004-2005, Code: Aaron Faupell <[email protected]>}] [copyright {2007, Code: Andreas Kupries <[email protected]>}] [copyright {2004-2009, Doc: Andreas Kupries <[email protected]>}] [copyright {2011, Code: Pat Thoyts <[email protected]>}] [moddesc {JPEG image manipulation}] [titledesc {JPEG querying and manipulation of meta data}] [category {File formats}] |
︙ | ︙ | |||
29 30 31 32 33 34 35 | Returns a dictionary with keys [const version], [const units], [const xdensity], [const ydensity], [const xthumb], and [const ythumb]. The values are the associated properties of the JPEG image in [arg file]. Throws an error if [arg file] is not a JPEG image. | < < | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | Returns a dictionary with keys [const version], [const units], [const xdensity], [const ydensity], [const xthumb], and [const ythumb]. The values are the associated properties of the JPEG image in [arg file]. Throws an error if [arg file] is not a JPEG image. [call [cmd ::jpeg::dimensions] [arg file]] Returns the dimensions of the JPEG [arg file] as a list of the horizontal and vertical pixel count. Throws an error if [arg file] is not a JPEG image. [call [cmd ::jpeg::getThumbnail] [arg file]] This procedure will return the binary thumbnail image data, if a JPEG thumbnail is included in [arg file], and the empty string otherwise. Note that it is possible to include thumbnails in formats other than JPEG although that is not common. The command finds |
︙ | ︙ | |||
79 80 81 82 83 84 85 | Throws an error if [arg file] is not a JPEG image. [call [cmd ::jpeg::getExifFromChannel] [arg channel] [opt [arg section]]] This command is as per [cmd ::jpeg::getExif] except that it uses a previously opened channel. [arg channel] should be a seekable channel | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | Throws an error if [arg file] is not a JPEG image. [call [cmd ::jpeg::getExifFromChannel] [arg channel] [opt [arg section]]] This command is as per [cmd ::jpeg::getExif] except that it uses a previously opened channel. [arg channel] should be a seekable channel and [arg section] is as described in the documentation of [cmd ::jpeg::getExif] Note: the jpeg parser expects that the start of the channel is the start of the image data. If working with an image embedded in a container file format it may be necessary to read the jpeg data into a temporary container: either a temporary file or a memory channel. |
︙ | ︙ | |||
125 126 127 128 129 130 131 | Removes all metadata from the JPEG file leaving only the image. This includes comments, EXIF segments, JFXX segments, and application specific segments. Throws an error if [arg file] is not a JPEG image. | < < < < | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | Removes all metadata from the JPEG file leaving only the image. This includes comments, EXIF segments, JFXX segments, and application specific segments. Throws an error if [arg file] is not a JPEG image. [call [cmd ::jpeg::getComments] [arg file]] Returns a list containing all the JPEG comments found in the [arg file]. Throws an error if [arg file] is not a valid JPEG image. [call [cmd ::jpeg::addComment] [arg file] [arg text]...] Adds one or more plain [arg text] comments to the JPEG image in [arg file]. Throws an error if [arg file] is not a valid JPEG image. [call [cmd ::jpeg::removeComments] [arg file]] Removes all comments from the file specified. Throws an error if [arg file] is not a valid JPEG image. [call [cmd ::jpeg::replaceComment] [arg file] [arg text]] Replaces the first comment in the file with the new [arg text]. This is merely a shortcut for [cmd ::jpeg::removeComments] and [cmd ::jpeg::addComment] |
︙ | ︙ | |||
182 183 184 185 186 187 188 | [section LIMITATIONS] can only work with files cant write exif data gps exif data not parsed makernote data not yet implemented | < | < < | < < < < < < < < | 182 183 184 185 186 187 188 189 190 191 | [section LIMITATIONS] can only work with files cant write exif data gps exif data not parsed makernote data not yet implemented [vset CATEGORY jpeg] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/json/json.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin json n 1.1.2] [copyright {2006 ActiveState Software Inc.}] [copyright {2009 Thomas Maeder, Glue Software Engineering AG}] [moddesc {JSON}] [titledesc {JSON parser}] [category {CGI programming}] [require Tcl 8.4] [require json [opt 1.1.2]] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin json n 1.1.2] [keywords {data exchange}] [keywords {exchange format}] [keywords javascript] [keywords json] [copyright {2006 ActiveState Software Inc.}] [copyright {2009 Thomas Maeder, Glue Software Engineering AG}] [moddesc {JSON}] [titledesc {JSON parser}] [category {CGI programming}] [require Tcl 8.4] [require json [opt 1.1.2]] [description] [para] The [package json] package provides a simple Tcl-only library for parsing the JSON [uri http://www.json.org/] data exchange format as specified in RFC 4627 [uri http://www.ietf.org/rfc/rfc4627.txt]. |
︙ | ︙ |
Changes to modules/json/json_write.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin json::write n 1.0.2] [copyright {2009-2013 Andreas Kupries <[email protected]>}] [moddesc {JSON}] [titledesc {JSON generation}] [category {CGI programming}] [require Tcl 8.5] [require json::write [opt 1.0.2]] | > > > > < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin json::write n 1.0.2] [keywords {data exchange}] [keywords {exchange format}] [keywords javascript] [keywords json] [copyright {2009-2013 Andreas Kupries <[email protected]>}] [moddesc {JSON}] [titledesc {JSON generation}] [category {CGI programming}] [require Tcl 8.5] [require json::write [opt 1.0.2]] [description] [para] The [package json::write] package provides a simple Tcl-only library for generation of text in the JSON [uri http://www.json.org/] data exchange format as specified in RFC 4627 [uri http://www.ietf.org/rfc/rfc4627.txt]. [section COMMANDS] [list_begin definitions] [call [cmd ::json::write] [method indented]] This method returns the current state of the indentation setting. [call [cmd ::json::write] [method indented] [arg flag]] This and the method [method aligned] configure the layout of the JSON generated by the package. [para] If this [arg flag] is set (default) the package will break the generated JSON code across lines and indent it according to its inner structure, with each key of an object on a separate line. [para] If this flag is not set, the whole JSON object will be written on a single line, with minimum spacing between all elements. [call [cmd ::json::write] [method aligned]] This method returns the current state of the alignment setting. [call [cmd ::json::write] [method aligned] [arg flag]] This and the method [method indented] configure the layout of the JSON generated by the package. [para] If this [arg flag] is set (default) the package ensures that the values for the keys in an object are vertically aligned with each other, for a nice table effect. To make this work this also implies that [var indented] is set as well. [para] If this flag is not set, the output is formatted as per the value of [var indented], without trying to align the values for object keys. [call [cmd ::json::write] [method string] [arg s]] This method takes the string [arg s] and returns it properly quoted for JSON as its result. [call [cmd ::json::write] [method array] [arg arg]...] This method takes a series of JSON formatted arguments and returns them as a properly formatted JSON array as its result. [call [cmd ::json::write] [method object] [arg key] [arg value]...] This method takes a series of key/value arguments, the values already formatted for JSON, and returns them as a properly formatted JSON object as its result, with the keys formatted as JSON strings. [list_end] [para] [vset CATEGORY json] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/lambda/lambda.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin lambda n 1] [copyright {2011 Andreas Kupries, BSD licensed}] [moddesc {Utility commands for anonymous procedures}] [titledesc {Utility commands for anonymous procedures}] [category Utility] [require Tcl 8.5] [require lambda [opt 1]] | > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin lambda n 1] [see_also apply(n)] [see_also proc(n)] [keywords {anonymous procedure}] [keywords callback] [keywords {command prefix}] [keywords currying] [keywords lambda] [keywords {partial application}] [keywords proc] [copyright {2011 Andreas Kupries, BSD licensed}] [moddesc {Utility commands for anonymous procedures}] [titledesc {Utility commands for anonymous procedures}] [category Utility] [require Tcl 8.5] [require lambda [opt 1]] [description] [para] This package provides two convenience commands to make the writing of anonymous procedures, i.e. lambdas more [cmd proc]-like. Instead of, for example, to write |
︙ | ︙ | |||
57 58 59 60 61 62 63 | arguments, body script and (optional) predefined argument values and returns a command prefix representing this anonymous procedure. [para] When invoked the [arg body] is run in a new procedure scope just underneath the global scope, with the arguments set to the values supplied at both construction and invokation time. | < < | < < | < < < < < < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | arguments, body script and (optional) predefined argument values and returns a command prefix representing this anonymous procedure. [para] When invoked the [arg body] is run in a new procedure scope just underneath the global scope, with the arguments set to the values supplied at both construction and invokation time. [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd ::lambda@] [arg namespace] [arg arguments] [arg body] [opt [arg arg]...]] The command constructs an anonymous procedure from the namespace name, list of arguments, body script and (optional) predefined argument values and returns a command prefix representing this anonymous procedure. [para] When invoked the [arg body] is run in a new procedure scope in the [arg namespace], with the arguments set to the values supplied at both construction and invokation time. [list_end] [section AUTHORS] Andreas Kupries [vset CATEGORY lambda] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ldap/ldap.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ldap n 1.6.9] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2004 Jochen Loewer <[email protected]>}] [copyright {2006 Michael Schlenker <[email protected]>}] [moddesc {LDAP client}] [titledesc {LDAP client}] [category Networking] [require Tcl 8.4] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin ldap n 1.6.9] [keywords {directory access}] [keywords internet] [keywords ldap] [keywords {ldap client}] [keywords protocol] [keywords {rfc 2251}] [keywords {rfc 4511}] [keywords x.500] [copyright {2004 Andreas Kupries <[email protected]>}] [copyright {2004 Jochen Loewer <[email protected]>}] [copyright {2006 Michael Schlenker <[email protected]>}] [moddesc {LDAP client}] [titledesc {LDAP client}] [category Networking] [require Tcl 8.4] |
︙ | ︙ | |||
69 70 71 72 73 74 75 | in [arg handle], with a user name and associated password. It blocks until a response from the ldap server arrives. Its result is the empty string. Both [arg name] and [arg passwd] default to the empty string if they are not specified. | | | | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | in [arg handle], with a user name and associated password. It blocks until a response from the ldap server arrives. Its result is the empty string. Both [arg name] and [arg passwd] default to the empty string if they are not specified. By leaving out [arg name] and [arg passwd] you can make an anonymous bind to the ldap server. You can issue [cmd ::ldap::bind] again to bind with different credentials. [call [cmd ::ldap::bindSASL] [arg handle] [opt [arg name]] [opt [arg password]]] This command uses SASL authentication mechanisms to do a multistage bind. Its otherwise identical to the standard [cmd ::ldap::bind]. This feature is currently experimental and subject to change. See the documentation for the [package SASL] and the [file SASL.txt] in the tcllib CVS repository for details how to setup and use SASL with openldap. [call [cmd ::ldap::unbind] [arg handle]] This command asks the ldap server to release the last bind done for the connection refered to by the token in [arg handle]. The [arg handle] is invalid after the unbind, as the server closes the connection. So this is effectivly just a more polite disconnect operation. [call [cmd ::ldap::search] [arg handle] [arg baseObject] [arg filterString] [arg attributes] [arg options]] This command performs a LDAP search below the [arg baseObject] tree using a complex LDAP search expression [arg filterString] and returns the specified [arg attributes] of all matching objects (DNs). If the |
︙ | ︙ | |||
120 121 122 123 124 125 126 | [para] [example { {dn1 {attr1 {val11 val12 ...} attr2 {val21...} ...}} {dn2 {a1 {v11 ...} ...}} ... }] [para] | < | | | | | | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | [para] [example { {dn1 {attr1 {val11 val12 ...} attr2 {val21...} ...}} {dn2 {a1 {v11 ...} ...}} ... }] [para] [call [cmd ::ldap::searchInit] [arg handle] [arg baseObject] [arg filterString] [arg attributes] [arg options]] This command initiates a LDAP search below the [arg baseObject] tree using a complex LDAP search expression [arg filterString]. The search gets the specified [arg attributes] of all matching objects (DNs). The command itself just starts the search, to retrieve the actual results, use [cmd ::ldap::searchNext]. A search can be terminated at any time by [cmd ::ldap::searchEnd]. This informs the server that no further results should be sent by sending and ABANDON message and cleans up the internal state of the search. Only one [cmd ::ldap::search] can be active at a given time, this includes the introspection commands [cmd {::ldap::info saslmechanisms}], [cmd {ldap::info control}] and [cmd {ldap::info extensions}], which invoke a search internally. Error responses from the server due to wrong arguments or similar things are returned with the first [cmd ::ldap::searchNext] call and should be checked and dealed with there. If the list of requested [arg attributes] is empty all attributes will be returned. The parameter [arg options] specifies the options to be used in the search, |
︙ | ︙ | |||
156 157 158 159 160 161 162 | Following options are available: [list_begin options] [opt_def -scope {base one sub} ] Control the scope of the search to be one of [const base], [const one], or [const sub], to specify a base | | | | < < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | Following options are available: [list_begin options] [opt_def -scope {base one sub} ] Control the scope of the search to be one of [const base], [const one], or [const sub], to specify a base object, one-level or subtree search. The default is [const sub]. [opt_def {-derefaliases} {never search find always}] Control how aliases dereferencing is done. Should be one of [const never], [const always], [const search], or [const find] to specify that aliases are never dereferenced, always dereferenced, dereferenced when searching, or dereferenced only when locating the base object for the search. The default is to never dereference aliases. [opt_def {-sizelimit} num ] Determines the maximum number of entries to return in a search. If specified as 0 no limit is enforced. The server may enforce a configuration dependent sizelimit, which may be lower than the one given by this option. The default is 0, no limit. [opt_def {-timelimit} seconds] Asks the server to use a timelimit of [arg seconds] for the search. Zero means no limit. The default is 0, no limit. [opt_def {-attrsonly} boolean] If set to 1 only the attribute names but not the values will be present in the search result. The default is to retrieve attribute names and values. [opt_def {-referencevar} varname] If set the search result reference LDAPURIs, if any, are returned in the given variable. The caller can than decide to follow those references and query other LDAP servers for further results. [list_end] [para] [call [cmd ::ldap::searchNext] [arg handle]] This command returns the next entry from a LDAP search initiated by [cmd ::ldap::searchInit]. It returns only after a new result is received or when no further results are available, but takes care to keep the event loop alive. The returned entry is a list with two elements: the first is the DN of the entry, the second is the list of attributes and values, under the format: [para] [example { dn {attr1 {val11 val12 ...} attr2 {val21...} ...} }] [para] The [cmd ::ldap::searchNext] command returns an empty list at the end of the search. [para] [call [cmd ::ldap::searchEnd] [arg handle]] This command terminates a LDAP search initiated by [cmd ::ldap::searchInit]. It also cleans up |
︙ | ︙ | |||
265 266 267 268 269 270 271 | [list_end] [para] The command blocks until all modifications have completed. Its result is the empty string. | < | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | [list_end] [para] The command blocks until all modifications have completed. Its result is the empty string. [call [cmd ::ldap::modifyMulti] [arg handle] [arg dn] \ [arg attrValToReplace] \ [opt [arg attrValToDelete]] \ [opt [arg attrValToAdd]]] This command modifies the object [arg dn] on the ldap server we are connected to via [arg handle]. It replaces attributes with new values, |
︙ | ︙ | |||
308 309 310 311 312 313 314 | [list_end] [para] The command blocks until all modifications have completed. Its result is the empty string. | < < < < | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | [list_end] [para] The command blocks until all modifications have completed. Its result is the empty string. [call [cmd ::ldap::add] [arg handle] [arg dn] [arg attrValueTuples]] This command creates a new object using the specified [arg dn]. The attributes of the new object are set to the values in the list [arg attrValueTuples]. Multiple valuated attributes may be specified using multiple tuples. The command blocks until the operation has completed. Its result is the empty string. [call [cmd ::ldap::addMulti] [arg handle] [arg dn] [arg attrValueTuples]] This command is the preferred one to create a new object using the specified [arg dn]. The attributes of the new object are set to the values in the dictionary [arg attrValueTuples] (which is keyed by the attribute names). Each tuple is a list containing multiple values. The command blocks until the operation has completed. Its result is the empty string. [call [cmd ::ldap::delete] [arg handle] [arg dn]] This command removes the object specified by [arg dn], and all its attributes from the server. The command blocks until the operation has completed. Its result is the empty string. [call [cmd ::ldap::modifyDN] [arg handle] [arg dn] [arg newrdn] [opt [arg deleteOld]] [opt [arg newSuperior]]]] This command moves or copies the object specified by [arg dn] to a new location in the tree of object. This location is specified by [arg newrdn], a [emph relative] designation, or by [arg newrdn] and [arg newSuperior], a [emph absolute] designation. |
︙ | ︙ | |||
366 367 368 369 370 371 372 | [call [cmd ::ldap::info] [cmd ip] [arg handle]] This command returns the IP address of the remote LDAP server the handle is connected to. [call [cmd ::ldap::info] [cmd bound] [arg handle]] | | | | | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | [call [cmd ::ldap::info] [cmd ip] [arg handle]] This command returns the IP address of the remote LDAP server the handle is connected to. [call [cmd ::ldap::info] [cmd bound] [arg handle]] This command returns 1 if a handle has successfully completed a [cmd ::ldap::bind]. If no bind was done or it failed, a 0 is returned. [call [cmd ::ldap::info] [cmd bounduser] [arg handle]] This command returns the username used in the bind operation if a handle has successfully completed a [cmd ::ldap::bind]. If no bound was done or it failed, an empty string is returned. [call [cmd ::ldap::info] [cmd connections] ] This command returns all currently existing ldap connection handles. [call [cmd ::ldap::info] [cmd tls] [arg handle] ] This command returns 1 if the ldap connection [arg handle] used TLS/SSL for connection via [cmd ldap::secure_connect] or completed [cmd ldap::starttls], 0 otherwise. [call [cmd ::ldap::info] [cmd saslmechanisms] [arg handle]] Return the supported SASL mechanisms advertised by the server. Only valid in a bound state (anonymous or other). [call [cmd ::ldap::info] [cmd control] [arg handle] ] |
︙ | ︙ | |||
403 404 405 406 407 408 409 | Returns the supported LDAP extensions as list of OIDs. Only valid in a bound state. This is currently experimental and subject to change. [call [cmd ::ldap::info] [cmd whoami] [arg handle]] Returns authzId for the current connection. This implements the RFC 4532 | | | 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | Returns the supported LDAP extensions as list of OIDs. Only valid in a bound state. This is currently experimental and subject to change. [call [cmd ::ldap::info] [cmd whoami] [arg handle]] Returns authzId for the current connection. This implements the RFC 4532 protocol extension. [list_end] [para] [section EXAMPLES] [para] |
︙ | ︙ | |||
467 468 469 470 471 472 473 | # Move ldap::modifyDN $handle $dn "cn=Tester" # Kill the test object, and shut the connection down. set dn "cn=Tester,ou=People,o=University of Michigan,c=US" ldap::delete $handle $dn | | | 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 | # Move ldap::modifyDN $handle $dn "cn=Tester" # Kill the test object, and shut the connection down. set dn "cn=Tester,ou=People,o=University of Michigan,c=US" ldap::delete $handle $dn ldap::unbind $handle ldap::disconnect $handle }] [para] And a another example, a simple query, and processing the results. |
︙ | ︙ | |||
494 495 496 497 498 499 500 | # generating properly aligned output listing all attributes # and their values. set width 0 set sortedAttribs {} foreach {type values} $attributes { if {[string length $type] > $width} { | | | < | < < | < < < < < < < < < < | 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 | # generating properly aligned output listing all attributes # and their values. set width 0 set sortedAttribs {} foreach {type values} $attributes { if {[string length $type] > $width} { set width [string length $type] } lappend sortedAttribs [list $type $values] } puts "object='$object'" foreach sortedAttrib $sortedAttribs { foreach {type values} $sortedAttrib break foreach value $values { regsub -all "\[\x01-\x1f\]" $value ? value puts [format " %-${width}s %s" $type $value] } } puts "" } ldap::unbind $handle ldap::disconnect $handle }] [vset CATEGORY ldap] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ldap/ldap.tcl.
︙ | ︙ | |||
1568 1569 1570 1571 1572 1573 1574 | CheckHandle $handle # # In order to handle multi-valuated attributes (see bug 1191326 on # sourceforge), we walk through tuples to collect all values for # an attribute. | | | 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 | CheckHandle $handle # # In order to handle multi-valuated attributes (see bug 1191326 on # sourceforge), we walk through tuples to collect all values for # an attribute. # http://core.tcl.tk/tcllib/tktview?name=1191326fff # foreach { attrName attrValue } $attrValueTuples { lappend avpairs($attrName) $attrValue } return [addMulti $handle $dn [array get avpairs]] |
︙ | ︙ |
Changes to modules/ldap/ldapx.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: ldapx.man,v 1.14 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin ldapx n 0.2.5] [copyright {2006 Pierre David <[email protected]>}] [moddesc {LDAP extended object interface}] [titledesc {LDAP extended object interface}] [category Networking] [require Tcl 8.4] [require ldapx [opt 1.0]] [description] [para] The [package ldapx] package provides an extended Tcl interface to LDAP directores and LDIF files. The [package ldapx] package is built upon the [package ldap] package in order to get low level LDAP access. [para] LDAP access is compatible with RFC 2251 ([uri http://www.rfc-editor.org/rfc/rfc2251.txt]). LDIF access is compatible with RFC 2849 ([uri http://www.rfc-editor.org/rfc/rfc2849.txt]). | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: ldapx.man,v 1.14 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin ldapx n 0.2.5] [keywords {directory access}] [keywords internet] [keywords ldap] [keywords {ldap client}] [keywords ldif] [keywords protocol] [keywords {rfc 2251}] [keywords {rfc 2849}] [copyright {2006 Pierre David <[email protected]>}] [moddesc {LDAP extended object interface}] [titledesc {LDAP extended object interface}] [category Networking] [require Tcl 8.4] [require ldapx [opt 1.0]] [description] [para] The [package ldapx] package provides an extended Tcl interface to LDAP directores and LDIF files. The [package ldapx] package is built upon the [package ldap] package in order to get low level LDAP access. [para] LDAP access is compatible with RFC 2251 ([uri http://www.rfc-editor.org/rfc/rfc2251.txt]). LDIF access is compatible with RFC 2849 ([uri http://www.rfc-editor.org/rfc/rfc2849.txt]). [section OVERVIEW] The [package ldapx] package provides objects to interact with LDAP directories and LDIF files with an easy to use programming interface. It implements three [package snit]::type classes. |
︙ | ︙ | |||
151 152 153 154 155 156 157 | [para] Renaming of an entry. [list_end] [list_end] | < < | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | [para] Renaming of an entry. [list_end] [list_end] [subsection {Entry Options}] No option is defined by this class. [subsection {Methods for all kinds of entries}] [list_begin definitions] [call [arg e] [method reset]] This method resets the entry to an uninitialized state. |
︙ | ︙ | |||
227 228 229 230 231 232 233 | values of the attribute [arg attr]. [call [arg se] [method add1] [arg attr] [arg value]] This method adds a single value given by the parameter [arg value] to the attribute [arg attr]. | < | 232 233 234 235 236 237 238 239 240 241 242 243 244 245 | values of the attribute [arg attr]. [call [arg se] [method add1] [arg attr] [arg value]] This method adds a single value given by the parameter [arg value] to the attribute [arg attr]. [call [arg se] [method del] [arg attr] [opt [arg values]]] If the optional list [arg values] is specified, this method deletes all specified values from the attribute [arg attr]. If the argument [arg values] is not specified, this method deletes all values. |
︙ | ︙ | |||
284 285 286 287 288 289 290 | [call [arg se] [method apply] [arg centry]] This method applies changes defined in the [arg centry] argument, which must be a [emph change] entry. [list_end] | < | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 | [call [arg se] [method apply] [arg centry]] This method applies changes defined in the [arg centry] argument, which must be a [emph change] entry. [list_end] [subsection {Methods for change entries only}] [list_begin definitions] [call [arg ce] [method change] [opt [arg new]]] If the optional argument [arg new] is specified, this method modifies the change list (see subsection [sectref {Entry Instance Data}] for |
︙ | ︙ | |||
309 310 311 312 313 314 315 | stores this list into the current [emph change] entry. If the optional argument [arg old] is not specified, difference is computed from the entry and its internal backup (see section [sectref OVERVIEW]). Return value is the computed change list. [list_end] | < | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | stores this list into the current [emph change] entry. If the optional argument [arg old] is not specified, difference is computed from the entry and its internal backup (see section [sectref OVERVIEW]). Return value is the computed change list. [list_end] [subsection {Entry Example}] [example { package require ldapx # |
︙ | ︙ | |||
376 377 378 379 380 381 382 | # e destroy $b destroy c destroy nc destroy }] | < | 378 379 380 381 382 383 384 385 386 387 388 389 390 391 | # e destroy $b destroy c destroy nc destroy }] [section {LDAP CLASS}] [subsection {Ldap Instance Data}] An instance of the [class ldap] class keeps the following data: |
︙ | ︙ | |||
456 457 458 459 460 461 462 | [list_end] [para] The last option is used when getting entries or committing changes in the directory: | < | 457 458 459 460 461 462 463 464 465 466 467 468 469 470 | [list_end] [para] The last option is used when getting entries or committing changes in the directory: [list_begin options] [opt_def -utf8 {pattern-yes pattern-no}] Specify which attribute values are encoded in UTF-8. This information is specific to the LDAP schema in use by the application, since some attributes such as jpegPhoto, for |
︙ | ︙ | |||
478 479 480 481 482 483 484 | [para] Default is {{.*} {}}, meaning: all attributes are converted, without exception. [list_end] | < | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 | [para] Default is {{.*} {}}, meaning: all attributes are converted, without exception. [list_end] [subsection {Ldap Methods}] [list_begin definitions] [call [arg la] [method error] [opt [arg newmsg]]] This method returns the error message that occurred in the |
︙ | ︙ | |||
552 553 554 555 556 557 558 | entry, or a [emph standard] entry with a backup. [para] Note: in the future, this method should use the LDAP transaction extension provided by OpenLDAP 2.3 and later. [list_end] | < | 551 552 553 554 555 556 557 558 559 560 561 562 563 564 | entry, or a [emph standard] entry with a backup. [para] Note: in the future, this method should use the LDAP transaction extension provided by OpenLDAP 2.3 and later. [list_end] [subsection {Ldap Example}] [example { package require ldapx # # Connects to the LDAP directory |
︙ | ︙ | |||
607 608 609 610 611 612 613 | $e destroy } l disconnect l destroy }] | < | 605 606 607 608 609 610 611 612 613 614 615 616 617 618 | $e destroy } l disconnect l destroy }] [section {LDIF CLASS}] [subsection {Ldif Instance Data}] An instance of the [class ldif] class keeps the following data: [list_begin definitions] |
︙ | ︙ | |||
647 648 649 650 651 652 653 | This is the version of the LDIF file. Only version 1 is supported: the method [method read] can only read from version 1 files, and method [method write] only creates version 1 files. [list_end] | < < | 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 | This is the version of the LDIF file. Only version 1 is supported: the method [method read] can only read from version 1 files, and method [method write] only creates version 1 files. [list_end] [subsection {Ldif Options}] This class defines two options: [list_begin options] [opt_def -ignore {list-of-attributes}] This option is used to ignore certain attribute names on reading. For example, to read OpenLDAP replica files (replog), |
︙ | ︙ | |||
685 686 687 688 689 690 691 | [para] Default is {{.*} {}}, meaning: all attributes are converted, without exception. [list_end] | < < | 680 681 682 683 684 685 686 687 688 689 690 691 692 693 | [para] Default is {{.*} {}}, meaning: all attributes are converted, without exception. [list_end] [subsection {Ldif Methods}] [list_begin definitions] [call [arg li] [method channel] [arg chan]] This method associates the Tcl channel named [arg chan] |
︙ | ︙ | |||
715 716 717 718 719 720 721 | The entry may be a [emph standard] or [emph change] entry. [call [arg li] [method write] [arg entry]] This method writes the entry given in the argument [arg entry] to the LDIF file. | < < | 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 | The entry may be a [emph standard] or [emph change] entry. [call [arg li] [method write] [arg entry]] This method writes the entry given in the argument [arg entry] to the LDIF file. [list_end] [subsection {Ldif Example}] [example { package require ldapx # This examples reads a LDIF file containing entries, |
︙ | ︙ | |||
770 771 772 773 774 775 776 | e1 destroy e2 destroy c destroy liout destroy liin destroy }] | < | < | < < < < < < < < < < < | 761 762 763 764 765 766 767 768 769 770 771 772 | e1 destroy e2 destroy c destroy liout destroy liin destroy }] [section References] [vset CATEGORY ldap] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/log/log.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin log n 1.3] [copyright {2001-2009 Andreas Kupries <[email protected]>}] [moddesc {Logging facility}] [titledesc {Procedures to log messages of libraries and applications.}] [category {Programming tools}] [require Tcl 8] [require log [opt 1.3]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin log n 1.3] [keywords log] [keywords {log level}] [keywords message] [keywords {message level}] [copyright {2001-2009 Andreas Kupries <[email protected]>}] [moddesc {Logging facility}] [titledesc {Procedures to log messages of libraries and applications.}] [category {Programming tools}] [require Tcl 8] [require log [opt 1.3]] [description] |
︙ | ︙ | |||
89 90 91 92 93 94 95 | [section API] [para] The following commands are available: [list_begin definitions] | < | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | [section API] [para] The following commands are available: [list_begin definitions] [call [cmd ::log::levels]] Returns the names of all known levels, in alphabetical order. [call [cmd ::log::lv2longform] [arg level]] |
︙ | ︙ | |||
204 205 206 207 208 209 210 | specified for the given level. If no channel is specified for the level the message won't be logged. Unique abbreviations of level names are allowed. Errors in the actual logging command are [emph not] caught, but propagated to the caller, as they may indicate misconfigurations of the log facility or errors in the callers code itself. | < < < | 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 | specified for the given level. If no channel is specified for the level the message won't be logged. Unique abbreviations of level names are allowed. Errors in the actual logging command are [emph not] caught, but propagated to the caller, as they may indicate misconfigurations of the log facility or errors in the callers code itself. [call [cmd ::log::logarray] [arg level] [arg arrayvar] [opt [arg pattern]]] Like [cmd ::log::log], but logs the contents of the specified array variable [arg arrayvar], possibly restricted to entries matching the [arg pattern]. The pattern defaults to [const *] (i.e. all entries) if none was specified. [call [cmd ::log::loghex] [arg level] [arg text] [arg data]] Like [cmd ::log::log], but assumes that [arg data] contains binary data. It converts this into a mixed hex/ascii representation before writing them to the log. [call [cmd ::log::logMsg] [arg text]] Convenience wrapper around [cmd ::log::log]. Equivalent to [cmd "::log::log info text"]. [call [cmd ::log::logError] [arg text]] |
︙ | ︙ | |||
268 269 270 271 272 273 274 | [list_end] [emph Note] that by default all messages with levels [const warning] down to [const debug] are suppressed. This is done intentionally, because (we believe that) in most situations debugging output is not wanted. Most people wish to have such output only when actually debugging an application. | | < | < < < < < < < < < < < | 268 269 270 271 272 273 274 275 276 277 | [list_end] [emph Note] that by default all messages with levels [const warning] down to [const debug] are suppressed. This is done intentionally, because (we believe that) in most situations debugging output is not wanted. Most people wish to have such output only when actually debugging an application. [vset CATEGORY log] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/log/logger.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: logger.man,v 1.26 2012/07/10 03:34:47 andreas_kupries Exp $}] [manpage_begin logger n 0.9.3] [moddesc {Object Oriented logging facility}] [titledesc {System to control logging of events.}] [category {Programming tools}] [require Tcl 8.2] [require logger [opt 0.9.3]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: logger.man,v 1.26 2012/07/10 03:34:47 andreas_kupries Exp $}] [manpage_begin logger n 0.9.3] [keywords log] [keywords {log level}] [keywords logger] [keywords service] [moddesc {Object Oriented logging facility}] [titledesc {System to control logging of events.}] [category {Programming tools}] [require Tcl 8.2] [require logger [opt 0.9.3]] [description] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | parents. For instance, if there were a service [term foo], and we did a [cmd logger::init] [arg foo::bar] (to create a [term bar] service underneath [term foo]), [term bar] would copy the current configuration of the [term foo] service, although it would of course, also be possible to then separately configure [term bar]. If a logger service is initialized and the parent does not yet exist, the | | | | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | parents. For instance, if there were a service [term foo], and we did a [cmd logger::init] [arg foo::bar] (to create a [term bar] service underneath [term foo]), [term bar] would copy the current configuration of the [term foo] service, although it would of course, also be possible to then separately configure [term bar]. If a logger service is initialized and the parent does not yet exist, the parent is also created. The new logger service is initialized with the default loglevel set with [cmd logger::setlevel]. [call [cmd logger::import] [opt [option -all] ] [opt [option -force]] [opt "[option -prefix] [arg prefix]" ] [opt "[option -namespace] [arg namespace]" ] [arg service] ] Import the logger service commands into the current namespace. Without the [option -all] option only the commands corresponding to the log levels are imported. If [option -all] is given, all the [cmd \${log}::cmd] style commands are imported. If the import would overwrite a command an error is returned and no command is imported. Use the [option -force] option to force the import and overwrite existing commands without complaining. If the [option -prefix] option is given, the commands are imported with the given [arg prefix] prepended to their names. If the [option -namespace] option is given, the commands are imported into the given namespace. If the namespace does not exist, it is created. If a namespace without a leading :: is given, it is interpreted as a child namespace to the current namespace. [call [cmd logger::initNamespace] [arg ns] [opt [arg level]]] |
︙ | ︙ | |||
131 132 133 134 135 136 137 | Enable logging, in the service referenced by [var \${log}], and its children, at and above the level specified. Note that this does [emph not] disable logging below this level, so you should probably use [cmd setlevel] instead. [call [cmd \${log}::disable] [arg level]] Disable logging, in the service referenced by [var \${log}], and its | | | | | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | Enable logging, in the service referenced by [var \${log}], and its children, at and above the level specified. Note that this does [emph not] disable logging below this level, so you should probably use [cmd setlevel] instead. [call [cmd \${log}::disable] [arg level]] Disable logging, in the service referenced by [var \${log}], and its children, at and below the level specified. Note that this does [emph not] enable logging above this level, so you should probably use [cmd setlevel] instead. Disabling the loglevel [const emergency] switches logging off for the service and its children. [call [cmd \${log}::lvlchangeproc] [arg command]] [call [cmd \${log}::lvlchangeproc]] Set the script to call when the log instance in question changes its log level. If called without a command it returns the currently registered command. The command gets two arguments appended, the old and the new loglevel. The callback is invoked after all changes have been done. If child loggers are affected, their callbacks are called before their parents callback. [example { proc lvlcallback {old new} { puts "Loglevel changed from $old to $new" } ${log}::lvlchangeproc lvlcallback }] [call [cmd \${log}::logproc] [arg level]] [call [cmd \${log}::logproc] [arg level] [arg command]] [call [cmd \${log}::logproc] [arg level] [arg argname] [arg body]] This command comes in three forms - the third, older one is deprecated and may be removed from future versions of the logger package. The current set version takes one argument, a command to be executed when the level is called. The callback command takes on argument, the text to be logged. If called only with a valid level [cmd logproc] returns the name of the command currently registered as callback command. [cmd logproc] specifies which command will perform the actual logging for a given level. The logger package ships with default commands for |
︙ | ︙ | |||
256 257 258 259 260 261 262 | ${log}::logproc trace tracecmd proc foo { args } { puts "In foo" bar 1 return "foo_result" } | | | 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | ${log}::logproc trace tracecmd proc foo { args } { puts "In foo" bar 1 return "foo_result" } proc bar { x } { puts "In bar" return "bar_result" } ${log}::trace add foo bar ${log}::trace on |
︙ | ︙ | |||
376 377 378 379 380 381 382 | puts "$txt" puts "Caller: $caller" puts "Variables in callers scope:" foreach {var value} $val { puts "$var = $value" } } | | < | < < | < < < < < < < < < | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 | puts "$txt" puts "Caller: $caller" puts "Variables in callers scope:" foreach {var value} $val { puts "$var = $value" } } # install as logproc ${log}::logproc debug log_local_var } ] [vset CATEGORY logger] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/log/loggerAppender.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: loggerAppender.man,v 1.6 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin logger::appender n 1.2] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Object Oriented logging facility}] [titledesc {Collection of predefined appenders for logger}] [category {Programming tools}] [require Tcl 8.2] [require logger::appender [opt 1.2]] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: loggerAppender.man,v 1.6 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin logger::appender n 1.2] [keywords appender] [keywords logger] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Object Oriented logging facility}] [titledesc {Collection of predefined appenders for logger}] [category {Programming tools}] [require Tcl 8.2] [require logger::appender [opt 1.2]] [description] This package provides a predefined set of logger templates. [list_begin definitions] [call [cmd ::logger::appender::console] \ [option -level] [arg level] \ |
︙ | ︙ | |||
45 46 47 48 49 50 51 | [opt_def -procNameVar procNameVar] Name of the variable to set in the calling context. This variable will contain the name of the procedure. [list_end] | < < | < < | < < < < < < < | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [opt_def -procNameVar procNameVar] Name of the variable to set in the calling context. This variable will contain the name of the procedure. [list_end] [call [cmd ::logger::appender::colorConsole] \ [option -level] [arg level] \ [option -service] [arg service] [opt [arg options]...] \ ] See [cmd ::logger::appender::colorConsole] for a description of the applicable options. [list_end] [vset CATEGORY logger] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/log/loggerUtils.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: loggerUtils.man,v 1.7 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin logger::utils n 1.3] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Object Oriented logging facility}] [titledesc {Utilities for logger}] [category {Programming tools}] [require Tcl 8.4] [require logger::utils [opt 1.3]] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: loggerUtils.man,v 1.7 2009/01/29 06:16:19 andreas_kupries Exp $}] [manpage_begin logger::utils n 1.3] [keywords appender] [keywords logger] [copyright {2005 Aamer Akhter <[email protected]>}] [moddesc {Object Oriented logging facility}] [titledesc {Utilities for logger}] [category {Programming tools}] [require Tcl 8.4] [require logger::utils [opt 1.3]] [description] This package adds template based [term appenders]. [list_begin definitions] [call [cmd ::logger::utils::createFormatCmd] [arg formatString]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | [def %d] Current date in yyyy/MM/dd hh:mm:ss [def %H] Hostname [def %m] Message to be logged [def %M] Method where logging event was issued [def %p] Priority of logging event [def %P] Pid of current process [list_end] | < | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [def %d] Current date in yyyy/MM/dd hh:mm:ss [def %H] Hostname [def %m] Message to be logged [def %M] Method where logging event was issued [def %p] Priority of logging event [def %P] Pid of current process [list_end] [call [cmd ::logger::utils::createLogProc] \ [option -procName] [arg procName] \ [opt [arg options]...]] This command ... |
︙ | ︙ | |||
60 61 62 63 64 65 66 | The priority (level). [opt_def -outputChannel channel] channel to output on (default stdout) [list_end] | < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | The priority (level). [opt_def -outputChannel channel] channel to output on (default stdout) [list_end] [call [cmd ::logger::utils::applyAppender] \ [option -appender] [arg appenderType] \ [opt [arg options]...]] This command will create an appender for the specified logger services. If no service is specified then the appender will be added |
︙ | ︙ | |||
115 116 117 118 119 120 121 | % set log [logger::init testLog] ::logger::tree::testLog % logger::utils::applyAppender -appender console -serviceCmd $log % ${log}::error "this is an error" [2005/08/22 10:14:13] [testLog] [global] [error] this is an error }] | < < | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | % set log [logger::init testLog] ::logger::tree::testLog % logger::utils::applyAppender -appender console -serviceCmd $log % ${log}::error "this is an error" [2005/08/22 10:14:13] [testLog] [global] [error] this is an error }] [call [cmd ::logger::utils::autoApplyAppender] \ [arg command] [arg command-string] [arg log] [arg op] [arg args]... \ ] This command is designed to be added via [cmd {trace leave}] to calls of [cmd logger::init]. It will look at preconfigured state (via [cmd ::logger::utils::applyAppender]) to autocreate appenders for |
︙ | ︙ | |||
138 139 140 141 142 143 144 | [example { logger::utils::applyAppender -appender console set log [logger::init applyAppender-3] ${log}::error "this is an error" }] [list_end] | < | < < | < < < < < < < | 135 136 137 138 139 140 141 142 143 144 | [example { logger::utils::applyAppender -appender console set log [logger::init applyAppender-3] ${log}::error "this is an error" }] [list_end] [vset CATEGORY logger] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/map/map_geocode_nominatim.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::geocode::nominatim n 0.1] [moddesc {Mapping utilities}] [titledesc {Resolving geographical names with a Nominatim service}] [require Tcl 8.5] [require http] [require json] [require uri] [require snit] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::geocode::nominatim n 0.1] [keywords geocoding] [keywords http] [keywords location] [keywords map] [keywords nominatim] [keywords server] [keywords url] [moddesc {Mapping utilities}] [titledesc {Resolving geographical names with a Nominatim service}] [require Tcl 8.5] [require http] [require json] [require uri] [require snit] |
︙ | ︙ | |||
99 100 101 102 103 104 105 | [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Nominatim] [enum] [uri http://open.mapquestapi.com/nominatim/] [list_end] | < < < | 106 107 108 109 110 111 112 113 | [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Nominatim] [enum] [uri http://open.mapquestapi.com/nominatim/] [list_end] [manpage_end] |
Changes to modules/map/map_slippy.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy n 0.5] [moddesc {Mapping utilities}] [titledesc {Common code for slippy based map packages}] [require Tcl 8.4] [require Tk 8.4] [require map::slippy [opt 0.5]] [description] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy n 0.5] [keywords geodesy] [keywords geography] [keywords latitute] [keywords location] [keywords longitude] [keywords map] [keywords slippy] [keywords zoom] [moddesc {Mapping utilities}] [titledesc {Common code for slippy based map packages}] [require Tcl 8.4] [require Tk 8.4] [require map::slippy [opt 0.5]] [description] |
︙ | ︙ | |||
20 21 22 23 24 25 26 | specified zoom [arg level], in pixels. This is, in essence, the result of [example { expr { [tiles $level] * [tile size] } }] | < < < < < < < < < < < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | specified zoom [arg level], in pixels. This is, in essence, the result of [example { expr { [tiles $level] * [tile size] } }] [call [cmd ::map::slippy] [method tiles] [arg level]] This method returns the width/height of a slippy-based map at the specified zoom [arg level], in [term tiles]. [call [cmd ::map::slippy] [method {tile size}]] This method returns the width/height of a tile in a slippy-based map, in pixels. [call [cmd ::map::slippy] [method {tile valid}] [arg tile] \ [arg levels] [opt [arg msgvar]]] This method checks whether [arg tile] described a valid tile in a slippy-based map containing that many zoom [arg levels]. The result is a boolean value, [const true] if the tile is valid, and [const false] otherwise. For the latter a message is left in the variable named by [arg msgvar], should it be specified. [para] A tile identifier as stored in [arg tile] is a list containing zoom level, tile row, and tile column, in this order. The command essentially checks this, i.e. the syntax, that the zoom level is between 0 and "[arg levels]-1", and that the row/col information is within the boundaries for the zoom level, i.e. 0 ... "[lb]tiles $zoom[rb]-1". [call [cmd ::map::slippy] [method {geo 2tile}] [arg geo]] Converts a geographical location at a zoom level ([arg geo], a list containing zoom level, latitude, and longitude, in this order) to a tile identifier (list containing zoom level, row, and column) at that level. The tile identifier uses pure integer numbers for the tile coordinates, for all geographic coordinates mapping to that tile. [call [cmd ::map::slippy] [method {geo 2tile.float}] [arg geo]] Converts a geographical location at a zoom level ([arg geo], a list containing zoom level, latitude, and longitude, in this order) to a tile identifier (list containing zoom level, row, and column) at that level. The tile identifier uses floating point numbers for the tile coordinates, representing not only the tile the geographic coordinates map to, but also the fractional location inside of that tile. [call [cmd ::map::slippy] [method {geo 2point}] [arg geo]] Converts a geographical location at a zoom level ([arg geo], a list containing zoom level, latitude, and longitude, in this order) to a pixel position (list containing zoom level, y, and x) at that level. [call [cmd ::map::slippy] [method {tile 2geo}] [arg tile]] Converts a tile identifier at a zoom level ([arg tile], list containing zoom level, row, and column) to a geographical location (list containing zoom level, latitude, and longitude, in this order) at that level. [call [cmd ::map::slippy] [method {tile 2point}] [arg tile]] Converts a tile identifier at a zoom level ([arg tile], a list containing zoom level, row, and column, in this order) to a pixel position (list containing zoom level, y, and x) at that level. [call [cmd ::map::slippy] [method {point 2geo}] [arg point]] Converts a pixel position at a zoom level ([arg point], list containing zoom level, y, and x) to a geographical location (list containing zoom level, latitude, and longitude, in this order) at that level. [call [cmd ::map::slippy] [method {point 2tile}] [arg point]] Converts a pixel position at a zoom level ([arg point], a list containing zoom level, y, and x, in this order) to a tile identifier (list containing zoom level, row, and column) at that level. [call [cmd ::map::slippy] [method {fit geobox}] [arg canvdim] \ [arg geobox] [arg zmin] [arg zmax]] Calculates the zoom level (whithin the bounds [arg zmin] and [arg zmax]) such that [arg geobox] (a 4-element list containing the latitudes and longitudes lat0, lat1, lon0 and lon1 of a geo box, in this order) fits into a viewport given by [arg canvdim], a 2-element list containing the width and height of the viewport, in this order. [list_end] [section {Coordinate systems}] The commands of this package operate on three distinct coordinate systems, which are explained below. [subsection Geographic] |
︙ | ︙ | |||
142 143 144 145 146 147 148 | [para] [const zero] latitude the [term Equator], with positive values going [term north] and negative values going [term south]. While the true range is +/- 90 degrees the projection used by the package requires us to cap the range at +/- 85.05112877983284 degrees. This means that north and south pole are not representable and not part of any map. | < | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | [para] [const zero] latitude the [term Equator], with positive values going [term north] and negative values going [term south]. While the true range is +/- 90 degrees the projection used by the package requires us to cap the range at +/- 85.05112877983284 degrees. This means that north and south pole are not representable and not part of any map. [subsection Tiles] While [sectref Geographic]al coordinates of the previous section are independent of zoom level the [term {tile coordinates}] are not. [para] Generally the integer part of tile coordinates represent the |
︙ | ︙ | |||
174 175 176 177 178 179 180 | tile of level N is split into its four quadrants, which then are the tiles of level N+1. [para] This means that at zoom level N the map is sliced (horizontally and vertically) into 2^N stripes, for a total of 4^N tiles, with tile coordinates ranging from 0 to 2^N+1. | < < < < < | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | tile of level N is split into its four quadrants, which then are the tiles of level N+1. [para] This means that at zoom level N the map is sliced (horizontally and vertically) into 2^N stripes, for a total of 4^N tiles, with tile coordinates ranging from 0 to 2^N+1. [subsection Pixels/Points] [term {pixel coordinates}], also called [term {point coordinates}] are in essence [sectref Tiles {tile coordinates}] scaled by the size of the image representing a tile. This tile size currently has a fixed value, [const 256]. [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Main_Page] [list_end] [manpage_end] |
Changes to modules/map/map_slippy_cache.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy::cache n 0.2] [moddesc {Mapping utilities}] [titledesc {Management of a tile cache in the local filesystem}] [require Tcl 8.4] [require Tk 8.4] [require img::png] [require map::slippy] [require map::slippy::cache [opt 0.2]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy::cache n 0.2] [keywords cache] [keywords filesystem] [keywords location] [keywords map] [keywords slippy] [keywords tile] [keywords zoom] [moddesc {Mapping utilities}] [titledesc {Management of a tile cache in the local filesystem}] [require Tcl 8.4] [require Tk 8.4] [require img::png] [require map::slippy] [require map::slippy::cache [opt 0.2]] |
︙ | ︙ | |||
25 26 27 28 29 30 31 | [para] The result of the command is [arg cacheName]. [list_end] | < < < < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | [para] The result of the command is [arg cacheName]. [list_end] [subsection Methods] [list_begin definitions] [call [arg cacheName] [method valid] [arg tile] [opt [arg msgvar]]] This method checks the validity of a the given [arg tile] identifier. This is a convenience wrapper to [cmd {::map::slippy tile valid}] and has the same interface. [call [arg cacheName] [method exists] [arg tile]] This methods tests whether the cache contains the specified [arg tile] or not. The result is a boolean value, [const true] if the tile is known, and [const false] otherwise. The tile is identified by a list containing three elements, zoom level, row, and column number, in this order. [call [arg cacheName] [method get] [arg tile] [arg donecmd]] This is the main method of the cache, retrieving the image for the specified [arg tile] from the cache. The tile identifier is a list containing three elements, the zoom level, row, and column number of the tile, in this order. |
︙ | ︙ | |||
90 91 92 93 94 95 96 | [list_end] [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Main_Page] [list_end] | < < < < | 92 93 94 95 96 97 98 99 | [list_end] [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Main_Page] [list_end] [manpage_end] |
Changes to modules/map/map_slippy_fetcher.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy::fetcher n 0.3] [moddesc {Mapping utilities}] [titledesc {Accessing a server providing tiles for slippy-based maps}] [require Tcl 8.4] [require Tk 8.4] [require img::png] [require map::slippy] [require map::slippy::fetcher [opt 0.3]] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin map::slippy::fetcher n 0.3] [keywords http] [keywords location] [keywords map] [keywords server] [keywords slippy] [keywords tile] [keywords url] [keywords zoom] [moddesc {Mapping utilities}] [titledesc {Accessing a server providing tiles for slippy-based maps}] [require Tcl 8.4] [require Tk 8.4] [require img::png] [require map::slippy] [require map::slippy::fetcher [opt 0.3]] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | [para] The result of the command is [arg fetcherName]. [list_end] | < < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | [para] The result of the command is [arg fetcherName]. [list_end] [subsection Methods] [list_begin definitions] [call [arg fetcherName] [method levels]] This method returns the number of zoom levels supported by the fetcher object, and the tile server it is accessing. [call [arg fetcherName] [method tileheight]] This method returns the height of tiles served, in pixels. [call [arg fetcherName] [method tilewidth]] This method returns the width of tiles served, in pixels. [call [arg fetcherName] [method get] [arg tile] [arg donecmd]] This is the main method of the fetcher, retrieving the image for the specified [arg tile]. The tile identifier is a list containing three elements, the zoom level, row, and column number of the tile, in this order. |
︙ | ︙ | |||
72 73 74 75 76 77 78 | [list_end] [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Main_Page] [list_end] | < < < < | 77 78 79 80 81 82 83 84 | [list_end] [section References] [list_begin enum] [enum] [uri http://wiki.openstreetmap.org/wiki/Main_Page] [list_end] [manpage_end] |
Changes to modules/mapproj/mapproj.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mapproj n 0.1] [copyright {2007 Kevin B. Kenny <[email protected]>}] [moddesc {Tcl Library}] [titledesc {Map projection routines}] [require Tcl [opt 8.4]] [require math::interpolate [opt 1.0]] [require math::special [opt 0.2.1]] [require mapproj [opt 1.0]] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mapproj n 0.1] [keywords geodesy] [keywords map] [keywords projection] [copyright {2007 Kevin B. Kenny <[email protected]>}] [moddesc {Tcl Library}] [titledesc {Map projection routines}] [require Tcl [opt 8.4]] [require math::interpolate [opt 1.0]] [require math::special [opt 0.2.1]] [require mapproj [opt 1.0]] [description] The [package mapproj] package provides a set of procedures for converting between world co-ordinates (latitude and longitude) and map co-ordinates on a number of different map projections. [section Commands] |
︙ | ︙ | |||
73 74 75 76 77 78 79 | [call [cmd ::mapproj::toOrthographic] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the orthographic projection. [call [cmd ::mapproj::fromOrthographic] [arg lambda_0] [arg phi_0] [arg x] [arg y]] Converts from the orthographic projection. [call [cmd ::mapproj::toStereographic] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the stereographic (azimuthal conformal) projection. [call [cmd ::mapproj::fromStereographic] [arg lambda_0] [arg phi_0] [arg x] [arg y]] | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | [call [cmd ::mapproj::toOrthographic] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the orthographic projection. [call [cmd ::mapproj::fromOrthographic] [arg lambda_0] [arg phi_0] [arg x] [arg y]] Converts from the orthographic projection. [call [cmd ::mapproj::toStereographic] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the stereographic (azimuthal conformal) projection. [call [cmd ::mapproj::fromStereographic] [arg lambda_0] [arg phi_0] [arg x] [arg y]] Converts from the stereographic (azimuthal conformal) projection. [call [cmd ::mapproj::toGnomonic] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the gnomonic projection. [call [cmd ::mapproj::fromGnomonic] [arg lambda_0] [arg phi_0] [arg x] [arg y]] Converts from the gnomonic projection. [call [cmd ::mapproj::toAzimuthalEquidistant] [arg lambda_0] [arg phi_0] [arg lambda] [arg phi]] Converts to the azimuthal equidistant projection. [call [cmd ::mapproj::fromAzimuthalEquidistant] [arg lambda_0] [arg phi_0] [arg x] [arg y]] |
︙ | ︙ | |||
154 155 156 157 158 159 160 | [section Arguments] The following arguments are accepted by the projection commands: [list_begin definitions] | | | | | | | | | | | | | | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | [section Arguments] The following arguments are accepted by the projection commands: [list_begin definitions] [def [arg lambda]] Longitude of the point to be projected, in degrees. [def [arg phi]] Latitude of the point to be projected, in degrees. [def [arg lambda_0]] Longitude of the center of the sheet, in degrees. For many projections, this figure is also the reference meridian of the projection. [def [arg phi_0]] Latitude of the center of the sheet, in degrees. For the azimuthal projections, this figure is also the latitude of the center of the projection. [def [arg phi_1]] Latitude of the first reference parallel, for projections that use reference parallels. [def [arg phi_2]] Latitude of the second reference parallel, for projections that use reference parallels. [def [arg x]] X co-ordinate of a point on the map, in units of Earth radii. [def [arg y]] Y co-ordinate of a point on the map, in units of Earth radii. [list_end] [section Results] For all of the procedures whose names begin with 'to', the return value is a list comprising an [emph x] co-ordinate and a [emph y] co-ordinate. The co-ordinates are relative to the center of the map sheet to be drawn, measured in Earth radii at the reference location on the map. For all of the functions whose names begin with 'from', the return value is a list comprising the longitude and latitude, in degrees. [section {Choosing a projection}] This package offers a great many projections, because no single projection is appropriate to all maps. This section attempts to provide guidance on how to choose a projection. [para] First, consider the type of data that you intend to display on the map. If the data are [emph directional] ([emph e.g.,] winds, ocean currents, or magnetic fields) then you need to use a projection that preserves angles; these are known as [emph conformal] projections. Conformal projections include the Mercator, the Albers azimuthal equal-area, the stereographic, and the Peirce Quincuncial projection. If the data are [emph thematic], describing properties of land or water, such as temperature, population density, land use, or demographics; then you need a projection that will show these data with the areas on the map proportional to the areas in real life. These so-called [emph {equal area}] projections include the various cylindrical equal area projections, the sinusoidal projection, the Lambert azimuthal equal-area projection, the Albers equal-area conic projection, and several of the world-map projections (Miller Cylindrical, Mollweide, Eckert IV, Eckert VI, Robinson, and Hammer). If the significant factor in your data is distance from a central point or line (such as air routes), then you will do best with an [emph equidistant] projection such as [emph "plate carr\u00e9e"], Cassini, azimuthal equidistant, or conic equidistant. If direction from a central point is a critical factor in your data (for instance, air routes, radio antenna pointing), then you will almost surely want to use one of the azimuthal projections. Appropriate choices are azimuthal equidistant, azimuthal equal-area, stereographic, and perhaps orthographic. [para] Next, consider how much of the Earth your map will cover, and the general shape of the area of interest. For maps of the entire Earth, the cylindrical equal area, Eckert IV and VI, Mollweide, Robinson, and Hammer projections are good overall choices. The Mercator projection is traditional, but the extreme distortions of area at high latitudes make it a poor choice unless a conformal projection is required. The Peirce projection is a better choice of conformal projection, having less distortion of landforms. The Miller Cylindrical is a compromise designed to give shapes similar to the traditional Mercator, but with less polar stretching. The Peirce Quincuncial projection shows all the continents with acceptable distortion if a reference meridian close to +20 degrees is chosen. The Robinson projection yields attractive maps for things like political divisions, but should be avoided in presenting scientific data, since other projections have moe useful geometric properties. [para] If the map will cover a hemisphere, then choose stereographic, azimuthal-equidistant, Hammer, or Mollweide projections; these all project the hemisphere into a circle. [para] If the map will cover a large area (at least a few hundred km on a side), but less than a hemisphere, then you have several choices. Azimuthal projections are usually good (choose stereographic, azimuthal equidistant, or Lambert azimuthal equal-area according to whether shapes, distances from a central point, or areas are important). Azimuthal projections (and possibly the Cassini projection) are the only really good choices for mapping the polar regions. [para] If the large area is in one of the temperate zones and is round or has a primarily east-west extent, then the conic projections are good choices. Choose the Lambert conformal conic, the conic equidistant, or the Albers equal-area conic according to whether shape, distance, or area are the most important parameters. For any of these, the reference parallels should be chosen at approximately 1/6 and 5/6 of the range of latitudes to be displayed. For instance, maps of the 48 coterminous United States are attractive with reference parallels of 28.5 and 45.5 degrees. [para] If the large area is equatorial and is round or has a primarily east-west extent, then the Mercator projection is a good choice for a conformal projection; Lambert cylindrical equal-area and sinusoidal projections are good equal-area projections; and the [emph "plate carr\u00e9e"] is a good equidistant projection. [para] Large areas having a primarily North-South aspect, particularly those spanning the Equator, need some other choices. The Cassini projection is a good choice for an equidistant projection (for instance, a Cassini |
︙ | ︙ | |||
299 300 301 302 303 304 305 | properties. The orthographic projection produces views of the Earth as seen from space. The gnomonic projection produces a map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere). | < | 301 302 303 304 305 306 307 308 | properties. The orthographic projection produces views of the Earth as seen from space. The gnomonic projection produces a map on which all great circles (the shortest distance between two points on the Earth's surface) are rendered as straight lines. While this projection is useful for navigational planning, it has extreme distortions of shape and area, and can display only a limited area of the Earth (substantially less than a hemisphere). [manpage_end] |
Changes to modules/math/bigfloat.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::bigfloat n 2.0.1] [copyright {2004-2008, by Stephane Arnold <stephanearnold at yahoo dot fr>}] [moddesc {Tcl Math Library}] [titledesc {Arbitrary precision floating-point numbers}] [category Mathematics] [require Tcl 8.5] [require math::bigfloat [opt 2.0.1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin math::bigfloat n 2.0.1] [keywords computations] [keywords floating-point] [keywords interval] [keywords math] [keywords multiprecision] [keywords tcl] [copyright {2004-2008, by Stephane Arnold <stephanearnold at yahoo dot fr>}] [moddesc {Tcl Math Library}] [titledesc {Arbitrary precision floating-point numbers}] [category Mathematics] [require Tcl 8.5] [require math::bigfloat [opt 2.0.1]] |
︙ | ︙ | |||
73 74 75 76 77 78 79 | For example : [example_begin] set x [lb]fromstr 1.0000000000[rb] # the next line does the same, but smarter set y [lb]fromstr 1. 10[rb] [example_end] | < | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | For example : [example_begin] set x [lb]fromstr 1.0000000000[rb] # the next line does the same, but smarter set y [lb]fromstr 1. 10[rb] [example_end] [call [cmd tostr] [opt [option -nosci]] [arg number]] Returns a string form of a BigFloat, in which all digits are exacts. [emph "All exact digits"] means a rounding may occur, for example to zero, if the uncertainty interval does not clearly show the true digits. [emph number] may be an integer, causing the command to return exactly the input argument. With the [option -nosci] option, the number returned is never shown in scientific notation, i.e. not like '3.4523e+5' but like '345230.'. [example_begin] puts [lb]tostr [lb]fromstr 0.99999[rb][rb] ;# 1.0000 puts [lb]tostr [lb]fromstr 1.00001[rb][rb] ;# 1.0000 puts [lb]tostr [lb]fromstr 0.002[rb][rb] ;# 0.e-2 [example_end] See [sectref PRECISION] for that matter. See also [cmd iszero] for how to detect zeros, which is useful when performing a division. [call [cmd fromdouble] [arg double] [opt [arg decimals]]] Converts a double (a simple floating-point value) to a BigFloat, with exactly [arg decimals] digits. Without the [arg decimals] argument, it behaves like [cmd fromstr]. Here, the only important feature you might care of is the ability to create BigFloats with a fixed number of [arg decimals]. [example_begin] tostr [lb]fromstr 1.111 4[rb] # returns : 1.111000 (3 zeros) tostr [lb]fromdouble 1.111 4[rb] |
︙ | ︙ | |||
126 127 128 129 130 131 132 | [example_begin] set n 10 set x [lb]int2float $n[rb]; # like fromstr 10.0 puts [lb]tostr $x[rb]; # prints "10." set x [lb]int2float $n 3[rb]; # like fromstr 10.000 puts [lb]tostr $x[rb]; # prints "10.00" [example_end] | < | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | [example_begin] set n 10 set x [lb]int2float $n[rb]; # like fromstr 10.0 puts [lb]tostr $x[rb]; # prints "10." set x [lb]int2float $n 3[rb]; # like fromstr 10.000 puts [lb]tostr $x[rb]; # prints "10.00" [example_end] [list_end] [section "ARITHMETICS"] [list_begin definitions] [call [cmd add] [arg x] [arg y]] |
︙ | ︙ | |||
159 160 161 162 163 164 165 | Returns the opposite of [emph x] [call [cmd pow] [arg x] [arg n]] Returns [emph x] taken to the [emph n]th power. It only works if [emph n] is an integer. [emph x] might be a BigFloat or an integer. | < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | Returns the opposite of [emph x] [call [cmd pow] [arg x] [arg n]] Returns [emph x] taken to the [emph n]th power. It only works if [emph n] is an integer. [emph x] might be a BigFloat or an integer. [list_end] [section COMPARISONS] [list_begin definitions] [call [cmd iszero] [arg x]] Returns 1 if [emph x] is : |
︙ | ︙ | |||
187 188 189 190 191 192 193 | tostr $a ; # 0.e-2 iszero $a ; # false set a [lb]fromstr 0.001[rb] ; # uncertainty interval : 0.000, 0.002 tostr $a ; # 0.e-2 iszero $a ; # true [example_end] | < | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | tostr $a ; # 0.e-2 iszero $a ; # false set a [lb]fromstr 0.001[rb] ; # uncertainty interval : 0.000, 0.002 tostr $a ; # 0.e-2 iszero $a ; # true [example_end] [call [cmd equal] [arg x] [arg y]] Returns 1 if [emph x] and [emph y] are equal, 0 elsewhere. [call [cmd compare] [arg x] [arg y]] |
︙ | ︙ | |||
262 263 264 265 266 267 268 | holds its uncertainty as 1 at the level of the last digit. [item] During computations, the uncertainty of each result is internally computed the closest to the reality, thus saving the memory used. [item] When converting back to string, the digits that are printed are not subject to uncertainty. However, some rounding is done, as not doing so causes severe problems. [list_end] | | | | | | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | holds its uncertainty as 1 at the level of the last digit. [item] During computations, the uncertainty of each result is internally computed the closest to the reality, thus saving the memory used. [item] When converting back to string, the digits that are printed are not subject to uncertainty. However, some rounding is done, as not doing so causes severe problems. [list_end] Uncertainties are kept in the internal representation of the number ; it is recommended to use [cmd tostr] only for outputting data (on the screen or in a file), and NEVER call [cmd fromstr] with the result of [cmd tostr]. It is better to always keep operands in their internal representation. Due to the internals of this library, the uncertainty interval may be slightly wider than expected, but this should not cause false digits. [para] Now you may ask this question : What precision am I going to get after calling add, sub, mul or div? First you set a number from the string representation and, by the way, its uncertainty is set: [example_begin] set a [lb]fromstr 1.230[rb] # $a belongs to [lb]1.229, 1.231[rb] set a [lb]fromstr 1.000[rb] # $a belongs to [lb]0.999, 1.001[rb] # $a has a relative uncertainty of 0.1% : 0.001(the uncertainty)/1.000(the medium value) [example_end] The uncertainty of the sum, or the difference, of two numbers, is the sum of their respective uncertainties. [example_begin] set a [lb]fromstr 1.230[rb] set b [lb]fromstr 2.340[rb] set sum [lb]add $a $b[rb][rb] # the result is : [lb]3.568, 3.572[rb] (the last digit is known with an uncertainty of 2) tostr $sum ; # 3.57 [example_end] But when, for example, we add or substract an integer to a BigFloat, the relative uncertainty of the result is unchanged. So it is desirable not to convert integers to BigFloats: [example_begin] set a [lb]fromstr 0.999999999[rb] # now something dangerous set b [lb]fromstr 2.000[rb] # the result has only 3 digits |
︙ | ︙ | |||
333 334 335 336 337 338 339 | [example_begin] puts [lb]tostr [lb]cos [lb]fromstr 0. 10[rb][rb][rb]; # -> 1.000000000 puts [lb]tostr [lb]cos [lb]fromstr 0. 5[rb][rb][rb]; # -> 1.0000 puts [lb]tostr [lb]cos [lb]fromstr 0e-10[rb][rb][rb]; # -> 1.000000000 puts [lb]tostr [lb]cos [lb]fromstr 1e-10[rb][rb][rb]; # -> 1.000000000 [example_end] | | < | 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 | [example_begin] puts [lb]tostr [lb]cos [lb]fromstr 0. 10[rb][rb][rb]; # -> 1.000000000 puts [lb]tostr [lb]cos [lb]fromstr 0. 5[rb][rb][rb]; # -> 1.0000 puts [lb]tostr [lb]cos [lb]fromstr 0e-10[rb][rb][rb]; # -> 1.000000000 puts [lb]tostr [lb]cos [lb]fromstr 1e-10[rb][rb][rb]; # -> 1.000000000 [example_end] BigFloats with different internal representations may be converted to the same string. [para] For most analysis functions (cosine, square root, logarithm, etc.), determining the precision of the result is difficult. It seems however that in many cases, the loss of precision in the result is of one or two digits. There are some exceptions : for example, [example_begin] tostr [lb]exp [lb]fromstr 100.0 10[rb][rb] # returns : 2.688117142e+43 which has only 10 digits of precision, although the entry # has 14 digits of precision. [example_end] [section "WHAT ABOUT TCL 8.4 ?"] If your setup do not provide Tcl 8.5 but supports 8.4, the package can still be loaded, switching back to [emph math::bigfloat] 1.2. Indeed, an important function introduced in Tcl 8.5 is required - the ability to handle bignums, that we can do with [cmd expr]. Before 8.5, this ability was provided by several packages, including the pure-Tcl [emph math::bignum] package provided by [emph tcllib]. |
︙ | ︙ | |||
389 390 391 392 393 394 395 | [example_begin] namespace import ::math::bigfloat::* [example_end] If you matter much about avoiding names conflicts, I considere it should be resolved by the following : [example_begin] package require math::bigfloat | | | 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | [example_begin] namespace import ::math::bigfloat::* [example_end] If you matter much about avoiding names conflicts, I considere it should be resolved by the following : [example_begin] package require math::bigfloat # beware: namespace ensembles are not available in Tcl 8.4 namespace eval ::math::bigfloat {namespace ensemble create -command ::bigfloat} # from now, the bigfloat command takes as subcommands all original math::bigfloat::* commands set a [lb]bigfloat sub [lb]bigfloat fromstr 2.000[rb] [lb]bigfloat fromstr 0.530[rb][rb] puts [lb]bigfloat tostr $a[rb] [example_end] [section "EXAMPLES"] Guess what happens when you are doing some astronomy. Here is an example : |
︙ | ︙ | |||
422 423 424 425 426 427 428 | set opposite3 [lb]deg2rad [lb]degree-angle 51 0 50 500[rb][rb] set sinProduct [lb]mul [lb]sin $angle1[rb] [lb]sin $angle2[rb][rb] set cosProduct [lb]mul [lb]cos $angle1[rb] [lb]cos $angle2[rb][rb] set angle3 [lb]asin [lb]add [lb]mul $sinProduct [lb]cos $opposite3[rb][rb] $cosProduct[rb][rb] puts "angle3 : [lb]tostr [lb]rad2deg $angle3[rb][rb]" [example_end] | < < < < < | < | < < < < < | 423 424 425 426 427 428 429 430 431 432 | set opposite3 [lb]deg2rad [lb]degree-angle 51 0 50 500[rb][rb] set sinProduct [lb]mul [lb]sin $angle1[rb] [lb]sin $angle2[rb][rb] set cosProduct [lb]mul [lb]cos $angle1[rb] [lb]cos $angle2[rb][rb] set angle3 [lb]asin [lb]add [lb]mul $sinProduct [lb]cos $opposite3[rb][rb] $cosProduct[rb][rb] puts "angle3 : [lb]tostr [lb]rad2deg $angle3[rb][rb]" [example_end] [vset CATEGORY {math :: bignum :: float}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/bignum.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::bignum n 3.1] [copyright {2004 Salvatore Sanfilippo <antirez at invece dot org>}] [copyright {2004 Arjen Markus <arjenmarkus at users dot sourceforge dot net>}] [moddesc {Tcl Math Library}] [titledesc {Arbitrary precision integer numbers}] [category Mathematics] [require Tcl [opt 8.4]] [require math::bignum [opt 3.1]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::bignum n 3.1] [keywords bignums] [keywords math] [keywords multiprecision] [keywords tcl] [copyright {2004 Salvatore Sanfilippo <antirez at invece dot org>}] [copyright {2004 Arjen Markus <arjenmarkus at users dot sourceforge dot net>}] [moddesc {Tcl Math Library}] [titledesc {Arbitrary precision integer numbers}] [category Mathematics] [require Tcl [opt 8.4]] [require math::bignum [opt 3.1]] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [para] The bignum interface is opaque, so operations on bignums that are not returned by procedures in this package (but created by hand) may lead to unspecified behaviours. It's safe to treat bignums as pure values, so there is no need to free a bignum, or to duplicate it via a special operation. | < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | [para] The bignum interface is opaque, so operations on bignums that are not returned by procedures in this package (but created by hand) may lead to unspecified behaviours. It's safe to treat bignums as pure values, so there is no need to free a bignum, or to duplicate it via a special operation. [section "EXAMPLES"] This section shows some simple example. This library being just a way to perform math operations, examples may be the simplest way to learn how to work with it. Consult the API section of this man page for information about individual procedures. |
︙ | ︙ | |||
216 217 218 219 220 221 222 | [call [cmd ::math::bignum::bits] [arg bignum]] Return the number of bits needed to represent bignum in radix 2. [list_end] [para] | < < < < < | < | < < < < < | 219 220 221 222 223 224 225 226 227 228 | [call [cmd ::math::bignum::bits] [arg bignum]] Return the number of bits needed to represent bignum in radix 2. [list_end] [para] [vset CATEGORY {math :: bignum}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/calculus.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::calculus n 0.7.1] [copyright {2002,2003,2004 Arjen Markus}] [moddesc {Tcl Math Library}] [titledesc {Integration and ordinary differential equations}] [category Mathematics] [require Tcl 8.4] [require math::calculus 0.7.1] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin math::calculus n 0.7.1] [see_also romberg] [keywords calculus] [keywords {differential equations}] [keywords integration] [keywords math] [keywords roots] [copyright {2002,2003,2004 Arjen Markus}] [moddesc {Tcl Math Library}] [titledesc {Integration and ordinary differential equations}] [category Mathematics] [require Tcl 8.4] [require math::calculus 0.7.1] [description] |
︙ | ︙ | |||
74 75 76 77 78 79 80 | each rectangle, whereas the command [cmd integral2D_accurate] uses a four-point quadrature formula. This results in an exact integration of polynomials of third degree or less. [para] The function must take two arguments and return the function value. | < < | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | each rectangle, whereas the command [cmd integral2D_accurate] uses a four-point quadrature formula. This results in an exact integration of polynomials of third degree or less. [para] The function must take two arguments and return the function value. [call [cmd ::math::calculus::integral3D] [arg xinterval] [arg yinterval] [arg zinterval] [arg func]] [call [cmd ::math::calculus::integral3D_accurate] [arg xinterval] [arg yinterval] [arg zinterval] [arg func]] The commands [cmd integral3D] and [cmd integral3D_accurate] are the three-dimensional equivalent of [cmd integral2D] and [cmd integral3D_accurate]. The function [emph func] takes three arguments and is integrated over the block in 3D space given by three intervals. [call [cmd ::math::calculus::eulerStep] [arg t] [arg tstep] [arg xvec] [arg func]] Set a single step in the numerical integration of a system of differential equations. The method used is Euler's. [list_begin definitions] [def [arg t]] |
︙ | ︙ | |||
104 105 106 107 108 109 110 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] | < | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] [call [cmd ::math::calculus::heunStep] [arg t] [arg tstep] [arg xvec] [arg func]] Set a single step in the numerical integration of a system of differential equations. The method used is Heun's. [list_begin definitions] [def [arg t]] |
︙ | ︙ | |||
128 129 130 131 132 133 134 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] | < | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] [call [cmd ::math::calculus::rungeKuttaStep] [arg t] [arg tstep] [arg xvec] [arg func]] Set a single step in the numerical integration of a system of differential equations. The method used is Runge-Kutta 4th order. [list_begin definitions] [def [arg t]] |
︙ | ︙ | |||
151 152 153 154 155 156 157 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] | < | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | [def [arg func]] Function of t and the dependent values, returning a list of the derivatives of the dependent values. (The lengths of xvec and the return value of "func" must match). [list_end] [para] [call [cmd ::math::calculus::boundaryValueSecondOrder] [arg coeff_func] [arg force_func] [arg leftbnd] [arg rightbnd] [arg nostep]] Solve a second order linear differential equation with boundary values at two sides. The equation has to be of the form (the "conservative" form): [example_begin] d dy d |
︙ | ︙ | |||
205 206 207 208 209 210 211 | interval. The procedure returns a list of x-coordinates and the approximated values of the solution. [list_end] [para] | < < | 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | interval. The procedure returns a list of x-coordinates and the approximated values of the solution. [list_end] [para] [call [cmd ::math::calculus::solveTriDiagonal] [arg acoeff] [arg bcoeff] [arg ccoeff] [arg dvalue]] Solve a system of linear equations Ax = b with A a tridiagonal matrix. Returns the solution as a list. [list_begin definitions] [def [arg acoeff]] List of values on the lower diagonal [def [arg bcoeff]] List of values on the main diagonal [def [arg ccoeff]] List of values on the upper diagonal [def [arg dvalue]] List of values on the righthand-side [list_end] [para] [call [cmd ::math::calculus::newtonRaphson] [arg func] [arg deriv] [arg initval]] Determine the root of an equation given by [example_begin] func(x) = 0 [example_end] using the method of Newton-Raphson. The procedure takes the following |
︙ | ︙ | |||
246 247 248 249 250 251 252 | Procedure that returns the derivative of the function at x [def [arg initval]] Initial value for x [list_end] [para] | < < | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 | Procedure that returns the derivative of the function at x [def [arg initval]] Initial value for x [list_end] [para] [call [cmd ::math::calculus::newtonRaphsonParameters] [arg maxiter] [arg tolerance]] Set the numerical parameters for the Newton-Raphson method: [list_begin definitions] [def [arg maxiter]] Maximum number of iteration steps (defaults to 20) [def [arg tolerance]] Relative precision (defaults to 0.001) [list_end] [call [cmd ::math::calculus::regula_falsi] [arg f] [arg xb] [arg xe] [arg eps]] Return an estimate of the zero or one of the zeros of the function contained in the interval [lb]xb,xe[rb]. The error in this estimate is of the order of eps*abs(xe-xb), the actual error may be slightly larger. |
︙ | ︙ | |||
405 406 407 408 409 410 411 | set decay 0.0001 set length 100.0 set y [lb]::math::calculus::boundaryValueSecondOrder \ coeffs force {0.0 1.0} [lb]list $length 0.0[rb] 100[rb] [example_end] | < < < < < < < | < | < < < < < | 402 403 404 405 406 407 408 409 410 411 | set decay 0.0001 set length 100.0 set y [lb]::math::calculus::boundaryValueSecondOrder \ coeffs force {0.0 1.0} [lb]list $length 0.0[rb] 100[rb] [example_end] [vset CATEGORY {math :: calculus}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/combinatorics.man.
︙ | ︙ | |||
32 33 34 35 36 37 38 | The approximation used in the Tcl Math Library is from Lanczos, [emph {ISIAM J. Numerical Analysis, series B,}] volume 1, p. 86. For "[var x] > 1", the absolute error of the result is claimed to be smaller than 5.5*10**-10 -- that is, the resulting value of Gamma when [example { | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | The approximation used in the Tcl Math Library is from Lanczos, [emph {ISIAM J. Numerical Analysis, series B,}] volume 1, p. 86. For "[var x] > 1", the absolute error of the result is claimed to be smaller than 5.5*10**-10 -- that is, the resulting value of Gamma when [example { exp( ln_Gamma( x) ) }] is computed is expected to be precise to better than nine significant figures. [call [cmd ::math::factorial] [arg x]] |
︙ | ︙ | |||
99 100 101 102 103 104 105 | Results are returned as a floating point number precise to better than nine significant digits provided that [arg w] and [arg z] are both at least 1. [list_end] | < | < < | < < < < < < < | 99 100 101 102 103 104 105 106 107 108 | Results are returned as a floating point number precise to better than nine significant digits provided that [arg w] and [arg z] are both at least 1. [list_end] [vset CATEGORY math] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/constants.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::constants n 1.0.1] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Mathematical and numerical constants}] [category Mathematics] [require Tcl [opt 8.3]] [require math::constants [opt 1.0.1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::constants n 1.0.1] [keywords constants] [keywords degrees] [keywords e] [keywords math] [keywords pi] [keywords radians] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Mathematical and numerical constants}] [category Mathematics] [require Tcl [opt 8.3]] [require math::constants [opt 1.0.1]] |
︙ | ︙ | |||
98 99 100 101 102 103 104 | Print the constants whose names are given as arguments on the screen (name, value and description) or, if no arguments are given, print all defined constants. This is mainly a convenience procedure. [list_end] | < < < < < | < | < < < < < | 104 105 106 107 108 109 110 111 112 113 | Print the constants whose names are given as arguments on the screen (name, value and description) or, if no arguments are given, print all defined constants. This is mainly a convenience procedure. [list_end] [vset CATEGORY {math :: constants}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/decimal.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::decimal n 1.0.2] [copyright {2011 Mark Alston <mark at beernut dot com>}] [moddesc {Tcl Decimal Arithmetic Library}] [titledesc {General decimal arithmetic}] [category Mathematics] [require Tcl [opt 8.5]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::decimal n 1.0.2] [keywords decimal] [keywords math] [keywords tcl] [copyright {2011 Mark Alston <mark at beernut dot com>}] [moddesc {Tcl Decimal Arithmetic Library}] [titledesc {General decimal arithmetic}] [category Mathematics] [require Tcl [opt 8.5]] [description] |
︙ | ︙ | |||
62 63 64 65 66 67 68 | puts [lb]::math::decimal::tostr $c[rb] ; # => will output 8.0 # Why bother using this instead of simply expr? puts [expr {8.2 + .2}] ; # => will output 8.399999999999999 puts [expr {8.2 - .2}] ; # => will output 7.999999999999999 # See http://speleotrove.com/decimal to learn more about why this happens. [example_end] | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | puts [lb]::math::decimal::tostr $c[rb] ; # => will output 8.0 # Why bother using this instead of simply expr? puts [expr {8.2 + .2}] ; # => will output 8.399999999999999 puts [expr {8.2 - .2}] ; # => will output 7.999999999999999 # See http://speleotrove.com/decimal to learn more about why this happens. [example_end] [section "API"] [list_begin definitions] [call [cmd ::math::decimal::fromstr] [arg string]] Convert [emph string] into a decimal. |
︙ | ︙ | |||
187 188 189 190 191 192 193 | [call [cmd ::math::decimal::round_05up] [arg decimal] [arg digits]] Rounds [emph decimal] to [emph digits] number of decimal points with the following rules: Round zero or five away from 0. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down. [list_end] [para] | < | < < | < < < < < < < < | 189 190 191 192 193 194 195 196 197 198 | [call [cmd ::math::decimal::round_05up] [arg decimal] [arg digits]] Rounds [emph decimal] to [emph digits] number of decimal points with the following rules: Round zero or five away from 0. The same as round-up, except that rounding up only occurs if the digit to be rounded up is 0 or 5, and after overflow the result is the same as for round-down. [list_end] [para] [vset CATEGORY decimal] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/fourier.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::fourier n 1.0.2] [moddesc {Tcl Math Library}] [titledesc {Discrete and fast fourier transforms}] [category Mathematics] [require Tcl 8.4] [require math::fourier 1.0.2] [description] [para] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin math::fourier n 1.0.2] [keywords {complex numbers}] [keywords FFT] [keywords {Fourier transform}] [keywords mathematics] [moddesc {Tcl Math Library}] [titledesc {Discrete and fast fourier transforms}] [category Mathematics] [require Tcl 8.4] [require math::fourier 1.0.2] [description] [para] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | [para] The package includes two simple filters. They have an analogue equivalent in a simple electronic circuit, a resistor and a capacitance in series. Using these filters requires the [package math::complexnumbers] package. | < | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | [para] The package includes two simple filters. They have an analogue equivalent in a simple electronic circuit, a resistor and a capacitance in series. Using these filters requires the [package math::complexnumbers] package. [section "PROCEDURES"] The public Fourier transform procedures are: [list_begin definitions] [call [cmd ::math::fourier::dft] [arg in_data]] Determine the [emph "Fourier transform"] of the given list of complex |
︙ | ︙ | |||
122 123 124 125 126 127 128 | [arg_def float cutoff] Cut-off frequency [arg_def list in_data] List of data (amplitudes) [list_end] [para] [list_end] | < < < < < | < | < < < < < | 125 126 127 128 129 130 131 132 133 134 | [arg_def float cutoff] Cut-off frequency [arg_def list in_data] List of data (amplitudes) [list_end] [para] [list_end] [vset CATEGORY {math :: fourier}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/fuzzy.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::fuzzy n 0.2] [moddesc {Tcl Math Library}] [titledesc {Fuzzy comparison of floating-point numbers}] [category Mathematics] [require Tcl [opt 8.3]] [require math::fuzzy [opt 0.2]] [description] [para] | > > > | 1 2 3 4 5 6 7 8 9 10 11 | [manpage_begin math::fuzzy n 0.2] [keywords floating-point] [keywords math] [keywords rounding] [moddesc {Tcl Math Library}] [titledesc {Fuzzy comparison of floating-point numbers}] [category Mathematics] [require Tcl [opt 8.3]] [require math::fuzzy [opt 0.2]] [description] [para] |
︙ | ︙ | |||
121 122 123 124 125 126 127 | APL QUOTE QUAD 8(3):16-23, March 1978. [para] D. Knuth, Art of Computer Programming, Vol. 1, Problem 1.2.4-5. | < < < < < | < | < < < < < | 124 125 126 127 128 129 130 131 132 133 | APL QUOTE QUAD 8(3):16-23, March 1978. [para] D. Knuth, Art of Computer Programming, Vol. 1, Problem 1.2.4-5. [vset CATEGORY {math :: fuzzy}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/interpolate.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::interpolate n 1.0.2] [copyright {2004 Arjen Markus <[email protected]>}] [copyright {2004 Kevn B. Kenny <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Interpolation routines}] [category Mathematics] [require Tcl [opt 8.4]] [require struct] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::interpolate n 1.0.2] [keywords interpolation] [keywords math] [keywords {spatial interpolation}] [copyright {2004 Arjen Markus <[email protected]>}] [copyright {2004 Kevn B. Kenny <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Interpolation routines}] [category Mathematics] [require Tcl [opt 8.4]] [require struct] |
︙ | ︙ | |||
66 67 68 69 70 71 72 | [para] The values must be sorted with respect to the independent variable(s). [list_end] [para] | < < < < | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | [para] The values must be sorted with respect to the independent variable(s). [list_end] [para] [call [cmd ::math::interpolate::interp-1d-table] [arg name] [arg xval]] Interpolate into the one-dimensional table "name" and return a list of values, one for each dependent column. [list_begin arguments] [arg_def string name in] Name of an existing table [arg_def float xval in] Value of the independent [emph row] variable [list_end] [para] [call [cmd ::math::interpolate::interp-table] [arg name] [arg xval] [arg yval]] Interpolate into the two-dimensional table "name" and return the interpolated value. [list_begin arguments] [arg_def string name in] Name of an existing table [arg_def float xval in] Value of the independent [emph row] variable [arg_def float yval in] Value of the independent [emph column] variable [list_end] [para] [call [cmd ::math::interpolate::interp-linear] [arg xyvalues] [arg xval]] Interpolate linearly into the list of x,y pairs and return the interpolated value. [list_begin arguments] [arg_def list xyvalues in] List of pairs of (x,y) values, sorted to increasing x. They are used as the breakpoints of a piecewise linear function. [arg_def float xval in] Value of the independent variable for which the value of y must be computed. [list_end] [para] [call [cmd ::math::interpolate::interp-lagrange] [arg xyvalues] [arg xval]] Use the list of x,y pairs to construct the unique polynomial of lowest degree that passes through all points and return the interpolated value. [list_begin arguments] |
︙ | ︙ | |||
164 165 166 167 168 169 170 | [arg_def float x] x-coordinate at which to estimate the function. Must be between the first and last x-coordinate for which values were given. [list_end] [para] | < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | [arg_def float x] x-coordinate at which to estimate the function. Must be between the first and last x-coordinate for which values were given. [list_end] [para] [call [cmd ::math::interpolate::interp-spatial] [arg xyvalues] [arg coord]] Use a straightforward interpolation method with weights as function of the inverse distance to interpolate in 2D and N-dimensional space [para] The list xyvalues is a list of lists: |
︙ | ︙ | |||
194 195 196 197 198 199 200 | [arg_def list coord in] List of coordinates for which the values must be calculated [list_end] [para] | < | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 | [arg_def list coord in] List of coordinates for which the values must be calculated [list_end] [para] [call [cmd ::math::interpolate::interp-spatial-params] [arg max_search] [arg power]] Set the parameters for spatial interpolation [list_begin arguments] [arg_def float max_search in] Search radius (data points further than this are ignored) |
︙ | ︙ | |||
220 221 222 223 224 225 226 | of the absolute error of the result. Neville's algorithm for polynomial interpolation is used. Note that a large table of values will use an interpolating polynomial of high degree, which is likely to result in numerical instabilities; one is better off using only a few tabulated values near the desired abscissa. [list_end] | < | 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | of the absolute error of the result. Neville's algorithm for polynomial interpolation is used. Note that a large table of values will use an interpolating polynomial of high degree, which is likely to result in numerical instabilities; one is better off using only a few tabulated values near the desired abscissa. [list_end] [section EXAMPLES] [emph TODO] Example of using the cubic splines: [para] Suppose the following values are given: |
︙ | ︙ | |||
260 261 262 263 264 265 266 | 0.7: 5.41804227941 0.8: 4.11 0.9: 3.95675857843 1.0: 4.12 }] As you can see, the values at the abscissae are reproduced perfectly. | < < < < < < | < | < < < < < | 256 257 258 259 260 261 262 263 264 265 | 0.7: 5.41804227941 0.8: 4.11 0.9: 3.95675857843 1.0: 4.12 }] As you can see, the values at the abscissae are reproduced perfectly. [vset CATEGORY {math :: interpolate}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/linalg.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::linearalgebra n 1.1] [copyright {2004-2008 Arjen Markus <[email protected]>}] [copyright {2004 Ed Hume <http://www.hume.com/contact.us.htm>}] [copyright {2008 Michael Buadin <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Linear Algebra}] [category Mathematics] [require Tcl [opt 8.4]] [require math::linearalgebra [opt 1.1]] | > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::linearalgebra n 1.1] [keywords {least squares}] [keywords {linear algebra}] [keywords {linear equations}] [keywords math] [keywords matrices] [keywords matrix] [keywords vectors] [copyright {2004-2008 Arjen Markus <[email protected]>}] [copyright {2004 Ed Hume <http://www.hume.com/contact.us.htm>}] [copyright {2008 Michael Buadin <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Linear Algebra}] [category Mathematics] [require Tcl [opt 8.4]] [require math::linearalgebra [opt 1.1]] [description] [para] This package offers both low-level procedures and high-level algorithms to deal with linear algebra problems: [list_begin itemized] [item] |
︙ | ︙ | |||
45 46 47 48 49 50 51 | be a naming conflict, as both this package and Tk define a command [emph scale]. See the [sectref "NAMING CONFLICT"] section below. [section "PROCEDURES"] The package defines the following public procedures (several exist as specialised procedures, see below): | < < | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | be a naming conflict, as both this package and Tk define a command [emph scale]. See the [sectref "NAMING CONFLICT"] section below. [section "PROCEDURES"] The package defines the following public procedures (several exist as specialised procedures, see below): [para] [emph "Constructing matrices and vectors"] [list_begin definitions] [call [cmd ::math::linearalgebra::mkVector] [arg ndim] [arg value]] |
︙ | ︙ | |||
188 189 190 191 192 193 194 | [arg_def integer irow2] Index of second column [arg_def integer imin] Minimum row index (default: 0) [arg_def integer imin] Maximum row index (default: nrows-1) [list_end] [list_end] | < < | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 | [arg_def integer irow2] Index of second column [arg_def integer imin] Minimum row index (default: 0) [arg_def integer imin] Maximum row index (default: nrows-1) [list_end] [list_end] [para] [emph "Querying matrices and vectors"] [list_begin definitions] [call [cmd ::math::linearalgebra::show] [arg obj] [opt format] [opt rowsep] [opt colsep]] |
︙ | ︙ | |||
268 269 270 271 272 273 274 | [list_begin arguments] [arg_def list matrix] Matrix to be inspected [arg_def float eps] Tolerance for determining approximate equality (defaults to 1.0e-8) [list_end] [list_end] | < < | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | [list_begin arguments] [arg_def list matrix] Matrix to be inspected [arg_def float eps] Tolerance for determining approximate equality (defaults to 1.0e-8) [list_end] [list_end] [para] [emph "Basic operations"] [list_begin definitions] [call [cmd ::math::linearalgebra::norm] [arg vector] [arg type]] |
︙ | ︙ | |||
487 488 489 490 491 492 493 | [list_begin arguments] [arg_def list mv1] First vector/matrix (x) [arg_def list mv2] Second vector/matrix (y) [list_end] [list_end] | < < | 486 487 488 489 490 491 492 493 494 495 496 497 498 499 | [list_begin arguments] [arg_def list mv1] First vector/matrix (x) [arg_def list mv2] Second vector/matrix (y) [list_end] [list_end] [para] [emph "Common matrices and test matrices"] [list_begin definitions] [call [cmd ::math::linearalgebra::mkIdentity] [arg size]] |
︙ | ︙ | |||
623 624 625 626 627 628 629 | is odd. [list_begin arguments] [arg_def integer size] Dimension of the matrix [list_end] [list_end] | < < | 620 621 622 623 624 625 626 627 628 629 630 631 632 633 | is odd. [list_begin arguments] [arg_def integer size] Dimension of the matrix [list_end] [list_end] [para] [emph "Common algorithms"] [list_begin definitions] [call [cmd ::math::linearalgebra::solveGauss] [arg matrix] [arg bvect]] |
︙ | ︙ | |||
850 851 852 853 854 855 856 | [arg_def list matrix] Square matrix (matrix A) [arg_def double tolerance] The relative tolerance of the eigenvalue (default:1.e-8). [arg_def integer maxiter] The maximum number of iterations (default:10). [list_end] [list_end] | < | 845 846 847 848 849 850 851 852 853 854 855 856 857 858 | [arg_def list matrix] Square matrix (matrix A) [arg_def double tolerance] The relative tolerance of the eigenvalue (default:1.e-8). [arg_def integer maxiter] The maximum number of iterations (default:10). [list_end] [list_end] [para] [emph "Compability with the LA package"] Two procedures are provided for compatibility with Hume's LA package: [list_begin definitions] |
︙ | ︙ | |||
876 877 878 879 880 881 882 | Transforms a vector or matrix from the format used by the original LA package into the format used by the present implementation. [list_begin arguments] [arg_def list mv] Matrix or vector as used by the LA package [list_end] | < < | 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 | Transforms a vector or matrix from the format used by the original LA package into the format used by the present implementation. [list_begin arguments] [arg_def list mv] Matrix or vector as used by the LA package [list_end] [list_end] [para] [section "STORAGE"] While most procedures assume that the matrices are given in full form, the procedures [emph solveGaussBand] and [emph solveTriangularBand] assume that the matrices are stored as [emph "band matrices"]. This common type of "sparse" matrices is related to ordinary matrices as |
︙ | ︙ | |||
966 967 968 969 970 971 972 | [example { namespace eval compute { rename ::scale scaleTk scaleTk .scale ... } }] | < < < < < | < | < < < | 958 959 960 961 962 963 964 965 966 967 | [example { namespace eval compute { rename ::scale scaleTk scaleTk .scale ... } }] [vset CATEGORY {math :: linearalgebra}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/machineparameters.man.
︙ | ︙ | |||
180 181 182 183 184 185 186 187 | [call [arg objectname] [method print]] Print machine parameters on standard output. [list_end] [manpage_end] | > > | 180 181 182 183 184 185 186 187 188 189 | [call [arg objectname] [method print]] Print machine parameters on standard output. [list_end] [vset CATEGORY math] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/math.man.
1 2 3 4 5 6 7 8 | [manpage_begin math n 1.2.5] [comment {-*- tcl -*- doctools manpage}] [moddesc {Tcl Math Library}] [titledesc {Tcl Math Library}] [category Mathematics] [require Tcl 8.2] [require math [opt 1.2.5]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin math n 1.2.5] [keywords math] [keywords statistics] [comment {-*- tcl -*- doctools manpage}] [moddesc {Tcl Math Library}] [titledesc {Tcl Math Library}] [category Mathematics] [require Tcl 8.2] [require math [opt 1.2.5]] [description] |
︙ | ︙ | |||
65 66 67 68 69 70 71 | [list_begin definitions] [call [cmd ::math::cov] [arg value] [arg value] [opt [arg {value ...}]]] Return the coefficient of variation expressed as percent of two or more numeric values. | < < < < < < < < < < < | < < | < < < < < < < < | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | [list_begin definitions] [call [cmd ::math::cov] [arg value] [arg value] [opt [arg {value ...}]]] Return the coefficient of variation expressed as percent of two or more numeric values. [call [cmd ::math::integrate] [arg {list of xy value pairs}]] Return the area under a "curve" defined by a set of x,y pairs and the error bound as a list. [call [cmd ::math::fibonacci] [arg n]] Return the [arg n]'th Fibonacci number. [call [cmd ::math::max] [arg value] [opt [arg {value ...}]]] Return the maximum of one or more numeric values. [call [cmd ::math::mean] [arg value] [opt [arg {value ...}]]] Return the mean, or "average" of one or more numeric values. [call [cmd ::math::min] [arg value] [opt [arg {value ...}]]] Return the minimum of one or more numeric values. [call [cmd ::math::product] [arg value] [opt [arg {value ...}]]] Return the product of one or more numeric values. [call [cmd ::math::random] [opt [arg value1]] [opt [arg value2]]] Return a random number. If no arguments are given, the number is a floating point value between 0 and 1. If one argument is given, the number is an integer value between 0 and [arg value1]. If two arguments are given, the number is an integer value between [arg value1] and [arg value2]. [call [cmd ::math::sigma] [arg value] [arg value] [opt [arg {value ...}]]] Return the population standard deviation of two or more numeric values. [call [cmd ::math::stats] [arg value] [arg value] [opt [arg {value ...}]]] Return the mean, standard deviation, and coefficient of variation (as percent) as a list. [call [cmd ::math::sum] [arg value] [opt [arg {value ...}]]] Return the sum of one or more numeric values. [list_end] [vset CATEGORY math] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/math_geometry.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::geometry n 1.1.2] [copyright {2001 by Ideogramic ApS and other parties}] [copyright {2004 by Arjen Markus}] [copyright {2010 by Andreas Kupries}] [copyright {2010 by Kevin Kenny}] [moddesc {Tcl Math Library}] [titledesc {Geometrical computations}] [category Mathematics] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::geometry n 1.1.2] [keywords angle] [keywords distance] [keywords line] [keywords math] [keywords {plane geometry}] [keywords point] [copyright {2001 by Ideogramic ApS and other parties}] [copyright {2004 by Arjen Markus}] [copyright {2010 by Andreas Kupries}] [copyright {2010 by Kevin Kenny}] [moddesc {Tcl Math Library}] [titledesc {Geometrical computations}] [category Mathematics] |
︙ | ︙ | |||
55 56 57 58 59 60 61 | [item] [emph "point set"] - again a list of an even number of coordinates, but the points are regarded without any ordering. [list_end] | < | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | [item] [emph "point set"] - again a list of an even number of coordinates, but the points are regarded without any ordering. [list_end] [section "PROCEDURES"] The package defines the following public procedures: [list_begin definitions] [call [cmd ::math::geometry::+] [arg point1] [arg point2]] |
︙ | ︙ | |||
91 92 93 94 95 96 97 | }] [call [cmd ::math::geometry::length] [arg point]] Compute the length of the vector and return it as the result of the command. | < < < < | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | }] [call [cmd ::math::geometry::length] [arg point]] Compute the length of the vector and return it as the result of the command. [call [cmd ::math::geometry::s*] [arg factor] [arg point]] Scale the vector by the factor and return it as the result of the command. This is a vector as well. [call [cmd ::math::geometry::direction] [arg angle]] Given the angle in degrees this command computes and returns the unit vector pointing into this direction. The vector for angle == 0 points to the right (up), and for angle == 90 up (north). [call [cmd ::math::geometry::h] [arg length]] Returns a horizontal vector on the X-axis of the specified length. Positive lengths point to the right (east). [call [cmd ::math::geometry::v] [arg length]] Returns a vertical vector on the Y-axis of the specified length. Positive lengths point down (south). [call [cmd ::math::geometry::between] [arg point1] [arg point2] [arg s]] Compute the point which is at relative distance [arg s] between the two points and return it as the result of the command. A relative distance of [const 0] returns [arg point1], the distance [const 1] returns [arg point2]. Distances < 0 or > 1 extrapolate along the line between the two point. [call [cmd ::math::geometry::octant] [arg point]] Compute the octant of the circle the point is in and return it as the result of the command. The possible results are [list_begin enum] [enum] east [enum] northeast [enum] north [enum] northwest [enum] west [enum] southwest [enum] south [enum] southeast [list_end] Each octant is the arc of the circle +/- 22.5 degrees from the cardinal direction the octant is named for. [call [cmd ::math::geometry::rect] [arg nw] [arg se]] Construct a rectangle from its northwest and southeast corners and return it as the result of the command. [call [cmd ::math::geometry::nwse] [arg rect]] |
︙ | ︙ | |||
430 431 432 433 434 435 436 | [list_begin enumerated] [enum] [uri http:/wiki.tcl.tk/12070 {Polygon Intersection}] [enum] [uri http://en.wikipedia.org/wiki/Line-line_intersection] [enum] [uri http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/] [list_end] | < < < < < | < | < < < < < | 431 432 433 434 435 436 437 438 439 440 | [list_begin enumerated] [enum] [uri http:/wiki.tcl.tk/12070 {Polygon Intersection}] [enum] [uri http://en.wikipedia.org/wiki/Line-line_intersection] [enum] [uri http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/] [list_end] [vset CATEGORY {math :: geometry}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/numtheory.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::numtheory n 1.0] [copyright "2010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Tcl Math Library}] [titledesc {Number Theory}] [category Mathematics] [require Tcl [opt 8.5]] [require math::numtheory [opt 1.0]] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin math::numtheory n 1.0] [keywords {number theory}] [keywords prime] [copyright "2010 Lars Hellstr\u00F6m\ <Lars dot Hellstrom at residenset dot net>"] [moddesc {Tcl Math Library}] [titledesc {Number Theory}] [category Mathematics] [require Tcl [opt 8.5]] [require math::numtheory [opt 1.0]] |
︙ | ︙ | |||
45 46 47 48 49 50 51 | probability of a false positive by a factor at least 4. The default for [arg repetitions] is 4. [list_end] Unknown options are silently ignored. [list_end] | | > | 47 48 49 50 51 52 53 54 55 56 | probability of a false positive by a factor at least 4. The default for [arg repetitions] is 4. [list_end] Unknown options are silently ignored. [list_end] [vset CATEGORY {math :: numtheory}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/optimize.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::optimize n 1.0] [copyright {2004 Arjen Markus <[email protected]>}] [copyright {2004,2005 Kevn B. Kenny <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Optimisation routines}] [category Mathematics] [require Tcl 8.4] [require math::optimize [opt 1.0]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::optimize n 1.0] [keywords {linear program}] [keywords math] [keywords maximum] [keywords minimum] [keywords optimization] [copyright {2004 Arjen Markus <[email protected]>}] [copyright {2004,2005 Kevn B. Kenny <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Optimisation routines}] [category Mathematics] [require Tcl 8.4] [require math::optimize [opt 1.0]] |
︙ | ︙ | |||
163 164 165 166 167 168 169 | Convenience function to return the maximum for the solution found by the solveLinearProgram procedure. [para] [arg objective] - The M coefficients of the objective function [para] [arg result] - The result as returned by solveLinearProgram | < | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | Convenience function to return the maximum for the solution found by the solveLinearProgram procedure. [para] [arg objective] - The M coefficients of the objective function [para] [arg result] - The result as returned by solveLinearProgram [call [cmd ::math::optimize::nelderMead] [arg objective] [arg xVector] [opt "[option -scale] [arg xScaleVector]"] [opt "[option -ftol] [arg epsilon]"] [opt "[option -maxiter] [arg count]"] [opt "[opt -trace] [arg flag]"]] Minimizes, in unconstrained fashion, a function of several variable over all of space. The function to evaluate, [arg objective], must be a single Tcl command. To it will be appended as many elements as appear in the initial guess at the location of the minimum, passed in as a Tcl list, [arg xVector]. [para] |
︙ | ︙ | |||
312 313 314 315 316 317 318 | }] [para] The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one. | < < < < < | < | < < < < < | 316 317 318 319 320 321 322 323 324 325 | }] [para] The theory of linear programming is the subject of many a text book and the Simplex algorithm that is implemented here is the best-known method to solve this type of problems, but it is not the only one. [vset CATEGORY {math :: optimize}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/polynomials.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::polynomials n 1.0.1] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Polynomial functions}] [category Mathematics] [require Tcl [opt 8.3]] [require math::polynomials [opt 1.0.1]] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::polynomials n 1.0.1] [keywords math] [keywords {polynomial functions}] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Polynomial functions}] [category Mathematics] [require Tcl [opt 8.3]] [require math::polynomials [opt 1.0.1]] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | [arg_def float x] The coordinate at which to evaluate the polynomial [list_end] [para] | < < < < < < < < < < < < < < < < < | < | < < < < < | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | [arg_def float x] The coordinate at which to evaluate the polynomial [list_end] [para] [call [cmd ::math::polynomials::addPolyn] [arg polyn1] [arg polyn2]] Return a new polynomial which is the sum of the two others. [list_begin arguments] [arg_def list polyn1] The first polynomial operand [arg_def list polyn2] The second polynomial operand [list_end] [para] [call [cmd ::math::polynomials::subPolyn] [arg polyn1] [arg polyn2]] Return a new polynomial which is the difference of the two others. [list_begin arguments] [arg_def list polyn1] The first polynomial operand [arg_def list polyn2] The second polynomial operand [list_end] [para] [call [cmd ::math::polynomials::multPolyn] [arg polyn1] [arg polyn2]] Return a new polynomial which is the product of the two others. If one of the arguments is a scalar value, the other polynomial is simply scaled. [list_begin arguments] [arg_def list polyn1] The first polynomial operand or a scalar [arg_def list polyn2] The second polynomial operand or a scalar [list_end] [para] [call [cmd ::math::polynomials::divPolyn] [arg polyn1] [arg polyn2]] Divide the first polynomial by the second polynomial and return the result. The remainder is dropped [list_begin arguments] [arg_def list polyn1] The first polynomial operand [arg_def list polyn2] The second polynomial operand [list_end] [para] [call [cmd ::math::polynomials::remainderPolyn] [arg polyn1] [arg polyn2]] Divide the first polynomial by the second polynomial and return the remainder. [list_begin arguments] [arg_def list polyn1] The first polynomial operand [arg_def list polyn2] The second polynomial operand [list_end] [para] [call [cmd ::math::polynomials::derivPolyn] [arg polyn]] Differentiate the polynomial and return the result. [list_begin arguments] [arg_def list polyn] The polynomial to be differentiated [list_end] [para] [call [cmd ::math::polynomials::primitivePolyn] [arg polyn]] Integrate the polynomial and return the result. The integration constant is set to zero. [list_begin arguments] [arg_def list polyn] The polynomial to be integrated [list_end] [para] [call [cmd ::math::polynomials::degreePolyn] [arg polyn]] Return the degree of the polynomial. [list_begin arguments] [arg_def list polyn] The polynomial to be examined [list_end] [para] [call [cmd ::math::polynomials::coeffPolyn] [arg polyn] [arg index]] Return the coefficient of the term of the index'th degree of the polynomial. [list_begin arguments] [arg_def list polyn] The polynomial to be examined [arg_def int index] The degree of the term [list_end] [para] [call [cmd ::math::polynomials::allCoeffsPolyn] [arg polyn]] Return the coefficients of the polynomial (in ascending order). [list_begin arguments] [arg_def list polyn] The polynomial in question [list_end] [list_end] [section "REMARKS ON THE IMPLEMENTATION"] The implementation for evaluating the polynomials at some point uses Horn's rule, which guarantees numerical stability and a minimum of arithmetic operations. To recognise that a polynomial definition is indeed a correct definition, it consists of a list of two elements: the keyword "POLYNOMIAL" and the list of coefficients in descending order. The latter makes it easier to implement Horner's rule. [vset CATEGORY {math :: polynomials}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/qcomplex.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::complexnumbers n 1.0.2] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Straightforward complex number package}] [category Mathematics] [require Tcl 8.3] [require math::complexnumbers [opt 1.0.2]] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::complexnumbers n 1.0.2] [keywords {complex numbers}] [keywords math] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Straightforward complex number package}] [category Mathematics] [require Tcl 8.3] [require math::complexnumbers [opt 1.0.2]] |
︙ | ︙ | |||
291 292 293 294 295 296 297 | [arg_def complex z2 in] The complex power to be used [list_end] [list_end] | < < < < < < | < | < < < < < | 293 294 295 296 297 298 299 300 301 302 | [arg_def complex z2 in] The complex power to be used [list_end] [list_end] [vset CATEGORY {math :: complexnumbers}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/rational_funcs.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::rationalfunctions n 1.0.1] [copyright {2005 Arjen Markus <[email protected]>}] [moddesc {Math}] [titledesc {Polynomial functions}] [category Mathematics] [require Tcl [opt 8.4]] [require math::rationalfunctions [opt 1.0.1]] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::rationalfunctions n 1.0.1] [keywords math] [keywords {rational functions}] [copyright {2005 Arjen Markus <[email protected]>}] [moddesc {Math}] [titledesc {Polynomial functions}] [category Mathematics] [require Tcl [opt 8.4]] [require math::rationalfunctions [opt 1.0.1]] |
︙ | ︙ | |||
79 80 81 82 83 84 85 | [arg_def float x] The coordinate at which to evaluate the function [list_end] [para] | < < < < < < < < < < < < < | < | < < < < < | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | [arg_def float x] The coordinate at which to evaluate the function [list_end] [para] [call [cmd ::math::rationalfunctions::addRatio] [arg ratio1] [arg ratio2]] Return a new rational function which is the sum of the two others. [list_begin arguments] [arg_def list ratio1] The first rational function operand [arg_def list ratio2] The second rational function operand [list_end] [para] [call [cmd ::math::rationalfunctions::subRatio] [arg ratio1] [arg ratio2]] Return a new rational function which is the difference of the two others. [list_begin arguments] [arg_def list ratio1] The first rational function operand [arg_def list ratio2] The second rational function operand [list_end] [para] [call [cmd ::math::rationalfunctions::multRatio] [arg ratio1] [arg ratio2]] Return a new rational function which is the product of the two others. If one of the arguments is a scalar value, the other rational function is simply scaled. [list_begin arguments] [arg_def list ratio1] The first rational function operand or a scalar [arg_def list ratio2] The second rational function operand or a scalar [list_end] [para] [call [cmd ::math::rationalfunctions::divRatio] [arg ratio1] [arg ratio2]] Divide the first rational function by the second rational function and return the result. The remainder is dropped [list_begin arguments] [arg_def list ratio1] The first rational function operand [arg_def list ratio2] The second rational function operand [list_end] [para] [call [cmd ::math::rationalfunctions::derivPolyn] [arg ratio]] Differentiate the rational function and return the result. [list_begin arguments] [arg_def list ratio] The rational function to be differentiated [list_end] [para] [call [cmd ::math::rationalfunctions::coeffsNumerator] [arg ratio]] Return the coefficients of the numerator of the rational function. [list_begin arguments] [arg_def list ratio] The rational function to be examined [list_end] [para] [call [cmd ::math::rationalfunctions::coeffsDenominator] [arg ratio]] Return the coefficients of the denominator of the rational function. [list_begin arguments] [arg_def list ratio] The rational function to be examined [list_end] [para] [list_end] [section "REMARKS ON THE IMPLEMENTATION"] The implementation of the rational functions relies on the math::polynomials package. For further remarks see the documentation on that package. [vset CATEGORY {math :: rationalfunctions}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/roman.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::roman "" 1.0] [copyright {2005 Kenneth Green <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Tools for creating and manipulating roman numerals}] [category Mathematics] [require Tcl 8.3] [require math::roman [opt 1.0]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::roman "" 1.0] [keywords conversion] [keywords integer] [keywords {roman numeral}] [copyright {2005 Kenneth Green <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Tools for creating and manipulating roman numerals}] [category Mathematics] [require Tcl 8.3] [require math::roman [opt 1.0]] [description] |
︙ | ︙ | |||
39 40 41 42 43 44 45 | [list_end] Of these commands both [emph toroman] and [emph tointeger] are exported for easier use. The other two are not, as they could interfer or be confused with existing Tcl commands. | < < < < < | < | < < < < < | 42 43 44 45 46 47 48 49 50 51 | [list_end] Of these commands both [emph toroman] and [emph tointeger] are exported for easier use. The other two are not, as they could interfer or be confused with existing Tcl commands. [vset CATEGORY {math :: roman}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/romberg.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::calculus::romberg n 0.6] [copyright "2004 Kevin B. Kenny <[email protected]>. All rights\ reserved. Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc {Tcl Math Library}] [titledesc {Romberg integration}] [category Mathematics] [require Tcl 8.2] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin math::calculus::romberg n 0.6] [see_also math::calculus] [see_also math::interpolate] [copyright "2004 Kevin B. Kenny <[email protected]>. All rights\ reserved. Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc {Tcl Math Library}] [titledesc {Romberg integration}] [category Mathematics] [require Tcl 8.2] |
︙ | ︙ | |||
329 330 331 332 333 334 335 | [example { foreach { value error } [romberg_sine f -1.0 1.0] break puts [format "integral is %.6g +/- %.6g" $value $error] integral is 3.97746 +/- 2.3557e-010 }] | < < < < < < | < | < < < < < < | 331 332 333 334 335 336 337 338 339 340 | [example { foreach { value error } [romberg_sine f -1.0 1.0] break puts [format "integral is %.6g +/- %.6g" $value $error] integral is 3.97746 +/- 2.3557e-010 }] [vset CATEGORY {math :: calculus}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/special.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::special n 0.2] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Special mathematical functions}] [category Mathematics] [require Tcl [opt 8.3]] [require math::special [opt 0.2]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin math::special n 0.2] [keywords {Bessel functions}] [keywords {error function}] [keywords math] [keywords {special functions}] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Math Library}] [titledesc {Special mathematical functions}] [category Mathematics] [require Tcl [opt 8.3]] [require math::special [opt 0.2]] |
︙ | ︙ | |||
49 50 51 52 53 54 55 | exponent_Ei and other functions related to the so-called exponential integrals [item] legendre, hermite: some of the classical orthogonal polynomials. [list_end] | < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | exponent_Ei and other functions related to the so-called exponential integrals [item] legendre, hermite: some of the classical orthogonal polynomials. [list_end] [section OVERVIEW] In the following table several characteristics of the functions in this package are summarized: the domain for the argument, the values for the parameters and error bounds. |
︙ | ︙ | |||
117 118 119 120 121 122 123 | [item] Chebyshev polynomials of the second kind (U_n) [item] The digamma function (psi) [item] The incomplete gamma and beta functions [list_end] | < | 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | [item] Chebyshev polynomials of the second kind (U_n) [item] The digamma function (psi) [item] The incomplete gamma and beta functions [list_end] [section "PROCEDURES"] The package defines the following public procedures: [list_begin definitions] |
︙ | ︙ | |||
330 331 332 333 334 335 336 | Compute the hyperbolic sine integral for the argument "x" [list_begin arguments] [arg_def float x] Argument for the function (x > 0) [list_end] | < < < < < < < < < | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | Compute the hyperbolic sine integral for the argument "x" [list_begin arguments] [arg_def float x] Argument for the function (x > 0) [list_end] [call [cmd ::math::special::fresnel_C] [arg x]] Compute the Fresnel cosine integral for real argument x [list_begin arguments] [arg_def float x] Argument for the function [list_end] [call [cmd ::math::special::fresnel_S] [arg x]] Compute the Fresnel sine integral for real argument x [list_begin arguments] [arg_def float x] Argument for the function [list_end] [call [cmd ::math::special::sinc] [arg x]] Compute the sinc function for real argument x [list_begin arguments] [arg_def float x] Argument for the function [list_end] [call [cmd ::math::special::legendre] [arg n]] Return the Legendre polynomial of degree n (see [sectref "THE ORTHOGONAL POLYNOMIALS"]) [list_begin arguments] [arg_def int n] Degree of the polynomial [list_end] [para] [call [cmd ::math::special::chebyshev] [arg n]] Return the Chebyshev polynomial of degree n (of the first kind) [list_begin arguments] [arg_def int n] Degree of the polynomial [list_end] [para] [call [cmd ::math::special::laguerre] [arg alpha] [arg n]] Return the Laguerre polynomial of degree n with parameter alpha [list_begin arguments] [arg_def float alpha] Parameter of the Laguerre polynomial [arg_def int n] Degree of the polynomial [list_end] [para] [call [cmd ::math::special::hermite] [arg n]] Return the Hermite polynomial of degree n [list_begin arguments] [arg_def int n] Degree of the polynomial [list_end] [para] [list_end] [section "THE ORTHOGONAL POLYNOMIALS"] For dealing with the classical families of orthogonal polynomials, the package relies on the [emph math::polynomials] package. To evaluate the polynomial at some coordinate, use the [emph evalPolyn] command: [example { set leg2 [::math::special::legendre 2] puts "Value at x=$x: [::math::polynomials::evalPolyn $leg2 $x]" }] [para] The return value from the [emph legendre] and other commands is actually the definition of the corresponding polynomial as used in that package. [section "REMARKS ON THE IMPLEMENTATION"] It should be noted, that the actual implementation of J0 and J1 depends on straightforward Gaussian quadrature formulas. The (absolute) accuracy of the results is of the order 1.0e-4 or better. The main reason to implement them like that was that it was fast to do (the formulas are |
︙ | ︙ | |||
456 457 458 459 460 461 462 | [para] Much information about these functions can be found in: [para] Abramowitz and Stegun: [emph "Handbook of Mathematical Functions"] (Dover, ISBN 486-61272-4) | < < < < < < | < | < < < < < | 449 450 451 452 453 454 455 456 457 458 | [para] Much information about these functions can be found in: [para] Abramowitz and Stegun: [emph "Handbook of Mathematical Functions"] (Dover, ISBN 486-61272-4) [vset CATEGORY {math :: special}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/statistics.man.
1 2 3 4 5 6 7 8 | [manpage_begin math::statistics n 0.8] [moddesc {Tcl Math Library}] [titledesc {Basic statistical functions and procedures}] [category Mathematics] [require Tcl 8.4] [require math::statistics 0.8] [description] [para] | > > > | 1 2 3 4 5 6 7 8 9 10 11 | [manpage_begin math::statistics n 0.8] [keywords {data analysis}] [keywords mathematics] [keywords statistics] [moddesc {Tcl Math Library}] [titledesc {Basic statistical functions and procedures}] [category Mathematics] [require Tcl 8.4] [require math::statistics 0.8] [description] [para] |
︙ | ︙ | |||
53 54 55 56 57 58 59 | Determine the [term mean] value of the given list of data. [list_begin arguments] [arg_def list data] - List of data [list_end] [para] | < < < < < < < < < < < < < < | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | Determine the [term mean] value of the given list of data. [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::min] [arg data]] Determine the [term minimum] value of the given list of data. [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::max] [arg data]] Determine the [term maximum] value of the given list of data. [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::number] [arg data]] Determine the [term number] of non-missing data in the given list [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::stdev] [arg data]] Determine the [term "sample standard deviation"] of the data in the given list [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::var] [arg data]] Determine the [term "sample variance"] of the data in the given list [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::pstdev] [arg data]] Determine the [term "population standard deviation"] of the data in the given list [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::pvar] [arg data]] Determine the [term "population variance"] of the data in the given list [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::median] [arg data]] Determine the [term median] of the data in the given list (Note that this requires sorting the data, which may be a costly operation) [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::basic-stats] [arg data]] Determine a list of all the descriptive parameters: mean, minimum, maximum, number of data, sample standard deviation, sample variance, population standard deviation and population variance. [para] (This routine is called whenever either or all of the basic statistical parameters are required. Hence all calculations are done and the relevant values are returned.) [list_begin arguments] [arg_def list data] - List of data [list_end] [para] [call [cmd ::math::statistics::histogram] [arg limits] [arg values]] Determine histogram information for the given list of data. Returns a list consisting of the number of values that fall into each interval. (The first interval consists of all values lower than the first limit, the last interval consists of all values greater than the last limit. There is one more interval than there are limits.) [list_begin arguments] [arg_def list limits] - List of upper limits (in ascending order) for the intervals of the histogram. [arg_def list values] - List of data [list_end] [para] [call [cmd ::math::statistics::corr] [arg data1] [arg data2]] Determine the correlation coefficient between two sets of data. [list_begin arguments] [arg_def list data1] - First list of data [arg_def list data2] - Second list of data [list_end] [para] [call [cmd ::math::statistics::interval-mean-stdev] [arg data] [arg confidence]] Return the interval containing the mean value and one containing the standard deviation with a certain level of confidence (assuming a normal distribution) [list_begin arguments] [arg_def list data] - List of raw data values (small sample) [arg_def float confidence] - Confidence level (0.95 or 0.99 for instance) [list_end] [para] [call [cmd ::math::statistics::t-test-mean] [arg data] [arg est_mean] \ [arg est_stdev] [arg confidence]] Test whether the mean value of a sample is in accordance with the estimated normal distribution with a certain level of confidence. Returns 1 if the test succeeds or 0 if the mean is unlikely to fit the given distribution. [list_begin arguments] [arg_def list data] - List of raw data values (small sample) [arg_def float est_mean] - Estimated mean of the distribution [arg_def float est_stdev] - Estimated stdev of the distribution [arg_def float confidence] - Confidence level (0.95 or 0.99 for instance) [list_end] [para] [call [cmd ::math::statistics::test-normal] [arg data] [arg confidence]] Test whether the given data follow a normal distribution with a certain level of confidence. Returns 1 if the data are normally distributed within the level of confidence, returns 0 if not. The underlying test is the Lilliefors test. [list_begin arguments] [arg_def list data] - List of raw data values [arg_def float confidence] - Confidence level (one of 0.80, 0.90, 0.95 or 0.99) [list_end] [para] [call [cmd ::math::statistics::lillieforsFit] [arg data]] Returns the goodness of fit to a normal distribution according to Lilliefors. The higher the number, the more likely the data are indeed normally distributed. The test requires at least [emph five] data points. |
︙ | ︙ | |||
244 245 246 247 248 249 250 | [list_begin arguments] [arg_def list limits] - List of upper limits from histogram [arg_def list counts] - List of counts for for each interval in histogram [arg_def float confidence] - Confidence level (0.95 or 0.99 for instance) [list_end] [para] | < < < < < | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | [list_begin arguments] [arg_def list limits] - List of upper limits from histogram [arg_def list counts] - List of counts for for each interval in histogram [arg_def float confidence] - Confidence level (0.95 or 0.99 for instance) [list_end] [para] [call [cmd ::math::statistics::autocorr] [arg data]] Return the autocorrelation function as a list of values (assuming equidistance between samples, about 1/2 of the number of raw data) [para] The correlation is determined in such a way that the first value is always 1 and all others are equal to or smaller than 1. The number of values involved will diminish as the "time" (the index in the list of returned values) increases [list_begin arguments] [arg_def list data] - Raw data for which the autocorrelation must be determined [list_end] [para] [call [cmd ::math::statistics::crosscorr] [arg data1] [arg data2]] Return the cross-correlation function as a list of values (assuming equidistance between samples, about 1/2 of the number of raw data) [para] The correlation is determined in such a way that the values can never exceed 1 in magnitude. The number of values involved will diminish as the "time" (the index in the list of returned values) increases. [list_begin arguments] [arg_def list data1] - First list of data [arg_def list data2] - Second list of data [list_end] [para] [call [cmd ::math::statistics::mean-histogram-limits] [arg mean] \ [arg stdev] [arg number]] Determine reasonable limits based on mean and standard deviation for a histogram Convenience function - the result is suitable for the histogram function. [list_begin arguments] [arg_def float mean] - Mean of the data [arg_def float stdev] - Standard deviation [arg_def int number] - Number of limits to generate (defaults to 8) [list_end] [para] [call [cmd ::math::statistics::minmax-histogram-limits] [arg min] \ [arg max] [arg number]] Determine reasonable limits based on a minimum and maximum for a histogram [para] Convenience function - the result is suitable for the histogram function. [list_begin arguments] [arg_def float min] - Expected minimum [arg_def float max] - Expected maximum [arg_def int number] - Number of limits to generate (defaults to 8) [list_end] [para] [call [cmd ::math::statistics::linear-model] [arg xdata] \ [arg ydata] [arg intercept]] Determine the coefficients for a linear regression between two series of data (the model: Y = A + B*X). Returns a list of parameters describing the fit |
︙ | ︙ | |||
336 337 338 339 340 341 342 | Standard error of the slope B [item] Significance level of B [list_end] [list_end] [para] | < < < < < < < | 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | Standard error of the slope B [item] Significance level of B [list_end] [list_end] [para] [call [cmd ::math::statistics::linear-residuals] [arg xdata] [arg ydata] \ [arg intercept]] Determine the difference between actual data and predicted from the linear model. [para] Returns a list of the differences between the actual data and the predicted values. [list_begin arguments] [arg_def list xdata] - List of independent data [arg_def list ydata] - List of dependent data to be fitted [arg_def boolean intercept] - (Optional) compute the intercept (1, default) or fit to a line through the origin (0) [list_end] [para] [call [cmd ::math::statistics::test-2x2] [arg n11] [arg n21] [arg n12] [arg n22]] Determine if two set of samples, each from a binomial distribution, differ significantly or not (implying a different parameter). [para] Returns the "chi-square" value, which can be used to the determine the significance. [list_begin arguments] [arg_def int n11] - Number of outcomes with the first value from the first sample. [arg_def int n21] - Number of outcomes with the first value from the second sample. [arg_def int n12] - Number of outcomes with the second value from the first sample. [arg_def int n22] - Number of outcomes with the second value from the second sample. [list_end] [para] [call [cmd ::math::statistics::print-2x2] [arg n11] [arg n21] [arg n12] [arg n22]] Determine if two set of samples, each from a binomial distribution, differ significantly or not (implying a different parameter). [para] Returns a short report, useful in an interactive session. [list_begin arguments] [arg_def int n11] - Number of outcomes with the first value from the first sample. [arg_def int n21] - Number of outcomes with the first value from the second sample. [arg_def int n12] - Number of outcomes with the second value from the first sample. [arg_def int n22] - Number of outcomes with the second value from the second sample. [list_end] [para] [call [cmd ::math::statistics::control-xbar] [arg data] [opt nsamples]] Determine the control limits for an xbar chart. The number of data in each subsample defaults to 4. At least 20 subsamples are required. [para] Returns the mean, the lower limit, the upper limit and the number of data per subsample. [list_begin arguments] [arg_def list data] - List of observed data [arg_def int nsamples] - Number of data per subsample [list_end] [para] [call [cmd ::math::statistics::control-Rchart] [arg data] [opt nsamples]] Determine the control limits for an R chart. The number of data in each subsample (nsamples) defaults to 4. At least 20 subsamples are required. [para] Returns the mean range, the lower limit, the upper limit and the number of data per subsample. [list_begin arguments] [arg_def list data] - List of observed data [arg_def int nsamples] - Number of data per subsample [list_end] [para] [call [cmd ::math::statistics::test-xbar] [arg control] [arg data]] Determine if the data exceed the control limits for the xbar chart. [para] Returns a list of subsamples (their indices) that indeed violate the limits. [list_begin arguments] [arg_def list control] - Control limits as returned by the "control-xbar" procedure [arg_def list data] - List of observed data [list_end] [para] [call [cmd ::math::statistics::test-Rchart] [arg control] [arg data]] Determine if the data exceed the control limits for the R chart. [para] Returns a list of subsamples (their indices) that indeed violate the limits. [list_begin arguments] |
︙ | ︙ | |||
530 531 532 533 534 535 536 | observation (as a sublist) and so on. The sublists of data are organised as lists of the value of the dependent variable y and the independent variables x1, x2 to xN. [list_end] [para] | < < | 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 | observation (as a sublist) and so on. The sublists of data are organised as lists of the value of the dependent variable y and the independent variables x1, x2 to xN. [list_end] [para] [call [cmd ::math::statistics::mv-ols] [arg values]] Carries out an ordinary least squares linear regression for the data points provided. [para] This procedure simply calls ::mvlinreg::wls with the weights set to 1.0, and returns the same information. [list_end] [emph "Example of the use:"] [example { # Store the value of the unicode value for the "+/-" character set pm "\u00B1" # Provide some data |
︙ | ︙ | |||
615 616 617 618 619 620 621 | List of random values with the given distribution (random-*) [list_end] The following procedures have been implemented: [list_begin definitions] | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 | List of random values with the given distribution (random-*) [list_end] The following procedures have been implemented: [list_begin definitions] [call [cmd ::math::statistics::pdf-normal] [arg mean] [arg stdev] [arg value]] Return the probability of a given value for a normal distribution with given mean and standard deviation. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def float stdev] - Standard deviation of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-exponential] [arg mean] [arg value]] Return the probability of a given value for an exponential distribution with given mean. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-uniform] [arg xmin] [arg xmax] [arg value]] Return the probability of a given value for a uniform distribution with given extremes. [list_begin arguments] [arg_def float xmin] - Minimum value of the distribution [arg_def float xmin] - Maximum value of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-gamma] [arg alpha] [arg beta] [arg value]] Return the probability of a given value for a Gamma distribution with given shape and rate parameters [list_begin arguments] [arg_def float alpha] - Shape parameter [arg_def float beta] - Rate parameter [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-poisson] [arg mu] [arg k]] Return the probability of a given number of occurrences in the same interval (k) for a Poisson distribution with given mean (mu) [list_begin arguments] [arg_def float mu] - Mean number of occurrences [arg_def int k] - Number of occurences [list_end] [para] [call [cmd ::math::statistics::pdf-chisquare] [arg df] [arg value]] Return the probability of a given value for a chi square distribution with given degrees of freedom [list_begin arguments] [arg_def float df] - Degrees of freedom [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-student-t] [arg df] [arg value]] Return the probability of a given value for a Student's t distribution with given degrees of freedom [list_begin arguments] [arg_def float df] - Degrees of freedom [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::pdf-beta] [arg a] [arg b] [arg value]] Return the probability of a given value for a Beta distribution with given shape parameters [list_begin arguments] [arg_def float a] - First shape parameter [arg_def float b] - First shape parameter [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-normal] [arg mean] [arg stdev] [arg value]] Return the cumulative probability of a given value for a normal distribution with given mean and standard deviation, that is the probability for values up to the given one. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def float stdev] - Standard deviation of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-exponential] [arg mean] [arg value]] Return the cumulative probability of a given value for an exponential distribution with given mean. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-uniform] [arg xmin] [arg xmax] [arg value]] Return the cumulative probability of a given value for a uniform distribution with given extremes. [list_begin arguments] [arg_def float xmin] - Minimum value of the distribution [arg_def float xmin] - Maximum value of the distribution [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-students-t] [arg degrees] [arg value]] Return the cumulative probability of a given value for a Student's t distribution with given number of degrees. [list_begin arguments] [arg_def int degrees] - Number of degrees of freedom [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-gamma] [arg alpha] [arg beta] [arg value]] Return the cumulative probability of a given value for a Gamma distribution with given shape and rate parameters [list_begin arguments] [arg_def float alpha] - Shape parameter [arg_def float beta] - Rate parameter [arg_def float value] - Value for which the cumulative probability is required [list_end] [para] [call [cmd ::math::statistics::cdf-poisson] [arg mu] [arg k]] Return the cumulative probability of a given number of occurrences in the same interval (k) for a Poisson distribution with given mean (mu) [list_begin arguments] [arg_def float mu] - Mean number of occurrences [arg_def int k] - Number of occurences [list_end] [para] [call [cmd ::math::statistics::cdf-beta] [arg a] [arg b] [arg value]] Return the cumulative probability of a given value for a Beta distribution with given shape parameters [list_begin arguments] [arg_def float a] - First shape parameter [arg_def float b] - First shape parameter [arg_def float value] - Value for which the probability is required [list_end] [para] [call [cmd ::math::statistics::random-normal] [arg mean] [arg stdev] [arg number]] Return a list of "number" random values satisfying a normal distribution with given mean and standard deviation. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def float stdev] - Standard deviation of the distribution [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-exponential] [arg mean] [arg number]] Return a list of "number" random values satisfying an exponential distribution with given mean. [list_begin arguments] [arg_def float mean] - Mean value of the distribution [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-uniform] [arg xmin] [arg xmax] [arg number]] Return a list of "number" random values satisfying a uniform distribution with given extremes. [list_begin arguments] [arg_def float xmin] - Minimum value of the distribution [arg_def float xmax] - Maximum value of the distribution [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-gamma] [arg alpha] [arg beta] [arg number]] Return a list of "number" random values satisfying a Gamma distribution with given shape and rate parameters [list_begin arguments] [arg_def float alpha] - Shape parameter [arg_def float beta] - Rate parameter [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-chisquare] [arg df] [arg number]] Return a list of "number" random values satisfying a chi square distribution with given degrees of freedom [list_begin arguments] [arg_def float df] - Degrees of freedom [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-student-t] [arg df] [arg number]] Return a list of "number" random values satisfying a Student's t distribution with given degrees of freedom [list_begin arguments] [arg_def float df] - Degrees of freedom [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::random-beta] [arg a] [arg b] [arg number]] Return a list of "number" random values satisfying a Beta distribution with given shape parameters [list_begin arguments] [arg_def float a] - First shape parameter [arg_def float b] - Second shape parameter [arg_def int number] - Number of values to be returned [list_end] [para] [call [cmd ::math::statistics::histogram-uniform] [arg xmin] [arg xmax] [arg limits] [arg number]] Return the expected histogram for a uniform distribution. [list_begin arguments] [arg_def float xmin] - Minimum value of the distribution [arg_def float xmax] - Maximum value of the distribution [arg_def list limits] - Upper limits for the buckets in the histogram [arg_def int number] - Total number of "observations" in the histogram [list_end] [para] [call [cmd ::math::statistics::incompleteGamma] [arg x] [arg p] [opt tol]] Evaluate the incomplete Gamma integral [example { 1 / x p-1 P(p,x) = -------- | dt exp(-t) * t Gamma(p) / 0 }] [list_begin arguments] [arg_def float x] - Value of x (limit of the integral) [arg_def float p] - Value of p in the integrand [arg_def float tol] - Required tolerance (default: 1.0e-9) [list_end] [para] [call [cmd ::math::statistics::incompleteBeta] [arg a] [arg b] [arg x] [opt tol]] Evaluate the incomplete Beta integral [list_begin arguments] [arg_def float a] - First shape parameter [arg_def float b] - Second shape parameter [arg_def float x] - Value of x (limit of the integral) [arg_def float tol] - Required tolerance (default: 1.0e-9) [list_end] [para] [list_end] TO DO: more function descriptions to be added [section "DATA MANIPULATION"] The data manipulation procedures act on lists or lists of lists: [list_begin definitions] [call [cmd ::math::statistics::filter] [arg varname] [arg data] [arg expression]] Return a list consisting of the data for which the logical expression is true (this command works analogously to the command [cmd foreach]). [list_begin arguments] [arg_def string varname] - Name of the variable used in the expression [arg_def list data] - List of data [arg_def string expression] - Logical expression using the variable name [list_end] [para] [call [cmd ::math::statistics::map] [arg varname] [arg data] [arg expression]] Return a list consisting of the data that are transformed via the expression. [list_begin arguments] [arg_def string varname] - Name of the variable used in the expression [arg_def list data] - List of data [arg_def string expression] - Expression to be used to transform (map) the data [list_end] [para] [call [cmd ::math::statistics::samplescount] [arg varname] [arg list] [arg expression]] Return a list consisting of the [term counts] of all data in the sublists of the "list" argument for which the expression is true. [list_begin arguments] [arg_def string varname] - Name of the variable used in the expression [arg_def list data] - List of sublists, each containing the data [arg_def string expression] - Logical expression to test the data (defaults to "true"). [list_end] [para] [call [cmd ::math::statistics::subdivide]] Routine [emph PM] - not implemented yet [para] [call [cmd ::math::statistics::test-Kruskal-Wallis] [arg confidence] [arg args]] Check if the population medians of two or more groups are equal with a given confidence level, using the Kruskal-Wallis test. [list_begin arguments] [arg_def float confidence] - Confidence level to be used (0-1) [arg_def list args] - Two or more lists of data [list_end] [para] [call [cmd ::math::statistics::analyse-Kruskal-Wallis] [arg args]] Compute the statistical parameters for the Kruskal-Wallis test. Returns the Kruskal-Wallis statistic and the probability that that value would occur assuming the medians of the populations are equal. [list_begin arguments] [arg_def list args] - Two or more lists of data [list_end] [para] [call [cmd ::math::statistics::group-rank] [arg args]] Rank the groups of data with respect to the complete set. Returns a list consisting of the group ID, the value and the rank (possibly a rational number, in case of ties) for each data item. [list_begin arguments] [arg_def list args] - Two or more lists of data [list_end] [para] [call [cmd ::math::statistics::test-Wilcoxon] [arg sample_a] [arg sample_b]] Compute the Wilcoxon test statistic to determine if two samples have the same median or not. (The statistic can be regarded as standard normal, if the sample sizes are both larger than 10. Returns the value of this statistic. [list_begin arguments] [arg_def list sample_a] - List of data comprising the first sample [arg_def list sample_b] - List of data comprising the second sample [list_end] [para] [call [cmd ::math::statistics::spearman-rank] [arg sample_a] [arg sample_b]] Return the Spearman rank correlation as an alternative to the ordinary (Pearson's) correlation coefficient. The two samples should have the same number of data. [list_begin arguments] [arg_def list sample_a] - First list of data [arg_def list sample_b] - Second list of data [list_end] [para] [call [cmd ::math::statistics::spearman-rank-extended] [arg sample_a] [arg sample_b]] Return the Spearman rank correlation as an alternative to the ordinary (Pearson's) correlation coefficient as well as additional data. The two samples should have the same number of data. The procedure returns the correlation coefficient, the number of data pairs used and the z-score, an approximately standard normal statistic, indicating the significance of the correlation. |
︙ | ︙ | |||
1048 1049 1050 1051 1052 1053 1054 | [arg_def float xmin] - Minimum x value [arg_def float xmax] - Maximum x value [arg_def float ymin] - Minimum y value [arg_def float ymax] - Maximum y value [list_end] [para] | < < < < | 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 | [arg_def float xmin] - Minimum x value [arg_def float xmax] - Maximum x value [arg_def float ymin] - Minimum y value [arg_def float ymax] - Maximum y value [list_end] [para] [call [cmd ::math::statistics::plot-xydata] [arg canvas] \ [arg xdata] [arg ydata] [arg tag]] Create a simple XY plot in the given canvas - the data are shown as a collection of dots. The tag can be used to manipulate the appearance. [list_begin arguments] [arg_def widget canvas] - Canvas widget to use [arg_def float xdata] - Series of independent data [arg_def float ydata] - Series of dependent data [arg_def string tag] - Tag to give to the plotted data (defaults to xyplot) [list_end] [para] [call [cmd ::math::statistics::plot-xyline] [arg canvas] \ [arg xdata] [arg ydata] [arg tag]] Create a simple XY plot in the given canvas - the data are shown as a line through the data points. The tag can be used to manipulate the appearance. [list_begin arguments] [arg_def widget canvas] - Canvas widget to use [arg_def list xdata] - Series of independent data [arg_def list ydata] - Series of dependent data [arg_def string tag] - Tag to give to the plotted data (defaults to xyplot) [list_end] [para] [call [cmd ::math::statistics::plot-tdata] [arg canvas] \ [arg tdata] [arg tag]] Create a simple XY plot in the given canvas - the data are shown as a collection of dots. The horizontal coordinate is equal to the index. The tag can be used to manipulate the appearance. This type of presentation is suitable for autocorrelation functions for instance or for inspecting the time-dependent behaviour. [list_begin arguments] [arg_def widget canvas] - Canvas widget to use [arg_def list tdata] - Series of dependent data [arg_def string tag] - Tag to give to the plotted data (defaults to xyplot) [list_end] [para] [call [cmd ::math::statistics::plot-tline] [arg canvas] \ [arg tdata] [arg tag]] Create a simple XY plot in the given canvas - the data are shown as a line. See plot-tdata for an explanation. [list_begin arguments] |
︙ | ︙ | |||
1277 1278 1279 1280 1281 1282 1283 | [item] Both time series show a significant periodic component [item] The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature. [list_end] | < < < < < | < | < < < < < | 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 | [item] Both time series show a significant periodic component [item] The histograms are not very useful in identifying the nature of the time series - they do not show the periodic nature. [list_end] [vset CATEGORY {math :: statistics}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/math/symdiff.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin math::calculus::symdiff n 1.0] [copyright "2010 by Kevin B. Kenny <[email protected]> Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc "Symbolic differentiation for Tcl"] [titledesc "Symbolic differentiation for Tcl"] [require Tcl 8.5] [require grammar::aycock 1.0] [require math::calculus::symdiff 1.0] [description] [para] The [cmd math::calculus::symdiff] package provides a symbolic differentiation facility for Tcl math expressions. It is useful for providing derivatives to packages that either require the Jacobian of a set of functions or else are more efficient or stable when the Jacobian is provided. [section "Procedures"] The [cmd math::calculus::symdiff] package exports the two procedures: [list_begin definitions] [call [cmd math::calculus::symdiff::symdiff] [arg expression] [arg variable]] Differentiates the given [arg expression] with respect to the specified [arg variable]. (See [sectref "Expressions"] below for a discussion of the | > > | | | | | < < < < | < | < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | [manpage_begin math::calculus::symdiff n 1.0] [see_also math::calculus] [see_also math::interpolate] [copyright "2010 by Kevin B. Kenny <[email protected]> Redistribution permitted under the terms of the Open\ Publication License <http://www.opencontent.org/openpub/>"] [moddesc "Symbolic differentiation for Tcl"] [titledesc "Symbolic differentiation for Tcl"] [require Tcl 8.5] [require grammar::aycock 1.0] [require math::calculus::symdiff 1.0] [description] [para] The [cmd math::calculus::symdiff] package provides a symbolic differentiation facility for Tcl math expressions. It is useful for providing derivatives to packages that either require the Jacobian of a set of functions or else are more efficient or stable when the Jacobian is provided. [section "Procedures"] The [cmd math::calculus::symdiff] package exports the two procedures: [list_begin definitions] [call [cmd math::calculus::symdiff::symdiff] [arg expression] [arg variable]] Differentiates the given [arg expression] with respect to the specified [arg variable]. (See [sectref "Expressions"] below for a discussion of the subset of Tcl math expressions that are acceptable to [cmd math::calculus::symdiff].) The result is a Tcl expression that evaluates the derivative. Returns an error if [arg expression] is not a well-formed expression or is not differentiable. [call [cmd math::calculus::jacobian] [arg variableDict]] Computes the Jacobian of a system of equations. The system is given by the dictionary [arg variableDict], whose keys are the names of variables in the system, and whose values are Tcl expressions giving the values of those variables. (See [sectref "Expressions"] below for a discussion of the subset of Tcl math expressions that are acceptable to [cmd math::calculus::symdiff]. The result is a list of lists: the i'th element of the j'th sublist is the partial derivative of the i'th variable with respect to the j'th variable. Returns an error if any of the expressions cannot be differentiated, or if [arg variableDict] is not a well-formed dictionary. [list_end] [section "Expressions"] The [cmd math::calculus::symdiff] package accepts only a small subset of the expressions that are acceptable to Tcl commands such as [cmd expr] or [cmd if]. Specifically, the only constructs accepted are: [list_begin itemized] [item]Floating-point constants such as [const 5] or [const 3.14159e+00]. [item]References to Tcl variable using $-substitution. The variable names must consist of alphanumerics and underscores: the [const \$\{...\}] notation is not accepted. [item]Parentheses. [item]The [const +], [const -], [const *], [const /]. and [const **] operators. [item]Calls to the functions [cmd acos], [cmd asin], [cmd atan], [cmd atan2], [cmd cos], [cmd cosh], [cmd exp], [cmd hypot], [cmd log], [cmd log10], [cmd pow], [cmd sin], [cmd sinh]. [cmd sqrt], [cmd tan], and [cmd tanh]. [list_end] Command substitution, backslash substitution, and argument expansion are not accepted. [section "Examples"] [example { math::calculus::symdiff::symdiff {($a*$x+$b)*($c*$x+$d)} x ==> (($c * (($a * $x) + $b)) + ($a * (($c * $x) + $d))) math::calculus::symdiff::jacobian {x {$a * $x + $b * $y} y {$c * $x + $d * $y}} ==> {{$a} {$b}} {{$c} {$d}} }] [vset CATEGORY {math :: calculus}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/md4/md4.man.
1 2 3 4 5 6 7 8 | [manpage_begin md4 n 1.0.5] [moddesc {MD4 Message-Digest Algorithm}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD4 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md4 [opt 1.0]] [description] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [manpage_begin md4 n 1.0.5] [see_also md5] [see_also sha1] [keywords hashing] [keywords md4] [keywords message-digest] [keywords {rfc 1320}] [keywords {rfc 1321}] [keywords {rfc 2104}] [keywords security] [moddesc {MD4 Message-Digest Algorithm}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD4 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md4 [opt 1.0]] [description] |
︙ | ︙ | |||
35 36 37 38 39 40 41 | Calculate the MD4 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to | | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | Calculate the MD4 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to the md4 command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [para] |
︙ | ︙ | |||
64 65 66 67 68 69 70 | [section {PROGRAMMING INTERFACE}] For the programmer, the MD4 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD4 hash operates on a token (equivalent to the | | | | | < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | [section {PROGRAMMING INTERFACE}] For the programmer, the MD4 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD4 hash operates on a token (equivalent to the bucket). You call [cmd MD4Init] to obtain a token and then call [cmd MD4Update] as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call [cmd MD4Final]. An equivalent set of functions gives you a keyed digest (HMAC). [list_begin definitions] [call [cmd "::md4::MD4Init"]] Begins a new MD4 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::md4::MD4Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {MD4Update $token "abcd"}] is equivalent to calling [emph {MD4Update $token "ab"}] followed by [emph {MD4Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::md4::MD4Final"] [arg "token"]] Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit MD4 digest value. |
︙ | ︙ | |||
144 145 146 147 148 149 150 | [enum] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] | | < | < | < < < < < < < < < < < | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | [enum] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY md4] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/md5/md5.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin md5 n 2.0.7] [moddesc {MD5 Message-Digest Algorithm}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD5 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md5 [opt 2.0.7]] [description] [para] This package is an implementation in Tcl of the MD5 message-digest algorithm as described in RFC 1321 (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The MD5 algorithm is related to the MD4 algorithm (2) but has been strengthened against certain types of potential attack. MD5 should be used in preference to MD4 for new applications. [para] If you have [package critcl] and have built the [package tcllibc] package then the implementation of the hashing function will be | > > > > > > > > > | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | [manpage_begin md5 n 2.0.7] [see_also md4] [see_also sha1] [keywords hashing] [keywords md5] [keywords message-digest] [keywords {rfc 1320}] [keywords {rfc 1321}] [keywords {rfc 2104}] [keywords security] [moddesc {MD5 Message-Digest Algorithm}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD5 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md5 [opt 2.0.7]] [description] [para] This package is an implementation in Tcl of the MD5 message-digest algorithm as described in RFC 1321 (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The MD5 algorithm is related to the MD4 algorithm (2) but has been strengthened against certain types of potential attack. MD5 should be used in preference to MD4 for new applications. [para] If you have [package critcl] and have built the [package tcllibc] package then the implementation of the hashing function will be performed by compiled code. Alternatively if you have either [package cryptkit] or [package Trf] then either of these can be used to accelerate the digest computation. If no suitable compiled package is available then the pure-Tcl implementation wil be used. The programming interface remains the same in all cases. [para] [emph "Note"] the previous version of this package always returned a hex encoded string. This has been changed to simplify the programming interface and to make this version more compatible with other implementations. To obtain the previous usage, either explicitly specify package version 1 or use the [arg "-hex"] option to the [cmd "md5"] command. [section {COMMANDS}] [list_begin definitions] [call [cmd "::md5::md5"] \ [opt "[arg -hex]"] \ [lb] [arg "-channel channel"] | \ [arg "-file filename"] | [arg "string"] [rb]] Calculate the MD5 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to the [cmd "md5"] command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [para] |
︙ | ︙ | |||
75 76 77 78 79 80 81 | [section {PROGRAMMING INTERFACE}] For the programmer, the MD5 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD5 hash operates on a token (equivalent to the | | | | | < | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [section {PROGRAMMING INTERFACE}] For the programmer, the MD5 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the MD5 hash operates on a token (equivalent to the bucket). You call [cmd "MD5Init"] to obtain a token and then call [cmd "MD5Update"] as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call [cmd "MD5Final"]. An equivalent set of functions gives you a keyed digest (HMAC). [list_begin definitions] [call [cmd "::md5::MD5Init"]] Begins a new MD5 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::md5::MD5Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {MD5Update $token "abcd"}] is equivalent to calling [emph {MD5Update $token "ab"}] followed by [emph {MD5Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::md5::MD5Final"] [arg "token"]] Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit MD5 digest value. |
︙ | ︙ | |||
151 152 153 154 155 156 157 | ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] | | < | < | < < < < < < < < < < < | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY md5] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/md5crypt/md5crypt.man.
1 2 3 4 5 6 7 8 | [manpage_begin md5crypt n 1.1.0] [moddesc {MD5-based password encryption}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD5-based password encryption}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md5 2.0] [require md5crypt [opt 1.1.0]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin md5crypt n 1.1.0] [see_also md5] [keywords hashing] [keywords md5] [keywords md5crypt] [keywords message-digest] [keywords security] [moddesc {MD5-based password encryption}] [copyright {2003, Pat Thoyts <[email protected]>}] [titledesc {MD5-based password encryption}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require md5 2.0] [require md5crypt [opt 1.1.0]] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | }] [example { % md5crypt::md5crypt password [md5crypt::salt] $1$dFmvyRmO$T.V3OmzqeEf3hqJp2WFcb. }] | < | < < | < < < < < < < < < | 76 77 78 79 80 81 82 83 84 85 | }] [example { % md5crypt::md5crypt password [md5crypt::salt] $1$dFmvyRmO$T.V3OmzqeEf3hqJp2WFcb. }] [vset CATEGORY md5crypt] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/mime/mime.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mime n 1.5.6] [copyright {1999-2000 Marshall T. Rose}] [moddesc {Mime}] [titledesc {Manipulation of MIME body parts}] [category {Text processing}] [require Tcl] [require mime [opt 1.5.6]] [description] [para] The [package mime] library package provides the commands to create and manipulate MIME body parts. [list_begin definitions] | > > > > > > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin mime n 1.5.6] [see_also ftp] [see_also http] [see_also pop3] [see_also smtp] [keywords email] [keywords internet] [keywords mail] [keywords mime] [keywords net] [keywords {rfc 821}] [keywords {rfc 822}] [keywords {rfc 2045}] [keywords {rfc 2046}] [keywords {rfc 2049}] [keywords smtp] [copyright {1999-2000 Marshall T. Rose}] [moddesc {Mime}] [titledesc {Manipulation of MIME body parts}] [category {Text processing}] [require Tcl] [require mime [opt 1.5.6]] [description] [para] The [package mime] library package provides the commands to create and manipulate MIME body parts. [list_begin definitions] [call [cmd ::mime::initialize] [opt "[option -canonical] [arg type/subtype] [opt "[option -param] \{[arg {key value}]\}..."] [opt "[option -encoding] [arg value]"] [opt "[option -header] \{[arg {key value}]\}..."]"] "([option -file] [arg name] | [option -string] [arg value] | [option -parts] \{[arg token1] ... [arg tokenN]\})"] This command creates a MIME part and returns a token representing it. [list_begin itemized] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | If the [option -canonical] option is not present, then the MIME part contained in either the [option -file] or the [option -string] option is parsed, dynamically generating subordinates as appropriate. [list_end] | < < < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | If the [option -canonical] option is not present, then the MIME part contained in either the [option -file] or the [option -string] option is parsed, dynamically generating subordinates as appropriate. [list_end] [call [cmd ::mime::finalize] [arg token] [opt "[option -subordinates] [const all] | [const dynamic] | [const none]"]] This command destroys the MIME part represented by [arg token]. It returns an empty string. [para] If the [option -subordinates] option is present, it specifies which subordinates should also be destroyed. The default value is [const dynamic], destroying all subordinates which were created by [cmd ::mime::initialize] together with the containing body part. [call [cmd ::mime::getproperty] [arg token] [opt "[arg property] | [option -names]"]] This command returns a string or a list of strings containing the properties of a MIME part. If the command is invoked with the name of a specific property, then the corresponding value is returned; instead, if [option -names] is specified, a list of all properties is returned; otherwise, a serialized array of properties and values is returned. [para] The possible properties are: [list_begin definitions] [def [const content]] The type/subtype describing the content [def [const encoding]] |
︙ | ︙ | |||
99 100 101 102 103 104 105 | [def [const size]] The approximate size of the content (unencoded) [list_end] | < < < < | 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | [def [const size]] The approximate size of the content (unencoded) [list_end] [call [cmd ::mime::getheader] [arg token] [opt "[arg key] | [option -names]"]] This command returns the header of a MIME part, as a list of strings. [para] A header consists of zero or more key/value pairs. Each value is a list containing one or more strings. [para] If this command is invoked with the name of a specific [arg key], then a list containing the corresponding value(s) is returned; instead, if -names is specified, a list of all keys is returned; otherwise, a serialized array of keys and values is returned. Note that when a key is specified (e.g., "Subject"), the list returned usually contains exactly one string; however, some keys (e.g., "Received") often occur more than once in the header, accordingly the list returned usually contains more than one string. [call [cmd ::mime::setheader] [arg token] [arg {key value}] [opt "[option -mode] [const write] | [const append] | [const delete]"]] This command writes, appends to, or deletes the [arg value] associated with a [arg key] in the header. It returns a list of strings containing the previous value associated with the key. [para] The value for [option -mode] is one of: [list_begin definitions] [def [const write]] The [arg key]/[arg value] is either created or overwritten (the default). [def [const append]] A new [arg value] is appended for the [arg key] (creating it as necessary). [def [const delete]] All values associated with the key are removed (the [arg value] parameter is ignored). [list_end] [call [cmd ::mime::getbody] [arg token] [opt [option -decode]] [opt "[option -command] [arg callback] [opt "[option -blocksize] [arg octets]"]"]] This command returns a string containing the body of the leaf MIME part represented by [arg token] in canonical form. [para] |
︙ | ︙ | |||
206 207 208 209 210 211 212 | above is returned as is. This means that it will be in the charset specified for the token and not the usual utf-8. If the option [option -decode] is present however the command will use the charset information associated with the token to convert the string from its encoding into utf-8 before returning it. | < < < < | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | above is returned as is. This means that it will be in the charset specified for the token and not the usual utf-8. If the option [option -decode] is present however the command will use the charset information associated with the token to convert the string from its encoding into utf-8 before returning it. [call [cmd ::mime::copymessage] [arg token] [arg channel]] This command copies the MIME represented by [arg token] part to the specified [arg channel]. The command operates synchronously, and uses fileevent to allow asynchronous operations to proceed independently. It returns an empty string. [call [cmd ::mime::buildmessage] [arg token]] This command returns the MIME part represented by [arg token] as a string. It is similar to [cmd ::mime::copymessage], only it returns the data as a return string instead of writing to a channel. [call [cmd ::mime::parseaddress] [arg string]] This command takes a string containing one or more 822-style address specifications and returns a list of serialized arrays, one element for each address specified in the argument. If the string contains more than one address they will be separated by commas. [para] Each serialized array contains the properties below. Note that one or more of these properties may be empty. [list_begin definitions] [def [const address]] local@domain [def [const comment]] |
︙ | ︙ | |||
283 284 285 286 287 288 289 | [def [const route]] 822-style route specification (obsolete) [list_end] | < < | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 | [def [const route]] 822-style route specification (obsolete) [list_end] [call [cmd ::mime::parsedatetime] ([arg string] | [option -now]) [arg property]] This command takes a string containing an 822-style date-time specification and returns the specified property as a serialized array. [para] The list of properties and their ranges are: [list_begin definitions] [def [const hour]] 0 .. 23 [def [const lmonth]] |
︙ | ︙ | |||
359 360 361 362 363 364 365 | [def [const zone]] -720 .. 720 (minutes east of GMT) [list_end] | < < < < | < | < | < < | < < < < < < < < < < | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | [def [const zone]] -720 .. 720 (minutes east of GMT) [list_end] [call [cmd ::mime::mapencoding] [arg encoding_name]] This commansd maps tcl encodings onto the proper names for their MIME charset type. This is only done for encodings whose charset types were known. The remaining encodings return "" for now. [call [cmd ::mime::reversemapencoding] [arg charset_type]] This command maps MIME charset types onto tcl encoding names. Those that are unknown return "". [list_end] [section {KNOWN BUGS}] [list_begin definitions] [def {Tcllib Bug #447037}] This problem affects only people which are using Tcl and Mime on a 64-bit system. The currently recommended fix for this problem is to upgrade to Tcl version 8.4. This version has extended 64 bit support and the bug does not appear anymore. [para] The problem could have been generally solved by requiring the use of Tcl 8.4 for this package. We decided against this solution as it would force a large number of unaffected users to upgrade their Tcl interpreter for no reason. [para] See [uri {/tktview?name=447037} {Ticket 447037}] for additional information. [list_end] [vset CATEGORY mime] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/mime/smtp.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin smtp n 1.4.5] [copyright {1999-2000 Marshall T. Rose and others}] [moddesc {smtp client}] [titledesc {Client-side tcl implementation of the smtp protocol}] [category Networking] [require Tcl] [require mime [opt 1.5.4]] [require smtp [opt 1.4.5]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin smtp n 1.4.5] [see_also ftp] [see_also http] [see_also mime] [see_also pop3] [copyright {1999-2000 Marshall T. Rose and others}] [moddesc {smtp client}] [titledesc {Client-side tcl implementation of the smtp protocol}] [category Networking] [require Tcl] [require mime [opt 1.5.4]] [require smtp [opt 1.4.5]] |
︙ | ︙ | |||
58 59 60 61 62 63 64 | present the header isn't examined for recipient addresses). If the string contains more than one address they will be separated by commas. [def [option -header]] A list containing two elements, an smtp header and its associated | | | | | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | present the header isn't examined for recipient addresses). If the string contains more than one address they will be separated by commas. [def [option -header]] A list containing two elements, an smtp header and its associated value (the -header option may occur zero or more times). [def [option -usetls]] This package supports the RFC 3207 TLS extension (3) by default provided the tls package is available. You can turn this off with this boolean option. [def [option -tlspolicy]] This option lets you specify a command to be called if an error occurs during TLS setup. The command is called with the SMTP code and diagnostic message appended. The command should return 'secure' or 'insecure' where insecure will cause the package to continue on the unencrypted channel. Returning 'secure' will cause the socket to be closed and the next server in the [option -servers] list to be tried. [def [option -username]] |
︙ | ︙ | |||
166 167 168 169 170 171 172 | [enum] P. Hoffman, "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. ([uri http://www.rfc-editor.org/rfc/rfc3207.txt]) [enum] | | < | < < | < < < < < < < | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | [enum] P. Hoffman, "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002. ([uri http://www.rfc-editor.org/rfc/rfc3207.txt]) [enum] J. Myers, "SMTP Service Extension for Authentication", RFC 2554, March 1999. ([uri http://www.rfc-editor.org/rfc/rfc2554.txt]) [list_end] [vset CATEGORY smtp] [include ../doctools2base/include/feedback.inc] [keywords mail mail email smtp mime tls \ {rfc 821} {rfc 822} {rfc 2821} {rfc 3207} {rfc 2554} internet net] [manpage_end] |
Changes to modules/multiplexer/multiplexer.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment { $Id: multiplexer.man,v 1.11 2009/01/29 06:16:20 andreas_kupries Exp $ }] [manpage_begin multiplexer n 0.2] [moddesc {One-to-many communication with sockets.}] [titledesc {One-to-many communication with sockets.}] [category {Programming tools}] [require Tcl 8.2] [require logger] [require multiplexer [opt 0.2]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [comment { $Id: multiplexer.man,v 1.11 2009/01/29 06:16:20 andreas_kupries Exp $ }] [manpage_begin multiplexer n 0.2] [keywords chat] [keywords multiplexer] [moddesc {One-to-many communication with sockets.}] [titledesc {One-to-many communication with sockets.}] [category {Programming tools}] [require Tcl 8.2] [require logger] [require multiplexer [opt 0.2]] [description] |
︙ | ︙ | |||
52 53 54 55 56 57 58 | warn, error, critical). [list_end] [call [cmd \${multiplexer_instance}::AddFilter] [arg cmdprefix]] Command to add a filter for data that passes through the multiplexer | | < | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | warn, error, critical). [list_end] [call [cmd \${multiplexer_instance}::AddFilter] [arg cmdprefix]] Command to add a filter for data that passes through the multiplexer instance. The registered [arg cmdprefix] is called when data arrives at a multiplexer instance. If there is more than one filter command registered at the instance they will be called in the order of registristation, and each filter will get the result of the preceding filter as its argument. The first filter gets the incoming data as its argument. The result returned by the last filter is the data which will be broadcast to all clients of the multiplexer instance. The command prefix is called as [list_begin definitions] [call [cmd cmdprefix] [arg data] [arg chan] [arg clientaddress] [arg clientport]] Takes the incoming [arg data], modifies it, and returns that as its result. The last three arguments contain information about the client which sent the data to filter: The channel connecting us to the client, its ip-address, and its ip-port. [list_end] [call [cmd \${multiplexer_instance}::AddAccessFilter] [arg cmdprefix]] Command to add an access filter. The registered [arg cmdprefix] is called when a new client socket tries to connect to the multixer instance. If there is more than one |
︙ | ︙ | |||
98 99 100 101 102 103 104 | The arguments contain information about the client which tries to connected to the instance: The channel connecting us to the client, its ip-address, and its ip-port. [list_end] | < | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | The arguments contain information about the client which tries to connected to the instance: The channel connecting us to the client, its ip-address, and its ip-port. [list_end] [call [cmd \${multiplexer_instance}::AddExitFilter] [arg cmdprefix]] Adds filter to be run when client socket generates an EOF condition. The registered [arg cmdprefix] is called when a client socket of the multixer signals EOF. If there is more than one exit filter command registered at the instance they will be called in the order of |
︙ | ︙ | |||
121 122 123 124 125 126 127 | The arguments contain information about the client which signaled the EOF: The channel connecting us to the client, its ip-address, and its ip-port. [list_end] [list_end] | < | < < | < < < < < < < < | 121 122 123 124 125 126 127 128 129 130 | The arguments contain information about the client which signaled the EOF: The channel connecting us to the client, its ip-address, and its ip-port. [list_end] [list_end] [vset CATEGORY multiplexer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/namespacex/namespacex.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin namespacex n 0.1] [copyright {200? Neil Madden (http://wiki.tcl.tk/12790)}] [copyright {200? Various (http://wiki.tcl.tk/1489)}] [copyright {2010 Documentation, Andreas Kupries}] [moddesc {Namespace utility commands}] [titledesc {Namespace utility commands}] [require Tcl 8.5] [require namespacex [opt 0.1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin namespacex n 0.1] [keywords {extended namespace}] [keywords info] [keywords {namespace unknown}] [keywords {namespace utilities}] [keywords {state (de)serialization}] [keywords {unknown hooking}] [keywords utilities] [copyright {200? Neil Madden (http://wiki.tcl.tk/12790)}] [copyright {200? Various (http://wiki.tcl.tk/1489)}] [copyright {2010 Documentation, Andreas Kupries}] [moddesc {Namespace utility commands}] [titledesc {Namespace utility commands}] [require Tcl 8.5] [require namespacex [opt 0.1]] |
︙ | ︙ | |||
17 18 19 20 21 22 23 | [list_begin definitions] [call [cmd {::namespacex hook add}] [opt [arg namespace]] [arg cmdprefix]] [call [cmd {::namespacex hook proc}] [opt [arg namespace]] [arg arguments] [arg body]] [call [cmd {::namespacex hook on}] [opt [arg namespace]] [arg guardcmdprefix] [arg actioncmdprefix]] [call [cmd {::namespacex hook next}] [arg arg]...] | < < < < < < < < < < | 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | [list_begin definitions] [call [cmd {::namespacex hook add}] [opt [arg namespace]] [arg cmdprefix]] [call [cmd {::namespacex hook proc}] [opt [arg namespace]] [arg arguments] [arg body]] [call [cmd {::namespacex hook on}] [opt [arg namespace]] [arg guardcmdprefix] [arg actioncmdprefix]] [call [cmd {::namespacex hook next}] [arg arg]...] [call [cmd {::namespacex info allchildren}] [arg namespace]] This command returns a list containing the names of all child namespaces in the specified [arg namespace] and its children. The names are all fully qualified. [call [cmd {::namespacex info allvars}] [arg namespace]] This command returns a list containing the names of all variables in the specified [arg namespace] and its children. The names are all relative to [arg namespace], and [emph not] fully qualified. [call [cmd {::namespacex info vars}] [arg namespace] [opt [arg pattern]]] This command returns a list containing the names of all variables in the specified [arg namespace]. [call [cmd {::namespacex state get}] [arg namespace]] This command returns a dictionary holding the names and values of all variables in the specified [arg namespace] and its child namespaces. [para] Note that the names are all relative to [arg namespace], and [emph not] fully qualified. [call [cmd {::namespacex state set}] [arg namespace] [arg dict]] This command takes a dictionary holding the names and values for a set of variables and replaces the current state of the specified [arg namespace] and its child namespaces with this state. The result of the command is the empty string. [call [cmd {::namespacex state drop}] [arg namespace]] This command unsets all variables in the specified [arg namespace] and its child namespaces. The result of the command is the empty string. [list_end] [manpage_end] |
Changes to modules/ncgi/ncgi.man.
1 2 3 4 5 6 7 8 | [manpage_begin ncgi n 1.4.2] [comment {-*- tcl -*- doctools manpage}] [moddesc {CGI Support}] [titledesc {Procedures to manipulate CGI values.}] [category {CGI programming}] [require Tcl 8.4] [require ncgi [opt 1.4.2]] [description] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [manpage_begin ncgi n 1.4.2] [see_also html] [keywords CGI] [keywords cookie] [keywords form] [keywords html] [comment {-*- tcl -*- doctools manpage}] [moddesc {CGI Support}] [titledesc {Procedures to manipulate CGI values.}] [category {CGI programming}] [require Tcl 8.4] [require ncgi [opt 1.4.2]] [description] |
︙ | ︙ | |||
37 38 39 40 41 42 43 | servers to initialize the source of the CGI values. Otherwise the values are read in from the CGI environment. [para] The complete set of procedures is described below. | < < < < < < < < < | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | servers to initialize the source of the CGI values. Otherwise the values are read in from the CGI environment. [para] The complete set of procedures is described below. [list_begin definitions] [call [cmd ::ncgi::cookie] [arg cookie]] Return a list of values for [arg cookie], if any. It is possible that more than one cookie with the same name can be present, so this procedure returns a list. [call [cmd ::ncgi::decode] [arg str]] Decode strings in www-url-encoding, which represents special characters with a %xx sequence, where xx is the character code in hex. [call [cmd ::ncgi::empty] [arg name]] Returns 1 if the CGI variable [arg name] is not present or has the empty string as its value. [call [cmd ::ncgi::exists] [arg name]] The return value is a boolean. It returns [const 0] if the CGI variable [arg name] is not present, and [const 1] otherwise. [call [cmd ::ncgi::encode] [arg string]] Encode [arg string] into www-url-encoded format. [call [cmd ::ncgi::header] [opt [arg type]] [arg args]] Output the CGI header to standard output. This emits a Content-Type: header and additional headers based on [arg args], which is a list of header names and header values. The [arg type] defaults to "text/html". [call [cmd ::ncgi::import] [arg cginame] [opt [arg tclname]]] This creates a variable in the current scope with the value of the CGI variable [arg cginame]. The name of the variable is [arg tclname], or [arg cginame] if [arg tclname] is empty (default). [call [cmd ::ncgi::importAll] [arg args]] This imports several CGI variables as Tcl variables. If [arg args] is empty, then every CGI value is imported. Otherwise each CGI variable listed in [arg args] is imported. [call [cmd ::ncgi::importFile] [arg cmd] [arg cginame] [opt [arg filename]]] This provides information about an uploaded file from a form input field of type [const file] with name [arg cginame]. [arg cmd] can be one of [option -server] [option -client], [option -type] or [option -data]. [list_begin definitions] |
︙ | ︙ | |||
121 122 123 124 125 126 127 | writes the file contents to a local temporary file (or [arg filename] if supplied) and returns the name of the file. The caller is responsible for deleting this file after use. [list_end] | < < | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | writes the file contents to a local temporary file (or [arg filename] if supplied) and returns the name of the file. The caller is responsible for deleting this file after use. [list_end] [call [cmd ::ncgi::input] [opt [arg fakeinput]] [opt [arg fakecookie]]] This reads and decodes the CGI values from the environment. It restricts repeated form values to have a trailing "List" in their name. The CGI values are obtained later with the [cmd ::ncgi::value] procedure. [call [cmd ::ncgi::multipart] [arg {type query}]] This procedure parses a multipart/form-data [arg query]. This is used by [cmd ::ncgi::nvlist] and not normally called directly. It returns an alternating list of names and structured values. Each structure value is in turn a list of two elements. The first element is |
︙ | ︙ | |||
150 151 152 153 154 155 156 | The [arg type] is the whole Content-Type, including the parameters like [arg boundary]. This returns a list of names and values that describe the multipart data. The values are a nested list structure that has some descriptive information first, and the actual form value second. The descriptive information is list of header names and values that describe the content. | < < < < < < < < < < < < < < < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | The [arg type] is the whole Content-Type, including the parameters like [arg boundary]. This returns a list of names and values that describe the multipart data. The values are a nested list structure that has some descriptive information first, and the actual form value second. The descriptive information is list of header names and values that describe the content. [call [cmd ::ncgi::nvlist]] This returns all the query data as a name, value list. In the case of multipart/form-data, the values are structured as described in [cmd ::ncgi::multipart]. [call [cmd ::ncgi::names]] This returns all names found in the query data, as a list. [cmd ::ncgi::multipart]. [call [cmd ::ncgi::parse]] This reads and decodes the CGI values from the environment. The CGI values are obtained later with the [cmd ::ncgi::value] procedure. IF a CGI value is repeated, then you should use [cmd ::ncgi::valueList] to get the complete list of values. [call [cmd ::ncgi::parseMimeValue] [arg value]] This decodes the Content-Type and other MIME headers that have the form of "primary value; param=val; p2=v2" It returns a list, where the first element is the primary value, and the second element is a list of parameter names and values. [call [cmd ::ncgi::query]] This returns the raw query data. [call [cmd ::ncgi::redirect] [arg url]] Generate a response that causes a 302 redirect by the Web server. The [arg url] is the new URL that is the target of the redirect. The URL will be qualified with the current server and current directory, if necessary, to convert it into a full URL. [call [cmd ::ncgi::reset] [arg {query type}]] Set the query data and Content-Type for the current CGI session. This is used by the test suite and by Web servers to initialize the ncgi module so it does not try to read standard input or use environment variables to get its data. If neither [arg query] or [arg type] are specified, then the [package ncgi] module will look in the standard CGI environment for its data. [call [cmd ::ncgi::setCookie] [arg args]] Set a cookie value that will be returned as part of the reply. This must be done before [cmd ::ncgi::header] or [cmd ::ncgi::redirect] is called in order for the cookie to be returned properly. The [arg args] are a set of flags and values: [list_begin definitions] [def "[option -name] [arg name]"] [def "[option -value] [arg value]"] [def "[option -expires] [arg date]"] [def "[option -path] [arg {path restriction}]"] [def "[option -domain] [arg {domain restriction}]"] [list_end] [call [cmd ::ncgi::setDefaultValue] [arg {key defvalue}]] Set a CGI value if it does not already exists. This affects future calls to [cmd ::ncgi::value] (but not future calls to [cmd ::ncgi::nvlist]). If the CGI value already is present, then this procedure has no side effects. [call [cmd ::ncgi::setDefaultValueList] [arg {key defvaluelist}]] Like [cmd ::ncgi::setDefaultValue] except that the value already has list structure to represent multiple checkboxes or a multi-selection. [call [cmd ::ncgi::setValue] [arg {key value}]] Set a CGI value, overriding whatever was present in the CGI environment already. This affects future calls to [cmd ::ncgi::value] (but not future calls to [cmd ::ncgi::nvlist]). [call [cmd ::ncgi::setValueList] [arg {key valuelist}]] Like [cmd ::ncgi::setValue] except that the value already has list structure to represent multiple checkboxes or a multi-selection. [call [cmd ::ncgi::type]] Returns the Content-Type of the current CGI values. [call [cmd ::ncgi::urlStub] [opt [arg url]]] Returns the current URL, but without the protocol, server, and port. If [arg url] is specified, then it defines the URL for the current session. That value will be returned by future calls to [cmd ::ncgi::urlStub] [call [cmd ::ncgi::value] [arg key] [opt [arg default]]] Return the CGI value identified by [arg key]. If the CGI value is not present, then the [arg default] value is returned instead. This value defaults to the empty string. [para] If the form value [arg key] is repeated, then there are two cases: if [cmd ::ncgi::parse] was called, then [cmd ::ncgi::value] only returns the first value associated with [arg key]. If [cmd ::ncgi::input] was called, then [cmd ::ncgi::value] returns a Tcl list value and [arg key] must end in "List" (e.g., "skuList"). In the case of multipart/form-data, this procedure just returns the value of the form element. If you want the meta-data associated with each form value, then use [cmd ::ncgi::valueList]. [call [cmd ::ncgi::valueList] [arg key] [opt [arg default]]] Like [cmd ::ncgi::value], but this always returns a list of values (even if there is only one value). In the case of multipart/form-data, this procedure returns a list of two elements. The first element is meta-data in the form of a parameter, value list. |
︙ | ︙ | |||
324 325 326 327 328 329 330 | set fh [open $filename w] puts -nonewline $fh $filedata close $fh }] [para] | < | < < | < < < < < < < < < | 303 304 305 306 307 308 309 310 311 312 | set fh [open $filename w] puts -nonewline $fh $filedata close $fh }] [para] [vset CATEGORY ncgi] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nmea/nmea.man.
1 2 3 4 5 6 7 8 | [manpage_begin nmea n 1.0.0] [copyright {2006-2009, Aaron Faupell <[email protected]>}] [moddesc {NMEA protocol implementation}] [titledesc {Process NMEA data}] [category Networking] [require Tcl 8.4] [require nmea [opt 1.0.0]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin nmea n 1.0.0] [keywords gps] [keywords nmea] [copyright {2006-2009, Aaron Faupell <[email protected]>}] [moddesc {NMEA protocol implementation}] [titledesc {Process NMEA data}] [category Networking] [require Tcl 8.4] [require nmea [opt 1.0.0]] [description] |
︙ | ︙ | |||
53 54 55 56 57 58 59 | consistant across files, there does not need to be a file currently open to use this command. Set to 0 to disable automatic line processing. [call [cmd ::nmea::log] [opt file]] Starts or stops input logging. If a file name is specified then all NMEA data recieved on the open port will be logged to the [opt file] in append mode. If file is an empty string then any logging will be stopped. If no file is specified then returns a boolean value indicating | | | | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | consistant across files, there does not need to be a file currently open to use this command. Set to 0 to disable automatic line processing. [call [cmd ::nmea::log] [opt file]] Starts or stops input logging. If a file name is specified then all NMEA data recieved on the open port will be logged to the [opt file] in append mode. If file is an empty string then any logging will be stopped. If no file is specified then returns a boolean value indicating if logging is currently enabled. Data written to the port by [cmd write], data read from files, or input made using [cmd input], is not logged. [call [cmd ::nmea::checksum] [arg data]] Returns the checksum of the supplied data. [call [cmd ::nmea::write] [arg sentence] [arg data]] If there is a currently open port, this command will write the specified sentence and data to the port in proper NMEA checksummed format. [call [cmd ::nmea::event] [arg setence] [opt command]] Registers a handler proc for a given NMEA [arg sentence]. There may be at most one handler per sentence, any existing handler is replaced. If no command is specified, returns the name of the current handler for the given [arg setence] or an empty string if none exists. In addition to the incoming sentences there are 2 builtin types, EOF and DEFAULT. The handler for the DEFAULT setence is invoked if there is not a specific handler for that sentence. The EOF handler is invoked when End Of File is reached on the open file or port. [para] The handler procedures, with the exception of the builtin types,must take exactly one argument, which is a list of the data values. |
︙ | ︙ | |||
91 92 93 94 95 96 97 | proc handle_unknown {name data} { puts "unknown data type $name" } }] [list_end] | < | < < | < < < < < < < < | 93 94 95 96 97 98 99 100 101 102 | proc handle_unknown {name data} { puts "unknown data type $name" } }] [list_end] [vset CATEGORY nmea] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_auto.man.
1 2 3 4 5 6 7 8 | [manpage_begin nameserv::auto n 0.3] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Client Extension}] [category Networking] [require Tcl 8.4] [require nameserv::auto [opt 0.3]] [require nameserv] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin nameserv::auto n 0.3] [see_also nameserv(n)] [keywords automatic] [keywords client] [keywords {name service}] [keywords reconnect] [keywords restore] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Client Extension}] [category Networking] [require Tcl 8.4] [require nameserv::auto [opt 0.3]] [require nameserv] [description] Please read the document [term {Name service facility, introduction}] first. [para] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | searches are remembered client-side and automatically re-entered into the server when the connection comes back after its loss. For bound names there is one important limitation to such restoration: It is possible that a name of this client was bound by a different client while the connection was gone. Such names are fully lost, and the best the package can and will do is to inform the user of this. | < < < | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | searches are remembered client-side and automatically re-entered into the server when the connection comes back after its loss. For bound names there is one important limitation to such restoration: It is possible that a name of this client was bound by a different client while the connection was gone. Such names are fully lost, and the best the package can and will do is to inform the user of this. [section API] The user-visible API is mainly identical the API of [package nameserv] and is therefore not described here. Please read the documentation of [package nameserv]. [para] The differences are explained in the sections [sectref OPTIONS] and [sectref EVENTS]. [section OPTIONS] This package supports all the option of package [package nameserv], and one more. The additional option allows the user to specifies the time interval between attempts to restore a lost connection. [list_begin options] [opt_def -delay [arg milliseconds]] The value of this option is an integer value > 0 which specifies the interval to wait between attempts to restore a lost connection, in milliseconds. The default value is [const 1000], i.e. one second. [list_end] [section EVENTS] This package generates all of the events of package [package nameserv], and two more. Both events are generated for the tag [term nameserv]. [list_begin definitions] |
︙ | ︙ | |||
88 89 90 91 92 93 94 | [para] The event has no detail information. [list_end] | < | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | [para] The event has no detail information. [list_end] [section DESIGN] The package is implemented on top of the regular nameservice client, i.e. package [package nameserv]. It detects the loss of the connection by listening for [term lost-connection] events, on the tag [term nameserv]. |
︙ | ︙ | |||
110 111 112 113 114 115 116 | [para] Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts. | | < | < < < < < < < < < | 110 111 112 113 114 115 116 117 118 119 | [para] Another loss of the connection, be it during or after re-entering the remembered information simply restarts the timer and subsequent reconnection attempts. [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_client.man.
1 2 3 4 5 6 7 8 9 | [manpage_begin nameserv n 0.4.2] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Client}] [category Networking] [require Tcl 8.4] [require nameserv [opt 0.4.2]] [require comm] [require logger] | > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [manpage_begin nameserv n 0.4.2] [see_also nameserv::common(n)] [see_also nameserv::server(n)] [keywords client] [keywords {name service}] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Client}] [category Networking] [require Tcl 8.4] [require nameserv [opt 0.4.2]] [require comm] [require logger] [description] Please read [term {Name service facility, introduction}] first. [para] This package provides a client for the name service facility |
︙ | ︙ | |||
53 54 55 56 57 58 59 | than one name, and each name can have its own piece of [arg data]. [para] Note that the name service, and thwerefore this command, will throw an error if the chosen name is already registered. | < < | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | than one name, and each name can have its own piece of [arg data]. [para] Note that the name service, and thwerefore this command, will throw an error if the chosen name is already registered. [call [cmd ::nameserv::release]] Invoking this command releases all names (and their data) registered by all previous calls to [cmd ::nameserv::bind] of this client. Note that the name service will run this command implicitly when it loses the connection to this client. [call [cmd ::nameserv::search] [opt [option -async]|[option -continuous]] [opt [arg pattern]]] This command searches the name service for all registered names matching the specified glob-[arg pattern]. If not specified the pattern defaults to [const *], matching everything. The result of the command is a dictionary mapping the matching names to the data |
︙ | ︙ | |||
102 103 104 105 106 107 108 | further changes) arrive. [para] For more information about this object see section [sectref {ASYNCHRONOUS AND CONTINUOUS SEARCHES}]. | < < < < < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | further changes) arrive. [para] For more information about this object see section [sectref {ASYNCHRONOUS AND CONTINUOUS SEARCHES}]. [call [cmd ::nameserv::protocol]] This command returns the highest version of the name service protocol supported by the package. [call [cmd ::nameserv::server_protocol]] This command returns the highest version of the name service protocol supported by the name service the client is currently connected to. [call [cmd ::nameserv::server_features]] This command returns a list containing the names of the features of the name service protocol which are supported by the name service the client is currently connected to. [call [cmd ::nameserv::cget] [option -option]] This command returns the currently configured value for the specified [option -option]. The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::configure]] In this form the command returns a dictionary of all supported options, and their current values. The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::configure] [option -option]] In this form the command is an alias for "[cmd ::nameserv::cget] [option -option]]". The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::configure] "[option -option] [arg value]..."] In this form the command is used to configure one or more of the supported options. At least one option has to be specified, and each option is followed by its new value. |
︙ | ︙ | |||
170 171 172 173 174 175 176 | [cmd_def bind] [cmd_def release] [cmd_def search] [cmd_def server_protocol] [cmd_def server_features] [list_end] [list_end] | < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | [cmd_def bind] [cmd_def release] [cmd_def search] [cmd_def server_protocol] [cmd_def server_features] [list_end] [list_end] [section {CONNECTION HANDLING}] The client automatically connects to the service when one of the commands below is run for the first time, or whenever one of the commands is run after the connection was lost, when it was lost. |
︙ | ︙ | |||
205 206 207 208 209 210 211 | detail information provided to that event is a Tcl dictionary. The only key contained in the dictionnary is [const reason], and its value will be a string describing why the connection was lost. This string is supplied by the underlying communication package, i.e. [package comm]. | < < < | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | detail information provided to that event is a Tcl dictionary. The only key contained in the dictionnary is [const reason], and its value will be a string describing why the connection was lost. This string is supplied by the underlying communication package, i.e. [package comm]. [section OPTIONS] The options supported by the client are for the specification of which name service to contact, i.e. of the location of the name service. They are: [list_begin options] [opt_def -host [arg name]|[arg ipaddress]] This option specifies the host name service to contact is running on, either by [arg name], or by [arg ipaddress]. The initial default is [const localhost], i.e. it is expected to contact a name service running on the same host as the application using this package. [opt_def -port [arg number]] This option specifies the port the name service to contact is listening on. It has to be a positive integer number (> 0) not greater than 65536 (unsigned short). The initial default is the number returned by the command [cmd ::nameserv::common::port], as provided by the package [package ::nameserv::common]. [list_end] [section {ASYNCHRONOUS AND CONTINUOUS SEARCHES}] Asynchronous and continuous searches are invoked by using either option [option -async] or [option -continuous] as argument to the command [cmd ::nameserv::search]. |
︙ | ︙ | |||
294 295 296 297 298 299 300 | [list_begin definitions] [call [cmd \$result] [method destroy]] Destroys the object and cancels any continuous monitoring of the service the object may have had active. | < | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | [list_begin definitions] [call [cmd \$result] [method destroy]] Destroys the object and cancels any continuous monitoring of the service the object may have had active. [call [cmd \$result] [method filled]] The result is a boolean value indicating whether the search result has already arrived ([const True]), or not ([const False]). [call [cmd \$result] [method get] [arg name]] |
︙ | ︙ | |||
324 325 326 327 328 329 330 | Returns a dictionary containing the search result at the time of the invokation, mapping the matching names to the data associated with them at [term bind]-time. [list_end] [list_end] | < < | < < | < < < < < < | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | Returns a dictionary containing the search result at the time of the invokation, mapping the matching names to the data associated with them at [term bind]-time. [list_end] [list_end] [section HISTORY] [list_begin definitions] [def 0.3.1] Fixed SF Bug 1954771. [def 0.3] Extended the client with the ability to perform asynchronous and continuous searches. [def 0.2] Extended the client with the ability to generate events when it loses its connection to the name service. Based on package [package uevent]. [def 0.1] Initial implementation of the client. [list_end] [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_common.man.
1 2 3 4 5 6 7 | [manpage_begin nameserv::common n 0.1] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, shared definitions}] [category Networking] [require Tcl 8] [require nameserv::common [opt 0.1]] | > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin nameserv::common n 0.1] [see_also nameserv::client(n)] [see_also nameserv::server(n)] [keywords client] [keywords {name service}] [keywords server] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, shared definitions}] [category Networking] [require Tcl 8] [require nameserv::common [opt 0.1]] [description] Please read [term {Name service facility, introduction}] first. [para] This package is internal and of no interest to users. It provides the |
︙ | ︙ | |||
36 37 38 39 40 41 42 | The result returned by the command is the id of the default TCP/IP port a nameservice server will listen on, and a name service client will try to connect to. [list_end] | < | < < | < < < < < < | 38 39 40 41 42 43 44 45 46 47 | The result returned by the command is the id of the default TCP/IP port a nameservice server will listen on, and a name service client will try to connect to. [list_end] [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_intro.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nns_intro n 1.0] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, introduction}] [category Networking] [description] [para] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nns_intro n 1.0] [see_also nameserv(n)] [see_also nameserv::auto(n)] [see_also nameserv::common(n)] [see_also nameserv::protocol(n)] [see_also nameserv::server(n)] [see_also nnsd(n)] [see_also nss(n)] [keywords client] [keywords {name service}] [keywords server] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, introduction}] [category Networking] [description] [para] |
︙ | ︙ | |||
20 21 22 23 24 25 26 | the packages [package dns] and [package resolv], both found in Tcllib too. [para] Tcllib provides 2 applications and 4 packages which are working together and provide access to the facility at different levels. | < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | the packages [package dns] and [package resolv], both found in Tcllib too. [para] Tcllib provides 2 applications and 4 packages which are working together and provide access to the facility at different levels. [section Applications] The application [syscmd nnsd] provides a simple name server which can be run by anybody anywhere on their system, as they see fit. It is also an example on the use of the server-side package |
︙ | ︙ | |||
61 62 63 64 65 66 67 | [syscmd nns] client application. It is reduced to perform a continuous search for all changes and logs all received events to stdout. [para] Both clients use the [package nameserv::auto] package to automatically hande the loss and restoration of the connection to the server. | < | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | [syscmd nns] client application. It is reduced to perform a continuous search for all changes and logs all received events to stdout. [para] Both clients use the [package nameserv::auto] package to automatically hande the loss and restoration of the connection to the server. [section Packages] The two main packages implementing the service are [package nameserv] and [package nameserv::server], i.e. client and server. The latter has not much of an API, just enough to start, stop, and configure it. See the application [syscmd nnsd] on how to use it. |
︙ | ︙ | |||
111 112 113 114 115 116 117 | [para] Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it. | | < | < < < < < < < < < < < < < < < < < < < | 119 120 121 122 123 124 125 126 127 128 | [para] Developers wishing to modify and/or extend or to just understand the internals of the nameservice facility however are strongly advised to read it. [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_protocol.man.
1 2 3 4 5 | [manpage_begin nameserv::protocol n 0.1] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, client/server protocol}] [category Networking] | > > > > > > < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | [manpage_begin nameserv::protocol n 0.1] [see_also comm_wire(n)] [see_also nameserv(n)] [see_also nameserv::server(n)] [keywords comm] [keywords {name service}] [keywords protocol] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, client/server protocol}] [category Networking] [description] The packages [package nameserv::server], [package nameserv], and [package nameserv::common] provide a simple unprotected name service facility for use in small trusted environments. [para] Please read [term {Name service facility, introduction}] first. [para] This document contains the specification of the network protocol which is used by client and server to talk to each other, enabling implementations of the same protocol in other languages. [section {Nano Name Service Protocol Version 1}] This protocol defines the basic set of messages to be supported by a name service, also called the [term Core] feature. [subsection {Basic Layer}] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | [para] The protocol is synchronous. I.e. for each message sent a response is expected, and has to be generated. All messages are sent by the client. The server does not sent messages, only responses to messages. | < < < < < < | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | [para] The protocol is synchronous. I.e. for each message sent a response is expected, and has to be generated. All messages are sent by the client. The server does not sent messages, only responses to messages. [subsection {Message Layer}] [list_begin definitions] [call [method Bind] [arg name] [arg data]] The client sends this message when it registers itself at the service with a [arg name] and some associated [arg data]. The server has to send an error response if the [arg name] is already in use. Otherwise the response has to be an empty string. [para] The server has to accept multiple names for the same client. [call [method Release]] The client sends this message to unregister all names it is known under at the service. The response has to be an empty string, always. [call [method Search] [arg pattern]] The client sends this message to search the service for names matching the glob-[arg pattern]. The response has to be a dictionary containing the matching names as keys, and mapping them to the data associated with it at [method Bind]-time. [call [method ProtocolVersion]] The client sends this message to query the service for the highest version of the name service protocol it supports. The response has to be a positive integer number. [para] Servers supporting only [term {Nano Name Service Protocol Version 1}] have to return [const 1]. [call [method ProtocolFeatures]] The client sends this message to query the service for the features of the name service protocol it supports. The response has to be a list containing feature names. [para] Servers supporting only [term {Nano Name Service Protocol Version 1}] have to return [const {{Core}}]. [list_end] [section {Nano Name Service Protocol Extension: Continuous Search}] This protocol defines an extended set of messages to be supported by a name service, also called the [term Search/Continuous] feature. This feature defines additional messages between client and server, and is otherwise identical to version 1 of the protocol. See the last section |
︙ | ︙ | |||
156 157 158 159 160 161 162 | distinguish between the different results. [call [method Search/Continuous/Stop] [arg tag]] The client sends this message to stop the continuous search identified by the [arg tag]. | < | 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | distinguish between the different results. [call [method Search/Continuous/Stop] [arg tag]] The client sends this message to stop the continuous search identified by the [arg tag]. [call [method Search/Continuous/Change] [arg tag] [method add]|[method remove] [arg response]] This message is sent by the service to clients with active continuous searches to transfer found changes. The first such message for a new continuous search has to contains the current set of matching entries. [para] |
︙ | ︙ | |||
179 180 181 182 183 184 185 | [method Bind]-time. The argument coming before the response tells the client whether the names in the response were added or removed from the service. [list_end] | | < | < < < < < < < < < < | 173 174 175 176 177 178 179 180 181 182 | [method Bind]-time. The argument coming before the response tells the client whether the names in the response were added or removed from the service. [list_end] [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nns/nns_server.man.
1 2 3 4 5 6 7 8 9 10 | [manpage_begin nameserv::server n 0.3.2] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Server}] [category Networking] [require Tcl 8.4] [require nameserv::server [opt 0.3.2]] [require comm] [require interp] [require logger] | > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin nameserv::server n 0.3.2] [see_also nameserv::client(n)] [see_also nameserv::common(n)] [keywords {name service}] [keywords server] [copyright {2007-2008 Andreas Kupries <[email protected]>}] [moddesc {Name service facility}] [titledesc {Name service facility, Server}] [category Networking] [require Tcl 8.4] [require nameserv::server [opt 0.3.2]] [require comm] [require interp] [require logger] [description] Please read [term {Name service facility, introduction}] first. [para] This package provides an implementation of the serviver side of the |
︙ | ︙ | |||
30 31 32 33 34 35 36 | packages [package dns] and [package resolv]. [para] This server supports the [term Core] protocol feature, and since version 0.3 the [term Search/Continuous] feature as well. | < < < < < < < | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | packages [package dns] and [package resolv]. [para] This server supports the [term Core] protocol feature, and since version 0.3 the [term Search/Continuous] feature as well. [section API] The package exports five commands, as specified below: [list_begin definitions] [call [cmd ::nameserv::server::start]] This command starts the server and causes it to listen on the configured port. From now on clients are able to connect and make requests. The result of the command is the empty string. [para] Note that any incoming requests will only be handled if the application the server is part of does enter an event loop after this command has been run. [call [cmd ::nameserv::server::stop]] Invoking this command stops the server and releases all information it had. Existing connections are shut down, and no new connections will be accepted any longer. The result of the command is the empty string. [call [cmd ::nameserv::server::active?]] This command returns a boolean value indicating the state of the server. The result will be [const true] if the server is active, i.e. has been started, and [const false] otherwise. [call [cmd ::nameserv::server::cget] [option -option]] This command returns the currently configured value for the specified [option -option]. The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::server::configure]] In this form the command returns a dictionary of all supported options, and their current values. The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::server::configure] [option -option]] In this form the command is an alias for "[cmd ::nameserv::server::cget] [option -option]]". The list of supported options and their meaning can be found in section [sectref OPTIONS]. [call [cmd ::nameserv::server::configure] "[option -option] [arg value]..."] In this form the command is used to configure one or more of the supported options. At least one option has to be specified, and each option is followed by its new value. The list of supported options and their meaning can be found in section [sectref OPTIONS]. [para] This form can be used only if the server is not active, i.e. has not been started yet, or has been stopped. While the server is active it cannot be reconfigured. [list_end] [section OPTIONS] The options supported by the server are for the specification of the TCP port to listen on, and whether to accept non-local connections or not. |
︙ | ︙ | |||
129 130 131 132 133 134 135 | it has been started. It has to be a positive integer number (> 0) not greater than 65536 (unsigned short). The initial default is the number returned by the command [cmd ::nameserv::server::common::port], as provided by the package [package ::nameserv::server::common]. [list_end] | < | < | < < < < < < < < < | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | it has been started. It has to be a positive integer number (> 0) not greater than 65536 (unsigned short). The initial default is the number returned by the command [cmd ::nameserv::server::common::port], as provided by the package [package ::nameserv::server::common]. [list_end] [section HISTORY] [list_begin definitions] [def 0.3] Extended the server with the ability to perform asynchronous and continuous searches. [def 0.2] Changed name of -local switch to -localonly. [def 0.1] Initial implementation of the server. [list_end] [vset CATEGORY nameserv] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/nntp/nntp.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nntp n 1.5.1] [moddesc {Tcl NNTP Client Library}] [titledesc {Tcl client for the NNTP protocol}] [category Networking] [require Tcl 8.2] [require nntp [opt 0.2.1]] [description] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin nntp n 1.5.1] [keywords news] [keywords nntp] [keywords nntpclient] [keywords {rfc 977}] [keywords {rfc 1036}] [moddesc {Tcl NNTP Client Library}] [titledesc {Tcl client for the NNTP protocol}] [category Networking] [require Tcl 8.2] [require nntp [opt 0.2.1]] [description] |
︙ | ︙ | |||
78 79 80 81 82 83 84 | One application of this option would be the download of articles containing yEnc encoded images. Although encoded the data is still mostly binary and retrieving it as text will corrupt the information. [para] See package [package yencode] for both encoder and decoder of such data. | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | One application of this option would be the download of articles containing yEnc encoded images. Although encoded the data is still mostly binary and retrieving it as text will corrupt the information. [para] See package [package yencode] for both encoder and decoder of such data. [call [arg nntpName] [method date]] Query the server for the servers current date. The date is returned in the format [emph YYYYMMDDHHMMSS]. [call [arg nntpName] [method group] [opt [arg group]]] |
︙ | ︙ | |||
244 245 246 247 248 249 250 | [def "[arg msgid1] [arg msgid2]"] All messages between [arg msgid1] and [arg msgid2] (including [arg msgid1] and [arg msgid2]) are queried. [list_end] | < < < | 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | [def "[arg msgid1] [arg msgid2]"] All messages between [arg msgid1] and [arg msgid2] (including [arg msgid1] and [arg msgid2]) are queried. [list_end] [call [arg nntpName] [method xover] [opt [arg range]]] Returns header information for the current message or for a range of messages from the current group. The information is returned in a tcl list where each element is of the form: [example { msgid subject from date idstring bodysize headersize xref }] If [arg range] is not specified or is "" then the current message is queried. The [arg range] argument can be in any of the following forms: [list_begin definitions] [def [const {""}]] The current message is queried. [def [arg msgid1]-[arg msgid2]] All messages between [arg msgid1] and [arg msgid2] (including [arg msgid1] and [arg msgid2]) are queried. [def "[arg msgid1] [arg msgid2]"] All messages between [arg msgid1] and [arg msgid2] (including [arg msgid1] and [arg msgid2]) are queried. [list_end] [call [arg nntpName] [method xpat] [arg field] [arg range] [opt [arg pattern_list]]] Returns the specified header field value for a specified message or for a list of messages from the current group where the messages match the pattern(s) given in the pattern_list. [arg field] is the title of a field in the header such as from, subject, date, etc. The information is |
︙ | ︙ | |||
314 315 316 317 318 319 320 | [section EXAMPLE] A bigger example for posting a single article. [para] [example { | | | | | | | | | | | | | < | < < | < < < < < < < < | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 | [section EXAMPLE] A bigger example for posting a single article. [para] [example { package require nntp set n [nntp::nntp NNTP_SERVER] $n post "From: [email protected] (USER_FULL) Path: COMPUTERNAME!USERNAME Newsgroups: alt.test Subject: Tcl test post -ignore Message-ID: <[pid][clock seconds] @COMPUTERNAME> Date: [clock format [clock seconds] -format "%a, %d % b %y %H:%M:%S GMT" -gmt true] Test message body" }] [vset CATEGORY nntp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ntp/ntp_time.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin ntp_time n 1.2.1] [copyright {2002, Pat Thoyts <[email protected]>}] [moddesc {Network Time Facilities}] [titledesc {Tcl Time Service Client}] [category Networking] [require Tcl 8.0] [require time [opt 1.2.1]] [description] [para] This package implements a client for the RFC 868 TIME protocol ([uri http://www.rfc-editor.org/rfc/rfc868.txt]) and also a minimal | > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [manpage_begin ntp_time n 1.2.1] [see_also ntp] [keywords NTP] [keywords {rfc 868}] [keywords {rfc 2030}] [keywords SNTP] [keywords time] [copyright {2002, Pat Thoyts <[email protected]>}] [moddesc {Network Time Facilities}] [titledesc {Tcl Time Service Client}] [category Networking] [require Tcl 8.0] [require time [opt 1.2.1]] [description] [para] This package implements a client for the RFC 868 TIME protocol ([uri http://www.rfc-editor.org/rfc/rfc868.txt]) and also a minimal client for the RFC 2030 Simple Network Time Protocol ([uri http://www.rfc-editor.org/rfc/rfc2030.txt]). RFC 868 returns the time in seconds since 1 January 1900 to either tcp or udp clients. RFC 2030 also gives this time but also provides a fractional part which is not used in this client. [section COMMANDS] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | token which must then be used with the remaining commands in this package. Once you have finished, you should use [cmd cleanup] to release all resources. The default port is [const 37]. [call [cmd ::time::getsntp] [opt [arg "options"]] [arg timeserver] [opt [arg "port"]]] Get the time from an SNTP server. This accepts exactly the same | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | token which must then be used with the remaining commands in this package. Once you have finished, you should use [cmd cleanup] to release all resources. The default port is [const 37]. [call [cmd ::time::getsntp] [opt [arg "options"]] [arg timeserver] [opt [arg "port"]]] Get the time from an SNTP server. This accepts exactly the same arguments as [cmd ::time::gettime] except that the default port is [const 123]. The result is a token as per [cmd ::time::gettime] and should be handled in the same way. [para] Note that it is unlikely that any SNTP server will reply using tcp so you will require the [package tcludp] or the [package ceptcl] package. If a suitable package can be loaded then the udp protocol will be used by default. |
︙ | ︙ | |||
89 90 91 92 93 94 95 | Wait for a query to complete and return the status upon completion. [call [cmd ::time::cleanup] [arg token]] Remove all state variables associated with the request. [list_end] | < | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | Wait for a query to complete and return the status upon completion. [call [cmd ::time::cleanup] [arg token]] Remove all state variables associated with the request. [list_end] [example { % set tok [::time::gettime ntp2a.mcc.ac.uk] % set t [::time::unixtime $tok] % ::time::cleanup $tok }] [example { |
︙ | ︙ | |||
114 115 116 117 118 119 120 | puts [time::error $token] } time::cleanup $token } time::getsntp -command on_time pool.ntp.org }] | < < | < < | < < < < < < < < | 119 120 121 122 123 124 125 126 127 128 129 130 131 | puts [time::error $token] } time::cleanup $token } time::getsntp -command on_time pool.ntp.org }] [section AUTHORS] Pat Thoyts [vset CATEGORY ntp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ooutil/ooutil.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin oo::util n 1.1] [copyright {2011-2013 Andreas Kupries, BSD licensed}] [moddesc {Utility commands for TclOO}] [titledesc {Utility commands for TclOO}] [category Utility] [require Tcl 8.5] [require TclOO] [require oo::util [opt 1.1]] | > > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin oo::util n 1.1] [see_also snit(n)] [keywords callback] [keywords {class methods}] [keywords {class variables}] [keywords {command prefix}] [keywords currying] [keywords {method reference}] [keywords {my method}] [keywords singleton] [keywords TclOO] [copyright {2011-2013 Andreas Kupries, BSD licensed}] [moddesc {Utility commands for TclOO}] [titledesc {Utility commands for TclOO}] [category Utility] [require Tcl 8.5] [require TclOO] [require oo::util [opt 1.1]] [description] [para] This package provides a convenience command for the easy specification of instance methods as callback commands, like timers, file events, Tk bindings, etc. |
︙ | ︙ | |||
27 28 29 30 31 32 33 | name and, possibly, arguments for the method and returns a command prefix which, when executed, will invoke the named method of the object we are in, with the provided arguments, and any others supplied at the time of actual invokation. [para] Note: The command is equivalent to and named after the command provided by the OO package [package snit] for the same purpose. | < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | name and, possibly, arguments for the method and returns a command prefix which, when executed, will invoke the named method of the object we are in, with the provided arguments, and any others supplied at the time of actual invokation. [para] Note: The command is equivalent to and named after the command provided by the OO package [package snit] for the same purpose. [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd classmethod] [arg name] [arg arguments] [arg body]] This command is available within class definitions. It takes a method name and, possibly, arguments for the method and creates a method on the class, available to a user of the class and of derived classes. |
︙ | ︙ | |||
53 54 55 56 57 58 59 | } puts [Table find foo bar] # ====== # which will write # ====== # ::Table called with arguments: foo bar }] | < | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | } puts [Table find foo bar] # ====== # which will write # ====== # ::Table called with arguments: foo bar }] [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd classvariable] [opt [arg arg]...]] This command is available within instance methods. It takes a series of variable names and makes them available in the method's scope. The originating scope for the variables is the class (instance) the object |
︙ | ︙ | |||
123 124 125 126 127 128 129 | # The methods a, b, and c all become directly acessible under their # own names. }] The main use of this command is expected to be in instance constructors, for convenience, or to set up some methods for use in a mini DSL. | < | 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | # The methods a, b, and c all become directly acessible under their # own names. }] The main use of this command is expected to be in instance constructors, for convenience, or to set up some methods for use in a mini DSL. [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd ooutil::singleton] [opt [arg arg]...]] This command is a meta-class, i.e. a variant of the builtin [cmd oo::class] which ensures that it creates only a single instance of the classes defined with it. |
︙ | ︙ | |||
151 152 153 154 155 156 157 | }] [list_end] [section AUTHORS] Donal Fellows, Andreas Kupries | < | < < | < < < < < < | 155 156 157 158 159 160 161 162 163 164 | }] [list_end] [section AUTHORS] Donal Fellows, Andreas Kupries [vset CATEGORY oo::util] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/otp/otp.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin otp n 1.0.0] [moddesc {RFC 2289 A One-Time Password System}] [copyright {2006, Pat Thoyts <[email protected]>}] [titledesc {One-Time Passwords}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require otp [opt 1.0.0]] [description] [para] This package is an implementation in Tcl of the One-Time Password system as described in RFC 2289 (1). This system uses message-digest algorithms to sequentially hash a passphrase to create single-use passwords. The resulting data is then provided to the user as either hexadecimal digits or encoded using a dictionary of 2048 words. This system is used by OpenBSD for secure login and can be used as a SASL mechanism for authenticating users. [para] In this implementation we provide support for four algorithms that are | > > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | [manpage_begin otp n 1.0.0] [see_also md4] [see_also md5] [see_also ripemd160] [see_also SASL] [see_also sha1] [keywords hashing] [keywords message-digest] [keywords password] [keywords {rfc 2289}] [keywords security] [moddesc {RFC 2289 A One-Time Password System}] [copyright {2006, Pat Thoyts <[email protected]>}] [titledesc {One-Time Passwords}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require otp [opt 1.0.0]] [description] [para] This package is an implementation in Tcl of the One-Time Password system as described in RFC 2289 (1). This system uses message-digest algorithms to sequentially hash a passphrase to create single-use passwords. The resulting data is then provided to the user as either hexadecimal digits or encoded using a dictionary of 2048 words. This system is used by OpenBSD for secure login and can be used as a SASL mechanism for authenticating users. [para] In this implementation we provide support for four algorithms that are included in the tcllib distribution: MD5 (2), MD4 (3), RIPE-MD160 (4) and SHA-1 (5). [section {COMMANDS}] [list_begin definitions] [call [cmd "::otp::otp-md4"] [opt "[arg -hex]"] [opt "[arg -words]"] \ |
︙ | ︙ | |||
47 48 49 50 51 52 53 | (binary gibberish) % otp::otp-md5 -words -count 99 -seed host67821 "My Secret Pass Phrase" SOON ARAB BURG LIMB FILE WAD % otp::otp-md5 -hex -count 99 -seed host67821 "My Secret Pass Phrase" e249b58257c80087 }] | < | < | < < | < < < < < < < < < | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | (binary gibberish) % otp::otp-md5 -words -count 99 -seed host67821 "My Secret Pass Phrase" SOON ARAB BURG LIMB FILE WAD % otp::otp-md5 -hex -count 99 -seed host67821 "My Secret Pass Phrase" e249b58257c80087 }] [section {REFERENCES}] [list_begin enumerated] [enum] Haller, N. et al., "A One-Time Password System", RFC 2289, February 1998. [uri http://www.rfc-editor.org/rfc/rfc2289.txt] [enum] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" [uri http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf] [enum] "Secure Hash Standard", National Institute of Standards and Technology, U.S. Department Of Commerce, April 1995. ([uri http://www.itl.nist.gov/fipspubs/fip180-1.htm]) [list_end] [vset CATEGORY otp] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_intro.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_intro n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page introduction}] [category {Page Parser Generator}] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_intro n 1.0] [keywords page] [keywords {parser generator}] [keywords {text processing}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page introduction}] [category {Page Parser Generator}] [description] [para] [term page] (short for [emph {parser generator}]) stands for a set of related packages which help in the construction of parser generators, and other utilities doing text processing. |
︙ | ︙ | |||
24 25 26 27 28 29 30 | [para] The packages implementing the plugins are not documented as regular packages, as they cannot be loaded into a general interpreter, like tclsh, without extensive preparation of the interpreter. Preparation which is done for them by the plugin manager. | < | < | < < < < < | 26 27 28 29 30 31 32 33 34 35 | [para] The packages implementing the plugins are not documented as regular packages, as they cannot be loaded into a general interpreter, like tclsh, without extensive preparation of the interpreter. Preparation which is done for them by the plugin manager. [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_pluginmgr.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_pluginmgr n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page plugin manager}] [category {Page Parser Generator}] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_pluginmgr n 1.0] [keywords page] [keywords {parser generator}] [keywords {text processing}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page plugin manager}] [category {Page Parser Generator}] [require page::pluginmgr [opt 0.2]] [require fileutil] [description] [para] This package provides the plugin manager central to the [syscmd page] application. It manages the various reader, writer, configuration, and |
︙ | ︙ | |||
62 63 64 65 66 67 68 | [para] The optional argument [arg from] and [arg to] can be used by the caller to indicate the location (or range) in the input where the reported problem occured. Each is a list containing two elements, the line and the column in the input, in this order. | < < | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | [para] The optional argument [arg from] and [arg to] can be used by the caller to indicate the location (or range) in the input where the reported problem occured. Each is a list containing two elements, the line and the column in the input, in this order. [call [cmd ::page::pluginmgr::log] [arg cmd]] This command defines a log callback command to be used by loaded plugins for the reporting of internal errors, warnings, and general information. Specifying the empty string as callback disables logging. [para] Note: The [arg cmd] has to be created by the [package logger] package, or follow the same API as such. [para] The command returns the empty string as its result. [call [cmd ::page::pluginmgr::configuration] [arg name]] This command loads the named configuration plugin, retrieves the options encoded in it, and then immediately unloads it again. [para] |
︙ | ︙ | |||
101 102 103 104 105 106 107 | See section [sectref {CONFIG PLUGIN API}] for the API expected of configuration plugins. [para] The result of the command is the list of options retrieved. | < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | See section [sectref {CONFIG PLUGIN API}] for the API expected of configuration plugins. [para] The result of the command is the list of options retrieved. [call [cmd ::page::pluginmgr::reader] [arg name]] This command loads the named reader plugin and initializes it. The result of the command is a list of options the plugin understands. [para] Only a single reader plugin can be loaded. Loading another reader plugin causes the previously loaded reader plugin to be de-initialized and unloaded. [para] See section [sectref {READER PLUGIN API}] for the API expected of reader plugins. [call [cmd ::page::pluginmgr::rconfigure] [arg dict]] This commands configures the loaded reader plugin. The options and their values are provided as a Tcl dictionary. The result of the command is the empty string. |
︙ | ︙ | |||
787 788 789 790 791 792 793 | Describe the commands expected by plugins to be available in the environment. Describe the predefined features. }] | < | < | < < < < < < < | 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 | Describe the commands expected by plugins to be available in the environment. Describe the predefined features. }] [section FEATURES] The plugin manager currently checks the plugins for only one feature, [const timeable]. A plugin supporting this feature is assumed to be able to collect timing statistics on request. [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_util_flow.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_flow n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page dataflow/treewalker utility}] [category {Page Parser Generator}] [require page::util::flow [opt 0.1]] [require snit] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_flow n 1.0] [keywords dataflow] [keywords {graph walking}] [keywords page] [keywords {parser generator}] [keywords {text processing}] [keywords {tree walking}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page dataflow/treewalker utility}] [category {Page Parser Generator}] [require page::util::flow [opt 0.1]] [require snit] [description] [para] This package provides a single utility command for easy dataflow based manipulation of arbitrary data structures, especially abstract syntax trees. |
︙ | ︙ | |||
83 84 85 86 87 88 89 | [call [arg flow] [method visita] [arg node]...] This is the variadic arguments form of the method [method visitl], see above. [list_end] | < | < | < < < < < | 87 88 89 90 91 92 93 94 95 96 | [call [arg flow] [method visita] [arg node]...] This is the variadic arguments form of the method [method visitl], see above. [list_end] [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_util_norm_lemon.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_norm_lemon n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page AST normalization, LEMON}] [category {Page Parser Generator}] [require page::util::norm_lemon [opt 0.1]] [require snit] | > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_norm_lemon n 1.0] [keywords {graph walking}] [keywords lemon] [keywords normalization] [keywords page] [keywords {parser generator}] [keywords {text processing}] [keywords {tree walking}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page AST normalization, LEMON}] [category {Page Parser Generator}] [require page::util::norm_lemon [opt 0.1]] [require snit] [description] [para] This package provides a single utility command which takes an AST for a lemon grammar and normalizes it in various ways. The result is called a [term {Normalized Lemon Grammar Tree}]. |
︙ | ︙ | |||
37 38 39 40 41 42 43 | [para] The exact operations performed are left undocumented for the moment. [list_end] | < | < | < < < < < | 42 43 44 45 46 47 48 49 50 51 | [para] The exact operations performed are left undocumented for the moment. [list_end] [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_util_norm_peg.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_norm_peg n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page AST normalization, PEG}] [category {Page Parser Generator}] [require page::util::norm_peg [opt 0.1]] [require snit] | > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_norm_peg n 1.0] [keywords {graph walking}] [keywords normalization] [keywords page] [keywords {parser generator}] [keywords PEG] [keywords {text processing}] [keywords {tree walking}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page AST normalization, PEG}] [category {Page Parser Generator}] [require page::util::norm_peg [opt 0.1]] [require snit] [description] [para] This package provides a single utility command which takes an AST for a parsing expression grammar and normalizes it in various ways. The result is called a [term {Normalized PE Grammar Tree}]. |
︙ | ︙ | |||
36 37 38 39 40 41 42 | The result is called a [term {Normalized PE Grammar Tree}]. [para] The following operations are performd [list_begin enum] | | | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | The result is called a [term {Normalized PE Grammar Tree}]. [para] The following operations are performd [list_begin enum] [enum] The data for all terminals is stored in their grandparental nodes. The terminal nodes and their parents are removed. Type information is dropped. [enum] All nodes which have exactly one child are irrelevant and are removed, with the exception of the root node. The immediate |
︙ | ︙ | |||
91 92 93 94 95 96 97 | [para] The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later. [list_end] [list_end] | < | < | < < < < < | 96 97 98 99 100 101 102 103 104 105 | [para] The order matters, to shed as much nodes as possible early, and to avoid unnecessary work later. [list_end] [list_end] [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_util_peg.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_peg n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page PEG transformation utilities}] [category {Page Parser Generator}] [require page::util::peg [opt 0.1]] [require snit] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_peg n 1.0] [keywords page] [keywords {parser generator}] [keywords {parsing expression grammar}] [keywords PEG] [keywords {text processing}] [keywords transformation] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page PEG transformation utilities}] [category {Page Parser Generator}] [require page::util::peg [opt 0.1]] [require snit] [description] [para] This package provides a few common operations to PEG transformations. They assume a [term {Normalized PE Grammar Tree}] as input, see the package [package page::util::norm::peg], possibly augmented with attributes coming from transformations not in conflict with the base |
︙ | ︙ | |||
95 96 97 98 99 100 101 | list [arg pe] into a Tcl string which can be placed into a Tcl script. See the package [package grammar::peg] for the exact syntax of [arg pe]. [list_end] | < | < | < < < < < | 99 100 101 102 103 104 105 106 107 108 | list [arg pe] into a Tcl string which can be placed into a Tcl script. See the package [package grammar::peg] for the exact syntax of [arg pe]. [list_end] [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/page/page_util_quote.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_quote n 1.0] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page character quoting utilities}] [category {Page Parser Generator}] [require page::util::quote [opt 0.1]] [require snit] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin page_util_quote n 1.0] [keywords page] [keywords {parser generator}] [keywords quoting] [keywords {text processing}] [copyright {2007 Andreas Kupries <[email protected]>}] [moddesc {Parser generator tools}] [titledesc {page character quoting utilities}] [category {Page Parser Generator}] [require page::util::quote [opt 0.1]] [require snit] [description] [para] This package provides a few utility commands to convert characters into various forms. [section API] |
︙ | ︙ | |||
50 51 52 53 54 55 56 | This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment. The string is returned as the result of this command. [list_end] | < | < | < < < < < | 53 54 55 56 57 58 59 60 61 62 | This command takes a Tcl character (internal representation) and converts it into a string which is accepted by the Tcl parser when used within a Tcl comment. The string is returned as the result of this command. [list_end] [vset CATEGORY page] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pki/pki.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin pki n 0.6] [copyright {2010, 2011, 2012, 2013, Roy Keene, Andreas Kupries}] [moddesc {public key encryption}] [titledesc {Implementation of the public key cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.5] [require pki [opt 0.6]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin pki n 0.6] [see_also aes(n)] [see_also blowfish(n)] [see_also des(n)] [see_also md5(n)] [see_also sha1(n)] [keywords cipher] [keywords {data integrity}] [keywords encryption] [keywords {public key cipher}] [keywords rsa] [keywords security] [copyright {2010, 2011, 2012, 2013, Roy Keene, Andreas Kupries}] [moddesc {public key encryption}] [titledesc {Implementation of the public key cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.5] [require pki [opt 0.6]] [description] |
︙ | ︙ | |||
67 68 69 70 71 72 73 | [para] Mapping to OpenSSL's [syscmd openssl] application: [list_begin enumerated] [enum] "openssl rsautl -encrypt" == "::pki::encrypt -binary -pub" [enum] "openssl rsautl -sign" == "::pki::encrypt -binary -priv" [list_end] | < < < | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | [para] Mapping to OpenSSL's [syscmd openssl] application: [list_begin enumerated] [enum] "openssl rsautl -encrypt" == "::pki::encrypt -binary -pub" [enum] "openssl rsautl -sign" == "::pki::encrypt -binary -priv" [list_end] [call [cmd "::pki::decrypt"] \ [opt [arg "-binary"]] \ [opt [arg "-hex"]] \ [opt [arg "-unpad"]] \ [opt [arg "-nounpad"]] \ [opt [arg "-priv"]] \ [opt [arg "-pub"]] \ [opt [arg "--"]] \ [arg input] [arg key]] Decrypt a message using PKI (probably RSA). See [cmd ::pki::encrypt] for option handling. [para] Mapping to OpenSSL's [syscmd openssl] application: [list_begin enumerated] [enum] "openssl rsautl -decrypt" == "::pki::decrypt -binary -priv" [enum] "openssl rsautl -verify" == "::pki::decrypt -binary -pub" [list_end] [call [cmd ::pki::sign] [arg input] [arg key] [opt [arg algo]]] Digitally sign message [arg input] using the private [arg key]. If [arg algo] is ommited "sha1" is assumed. Possible values for [arg algo] include "md5", "sha1", "sha256", and "raw". Specifyin "raw" for [arg algo] will inhibit the building of an ASN.1 structure to encode which hashing |
︙ | ︙ | |||
141 142 143 144 145 146 147 | [cmd ::pki::verify]. [comment { What is the default for password? What choices for password has the user ? }] | < < | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | [cmd ::pki::verify]. [comment { What is the default for password? What choices for password has the user ? }] [call [cmd ::pki::x509::parse_cert] [arg cert]] Convert an X.509 certificate to a usable (public) key, i.e. one which can be used as argument for [cmd ::pki:encrypt], [cmd ::pki::decrypt], and [cmd ::pki::verify]. The [arg cert] argument can be either PEM or DER encoded. [call [cmd ::pki::rsa::generate] [arg bitlength] [opt [arg exponent]]] Generate a new RSA key pair, the parts of which can be used as argument for [cmd ::pki::encrypt], [cmd ::pki::decrypt], |
︙ | ︙ | |||
174 175 176 177 178 179 180 | [comment { What is the default for exponent? -- 65537 (0x10001) What choices for exponent has the user ? -- Any value, but it should be chosen wisely. This is the "RSA exponent" and small values may represent a security risk. }] | < < < < | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | [comment { What is the default for exponent? -- 65537 (0x10001) What choices for exponent has the user ? -- Any value, but it should be chosen wisely. This is the "RSA exponent" and small values may represent a security risk. }] [call [cmd ::pki::x509::verify_cert] [arg cert] [arg trustedcerts] [opt [arg intermediatecerts]]] Verify that a trust can be found between the certificate specified in the [arg cert] argument and one of the certificates specified in the list of certificates in the [arg trustedcerts] argument. (Eventually the chain can be through untrusted certificates listed in the [arg intermediatecerts] argument, but this is currently unimplemented). The certificates specified in the [arg cert] and [arg trustedcerts] option should be parsed (from [cmd ::pki::x509::parse_cert]). [call [cmd ::pki::x509::validate_cert] \ [arg cert] \ [opt "[option -sign_message] [arg dn_of_signer]"] \ [opt "[option -encrypt_message] [arg dn_of_signer]"] \ [opt "[option -sign_cert] [arg dn_to_be_signed] [arg ca_depth]"] \ [opt "[option -ssl] [arg dn]"] \ |
︙ | ︙ | |||
211 212 213 214 215 216 217 | and [arg ca_depth]. The [arg dn_to_be_signed] is the distinguished from the subject of a certificate to verify that the certificate specified in the [arg cert] argument can sign. The [arg ca_depth] argument is used to indicate at which depth the verification should be done at. Some certificates are limited to how far down the chain they can be used to verify a given certificate. | < < < < < < | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | and [arg ca_depth]. The [arg dn_to_be_signed] is the distinguished from the subject of a certificate to verify that the certificate specified in the [arg cert] argument can sign. The [arg ca_depth] argument is used to indicate at which depth the verification should be done at. Some certificates are limited to how far down the chain they can be used to verify a given certificate. [call [cmd ::pki::pkcs::create_csr] [arg keylist] [arg namelist] [opt [arg encodePem]] [opt [arg algo]]] Generate a certificate signing request from a key pair specified in the [arg keylist] argument. The [arg namelist] argument is a list of "name" followed by "value" pairs to encoding as the requested distinguished name in the CSR. The [arg encodePem] option specifies whether or not the result should be PEM encoded or DER encoded. A "true" value results in the result being PEM encoded, while any other value 9results in the the result being DER encoded. DER encoding is the default. The [arg algo] argument specifies the hashing algorithm we should use to sign this certificate signing request with. The default is "sha1". Other possible values include "md5" and "sha256". [call [cmd ::pki::pkcs::parse_csr] [arg csr]] Parse a Certificate Signing Request. The [arg csr] argument can be either PEM or DER encoded. [call [cmd ::pki::x509::create_cert] [arg signreqlist] [arg cakeylist] [arg serial_number] [arg notBefore] [arg notAfter] [arg isCA] [arg extensions] [opt [arg encodePem]] [opt [arg algo]]] Sign a signing request (usually from [cmd ::pki::pkcs::create_csr] or [cmd ::pki::pkcs::parse_csr]) with a Certificate Authority (CA) certificate. The [arg signreqlist] argument should be the parsed signing request. The [arg cakeylist] argument should be the parsed CA certificate. The [arg serial_number] argument should be a serial number unique to this certificate from this certificate authority. The [arg notBefore] and [arg notAfter] arguments should contain the time before and after which (respectively) the certificate should be considered invalid. The time should be encoded as something [cmd "clock format"] will accept (i.e., the results of [cmd "clock seconds"] and [cmd "clock add"]). |
︙ | ︙ | |||
272 273 274 275 276 277 278 | extension is understood ("id-ce-basicConstraints"). It accepts three arguments [arg critical] [arg allowCA] [arg caDepth]. The [arg critical] argument to this extension (and any extension) whether or not the validator should reject the certificate as invalid if it does not understand the extension (if set to "true") or should ignore the extension (if set to "false"). The [arg allowCA] argument is used to specify as a boolean value whether or not we can be used a certificate | | < < < < < | < < | < < < < < < < | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 | extension is understood ("id-ce-basicConstraints"). It accepts three arguments [arg critical] [arg allowCA] [arg caDepth]. The [arg critical] argument to this extension (and any extension) whether or not the validator should reject the certificate as invalid if it does not understand the extension (if set to "true") or should ignore the extension (if set to "false"). The [arg allowCA] argument is used to specify as a boolean value whether or not we can be used a certificate authority (CA). The [arg caDepth] argument indicates how many children CAs can be children of this CA in a depth-wise fashion. A value of "0" for the [arg caDepth] argument means that this CA cannot sign a CA certificate and have the result be valid. A value of "-1" indicates infinite depth. [list_end] [section "EXAMPLES"] [example { }] [example { }] [section "REFERENCES"] [list_begin enumerated] [enum] [list_end] [section AUTHORS] Roy Keene [vset CATEGORY rsa] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pluginmgr/pluginmgr.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- paths manpage}] [manpage_begin pluginmgr n 0.3] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Plugin management}] [titledesc {Manage a plugin}] [category {Programming tools}] [require Tcl 8.4] [require pluginmgr [opt 0.3]] [description] | > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- paths manpage}] [manpage_begin pluginmgr n 0.3] [keywords {plugin management}] [keywords {plugin search}] [copyright {2005 Andreas Kupries <[email protected]>}] [moddesc {Plugin management}] [titledesc {Manage a plugin}] [category {Programming tools}] [require Tcl 8.4] [require pluginmgr [opt 0.3]] [description] This package provides commands and objects for the generic management of plugins which can be loaded into an application. [para] To avoid the implementation of yet another system to locate Tcl code |
︙ | ︙ | |||
69 70 71 72 73 74 75 | qualified, and in the specified namespace otherwise. [para] The options and their values coming after the name of the object are used to set the initial configuration of the mamager object, specifying the applicable plugins and their API. | < | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | qualified, and in the specified namespace otherwise. [para] The options and their values coming after the name of the object are used to set the initial configuration of the mamager object, specifying the applicable plugins and their API. [call [cmd ::pluginmgr::paths] [arg objectName] [arg name]...] This utility command adds a set of paths to the specified object, based on the given [arg name]s. It will search for: |
︙ | ︙ | |||
163 164 165 166 167 168 169 | reg HKEY_CURRENT_USER\SOFTWARE\doctools\idx\PLUGINS path ~/.doctools/plugin path ~/.doctools/idx/plugin }] [list_end] | < < < < < < < < < < < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | reg HKEY_CURRENT_USER\SOFTWARE\doctools\idx\PLUGINS path ~/.doctools/plugin path ~/.doctools/idx/plugin }] [list_end] [subsection {OBJECT COMMAND}] All commands created by the command [cmd ::pluginmgr] (See section [sectref {PACKAGE COMMANDS}]) have the following general form and may be used to invoke various operations on their plugin manager object. [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {OBJECT METHODS}] for the detailed specifications. [list_end] [subsection {OBJECT METHODS}] [list_begin definitions] [call [arg objectName] [method clone]] This method creates a new plugin management object and returns the associated object command. The generated object is a clone of the object the method was invoked on. I.e. the new object will have the same configuration as the current object. With regard to state, if the current object has a plugin loaded then this plugin and all associated state is moved to the generated clone and the current object is reset into the base state (no plugin loaded). In this manner a configured plugin manager is also a factory for loaded plugins. [call [arg objectName] [method configure]] The method returns a list of all known options and their current values when called without any arguments. [call [arg objectName] [method configure] [arg option]] The method behaves like the method [method cget] when called with a single argument and returns the value of the option specified by said argument. [call [arg objectName] [method configure] [option -option] [arg value]...] The method reconfigures the specified [option option]s of the object, setting them to the associated [arg value]s, when called with an even number of arguments, at least two. [para] The legal options are described in the section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method cget] [option -option]] This method expects a legal configuration option as argument and will return the current value of that option for the object the method was invoked for. [para] The legal configuration options are described in section [sectref {OBJECT CONFIGURATION}]. [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method do] [arg arg]...] This method interprets its list of arguments as the words of a command and invokes this command in the execution context of the plugin. The result of the invoked command is made the result of the method. The call will fail with an error if no valid plugin has been loaded into the manager object. [call [arg objectName] [method interpreter]] This method returns the handle of the safe interpreter the current plugin is loaded into. An empty string as return value signals that the manager currently has no valid plugin loaded. [call [arg objectName] [method plugin]] This method returns the name of the plugin currently loaded. An empty string as return value signals that the manager currently has no valid plugin loaded. [call [arg objectName] [method load] [arg string]] This method loads, validates, and initializes a named plugin into the manager object. [para] |
︙ | ︙ | |||
315 316 317 318 319 320 321 | [para] A previously loaded plugin is discarded, but only if the new plugin was found and sucessfully validated and initialized. Note that there will be no intereference between old and new plugin as both will be put into separate safe interpreters. | < < < < < | 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 | [para] A previously loaded plugin is discarded, but only if the new plugin was found and sucessfully validated and initialized. Note that there will be no intereference between old and new plugin as both will be put into separate safe interpreters. [call [arg objectName] [method unload]] This method unloads the currently loaded plugin. It returns the empty string. The call will be silently ignored if no plugin is loaded at all. [call [arg objectName] [method list]] This method uses the contents of the option [option -pattern] to find all packages which can be plugins under the purview of this manager object. It translates their names into plugin names and returns a list containing them. [call [arg objectName] [method path] [arg path]] This methods adds the specified [arg path] to the list of additional package paths to look at when searching for a plugin. It returns the empty string. Duplicate paths are ignored, i.e. each path is added only once. Paths are made absolute, but are not normalized. [call [arg objectName] [method paths]] This method returns a list containing all additional paths which have been added to the plugin manager object since its creation. [list_end] [subsection {OBJECT CONFIGURATION}] All plugin manager objects understand the following configuration options: [list_begin options] |
︙ | ︙ | |||
367 368 369 370 371 372 373 | [para] This option has no default, except if option [option -name] was set. It has to be set before attempting to load a plugin, either directly, or through option [option -name]. | < < | 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | [para] This option has no default, except if option [option -name] was set. It has to be set before attempting to load a plugin, either directly, or through option [option -name]. [opt_def -api [arg list]] The value of this option is a list of command names, and any plugin loaded has to provide these commands. Names which are not fully qualified are considered to be rooted in the global namespace. If empty no expectations are made on the plugin. The default value is the empty list. [opt_def -check [arg cmdprefix]] The value of this option is interpreted as a command prefix. Its purpose is to perform complex checks on a loaded plugin package to validate it, which go beyond a simple list of provided commands. |
︙ | ︙ | |||
399 400 401 402 403 404 405 | passed the basic API check specified through the option [option -api]. [para] The default value is the empty list, which causes the manager object to suppress the call and to assume the candidate plugin passes. | < < < | < | < < < < < < < < < | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 | passed the basic API check specified through the option [option -api]. [para] The default value is the empty list, which causes the manager object to suppress the call and to assume the candidate plugin passes. [opt_def -cmds [arg dict]] The value of this option is a dictionary. It specifies the commands which will be made available to the plugin (as keys), and the trusted commands in the environment which implement them (as values). The trusted commands will be executed in the interpreter specified by the option [option -cmdip]. The default value is the empty dictionary. [opt_def -cmdip [arg ipspec]] The value of this option is the path of the interpreter where the trusted commands given to the plugin will be executed in. The default is the empty string, referring to the current interpreter. [opt_def -setup [arg cmdprefix]] The value of this option is interpreted as a command prefix. [para] It is called whenever a new safe interpreter for a plugin has been created, but before a plugin is loaded. It is provided with the manager object command and the interpreter handle as its only arguments. Any return value will be ignored. [para] Its purpose is give a user of the plugin management the ability to define commands, packages, etc. a chosen plugin may need while being loaded. [list_end] [vset CATEGORY pluginmgr] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/png/png.man.
1 2 3 4 5 6 7 8 | [manpage_begin png n 0.1.2] [copyright {2004, Code: Aaron Faupell <[email protected]>}] [copyright {2004, Doc: Andreas Kupries <[email protected]>}] [moddesc {Image manipulation}] [titledesc {PNG querying and manipulation of meta data}] [category {File formats}] [require Tcl 8.2] [require crc32] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin png n 0.1.2] [keywords comment] [keywords image] [keywords png] [keywords timestamp] [copyright {2004, Code: Aaron Faupell <[email protected]>}] [copyright {2004, Doc: Andreas Kupries <[email protected]>}] [moddesc {Image manipulation}] [titledesc {PNG querying and manipulation of meta data}] [category {File formats}] [require Tcl 8.2] [require crc32] |
︙ | ︙ | |||
64 65 66 67 68 69 70 | Throws an error if file is not a PNG image, or if the checksum of the header is invalid. For information on interpreting the values for the returned properties see [uri http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html]. | < < < < < < | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | Throws an error if file is not a PNG image, or if the checksum of the header is invalid. For information on interpreting the values for the returned properties see [uri http://www.libpng.org/pub/png/spec/1.2/PNG-Chunks.html]. [call [cmd ::png::getTimestamp] [arg file]] Returns the epoch time if a timestamp chunk is found in the PNG image contained in the [arg file], otherwise returns the empty string. Does not attempt to verify the checksum of the timestamp chunk. Throws an error if the [arg file] is not a valid PNG image. [call [cmd ::png::setTimestamp] [arg file] [arg time]] Writes a new timestamp to the [arg file], either replacing the old timestamp, or adding one just before the data chunks if there was no previous timestamp. [arg time] is the new time in the gmt epoch format. Throws an error if [arg file] is not a valid PNG image. [call [cmd ::png::getComments] [arg file]] Currently supports only uncompressed comments. Does not attempt to verify the checksums of the comment chunks. Returns a list where each element is a comment. Each comment is itself a list. The list for a plain text comment consists of 2 elements: the human readable keyword, and the text data. A unicode (international) comment consists of 4 elements: the human readable keyword, the language identifier, the translated keyword, and the unicode text data. Throws an error if [arg file] is not a valid PNG image. [call [cmd ::png::removeComments] [arg file]] Removes all comments from the PNG image in [arg file]. Beware - This uses memory equal to the file size minus comments, to hold the intermediate result. Throws an error if [arg file] is not a valid PNG image. [call [cmd ::png::addComment] [arg file] [arg keyword] [arg text]] Adds a plain [arg text] comment to the PNG image in [arg file], just before the first data chunk. Will throw an error if no data chunk is found. [arg keyword] has to be less than 80 characters long to conform to the PNG specification. [call [cmd ::png::addComment] [arg file] [arg keyword] [arg lang] [arg keyword2] [arg text]] Adds a unicode (international) comment to the PNG image in [arg file], just before the first data chunk. Will throw an error if no data chunk is found. [arg keyword] has to be less than 80 characters long to conform to the PNG specification. [arg keyword2] is the translated |
︙ | ︙ | |||
134 135 136 137 138 139 140 | [call [cmd ::png::write] [arg file] [arg data]] Takes a list of scanlines in the Tk_GetColor format and writes the represented image to [arg file]. [list_end] | < | < < | < < < < < < < < | 132 133 134 135 136 137 138 139 140 141 | [call [cmd ::png::write] [arg file] [arg data]] Takes a list of scanlines in the Tk_GetColor format and writes the represented image to [arg file]. [list_end] [vset CATEGORY png] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pop3/pop3.man.
1 2 3 4 | [manpage_begin pop3 n 1.9] [comment {-*- tcl -*- doctools manpage}] [moddesc {Tcl POP3 Client Library}] [titledesc {Tcl client for POP3 email protocol}] | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin pop3 n 1.9] [keywords email] [keywords mail] [keywords pop] [keywords pop3] [keywords {rfc 1939}] [keywords secure] [keywords ssl] [keywords tls] [comment {-*- tcl -*- doctools manpage}] [moddesc {Tcl POP3 Client Library}] [titledesc {Tcl client for POP3 email protocol}] [category Networking] [require Tcl 8.4] [require pop3 [opt 1.9]] [description] The [package pop3] package provides a simple Tcl-only client library for the POP3 email protocol as specified in |
︙ | ︙ | |||
74 75 76 77 78 79 80 | SSLv3 or TLSv1 connection. If the connection cannot be secured, the connection will be closed and an error will be returned [opt_def -tls-callback stls-callback-command] This option allows the user to overide the [cmd tls::callback] used during the [const -stls] SSL/TLS handshake. See the TLS manual for details on how | | < < | 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | SSLv3 or TLSv1 connection. If the connection cannot be secured, the connection will be closed and an error will be returned [opt_def -tls-callback stls-callback-command] This option allows the user to overide the [cmd tls::callback] used during the [const -stls] SSL/TLS handshake. See the TLS manual for details on how to implement this callback. [list_end] [call [cmd ::pop3::config] [arg chan]] Returns the configuration of the pop3 connection identified by the channel handle [arg chan] as a serialized array. [call [cmd ::pop3::status] [arg chan]] Query the server for the status of the mail spool. The status is returned as a list containing two elements, the first is the number of email messages on the server and the second is the size (in octets, 8 bit blocks) of the entire mail spool. |
︙ | ︙ | |||
124 125 126 127 128 129 130 | [para] It should also be noted that the system checks upon the configured mode and falls back to the slower modes if the above assumptions are not true. | < | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | [para] It should also be noted that the system checks upon the configured mode and falls back to the slower modes if the above assumptions are not true. [call [cmd ::pop3::delete] [arg {chan startIndex}] [opt [arg endIndex]]] Delete a range of messages from the server. If the [arg endIndex] is not specified, only one message will be deleted. Note, the indices are not reordered on the server, so if you delete message 1, then the first message in the queue is message 2 (message index 1 is no longer valid). See the [arg startIndex] and [arg endIndex] descriptions |
︙ | ︙ | |||
151 152 153 154 155 156 157 | This is a logical value for the first message in the spool, equivalent to the value 1. [def [const next]] The message immediately following the last message read, see | | | 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | This is a logical value for the first message in the spool, equivalent to the value 1. [def [const next]] The message immediately following the last message read, see [cmd ::pop3::last]. [def [const end]] The most recent message in the spool (the end of the spool). This is useful to retrieve only the most recent message. [list_end] |
︙ | ︙ | |||
188 189 190 191 192 193 194 | [list_end] [call [cmd ::pop3::list] [arg chan] [opt [arg msg]]] Returns the scan listing of the mailbox. If parameter [arg msg] is given, then the listing only for that message is returned. | < < | | < | 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 | [list_end] [call [cmd ::pop3::list] [arg chan] [opt [arg msg]]] Returns the scan listing of the mailbox. If parameter [arg msg] is given, then the listing only for that message is returned. [call [cmd ::pop3::top] [arg chan] [arg msg] [arg n] ] Optional POP3 command, not all servers may support this. [cmd ::pop3::top] retrieves headers of a message, specified by parameter [arg msg], and number of [arg n] lines from the message body. [call [cmd ::pop3::uidl] [arg chan] [opt [arg msg]]] Optional POP3 command, not all servers may support this. [cmd ::pop3::uidl] returns the uid listing of the mailbox. If the parameter [arg msg] is specified, then the listing only for that message is returned. [call [cmd ::pop3::capa] [arg chan]] Optional POP3 command, not all servers may support this. [cmd ::pop3::capa] returns a list of the capabilities of the server. TOP, SASL, UIDL, LOGIN-DELAY and STLS are typical capabilities. See IETF RFC 2449. [call [cmd ::pop3::close] [arg chan]] Gracefully close the connect after sending a POP3 QUIT command down the socket. [list_end] [section {Secure mail transfer}] A pop3 connection can be secured with SSL/TLS by requiring the package [package TLS] and then using either the option [option -socketcmd] or the option [option -stls] of the command [cmd pop3::open]. |
︙ | ︙ | |||
261 262 263 264 265 266 267 | # Create secured pop3 channel pop3::open -stls 1 \\ $thehost $theuser $thepassword ... }] | < | 262 263 264 265 266 267 268 269 270 271 272 | # Create secured pop3 channel pop3::open -stls 1 \\ $thehost $theuser $thepassword ... }] [vset CATEGORY pop3] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pop3d/pop3d.man.
1 2 3 4 5 6 7 | [comment {-*- tcl -*-}] [manpage_begin pop3d n 1.1.0] [copyright {2002-2009 Andreas Kupries <[email protected]>}] [copyright {2005 Reinhard Max <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Tcl POP3 server implementation}] [category Networking] | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*-}] [manpage_begin pop3d n 1.1.0] [keywords internet] [keywords network] [keywords pop3] [keywords protocol] [keywords {rfc 1939}] [keywords secure] [keywords ssl] [keywords tls] [copyright {2002-2009 Andreas Kupries <[email protected]>}] [copyright {2005 Reinhard Max <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Tcl POP3 server implementation}] [category Networking] [require Tcl 8.3] [require pop3d [opt 1.1.0]] [description] [para] [list_begin definitions] |
︙ | ︙ | |||
249 250 251 252 253 254 255 | package require tls tls::init \\ ... pop3d::new S -socket tls::socket ... }] | < | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | package require tls tls::init \\ ... pop3d::new S -socket tls::socket ... }] [section References] [list_begin enumerated] [enum] [uri http://www.rfc-editor.org/rfc/rfc1939.txt {RFC 1939}] [enum] [uri http://www.rfc-editor.org/rfc/rfc2449.txt {RFC 2449}] [list_end] [vset CATEGORY pop3d] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pop3d/pop3d_dbox.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin pop3d::dbox n 1.0.2] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Simple mailbox database for pop3d}] [category Networking] [require Tcl 8.3] [require pop3d::dbox [opt 1.0.2]] [description] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*-}] [manpage_begin pop3d::dbox n 1.0.2] [keywords internet] [keywords network] [keywords pop3] [keywords protocol] [keywords {rfc 822}] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Simple mailbox database for pop3d}] [category Networking] [require Tcl 8.3] [require pop3d::dbox [opt 1.0.2]] [description] |
︙ | ︙ | |||
121 122 123 124 125 126 127 | If specified the [arg msgId] has to be in the range "1 ... [lb][arg dbName] [method stat][rb]" or this call will fail. If [method stat] was not called before this call, [method size] will assume that there are zero messages in the mailbox. | < < < < | < < | < < < < < < < < | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | If specified the [arg msgId] has to be in the range "1 ... [lb][arg dbName] [method stat][rb]" or this call will fail. If [method stat] was not called before this call, [method size] will assume that there are zero messages in the mailbox. [call [arg dbName] [method dele] [arg {mbox msgList}]] Deletes the messages whose numeric ids are contained in the [arg msgList] from the mailbox specified via [arg mbox]. The [arg msgList] must not be empty or this call will fail. The numeric ids in [arg msgList] have to be in the range "1 ... [lb][arg dbName] [method stat][rb]" or this call will fail. If [method stat] was not called before this call, [method dele] will assume that there are zero messages in the mailbox. [call [arg storageCmd] [method get] [arg mbox] [arg msgId]] Returns a handle for the specified message. This handle is a mime token following the interface described in the documentation of package [package mime]. The token is [emph read-only]. In other words, the caller is allowed to do anything with the token except to modify it. The [arg msgId] has to be in the range "1 ... [lb][arg dbName] [method stat][rb]" or this call will fail. If [method stat] was not called before this call, [method get] will assume that there are zero messages in the mailbox. [list_end] [vset CATEGORY pop3d] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pop3d/pop3d_udb.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin pop3d::udb n 1.0.1] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Simple user database for pop3d}] [category Networking] [require Tcl 8.2] [require pop3d::udb [opt 1.0.1]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*-}] [manpage_begin pop3d::udb n 1.0.1] [keywords internet] [keywords network] [keywords pop3] [keywords protocol] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl POP3 Server Package}] [titledesc {Simple user database for pop3d}] [category Networking] [require Tcl 8.2] [require pop3d::udb [opt 1.0.1]] [description] |
︙ | ︙ | |||
17 18 19 20 21 22 23 | [para] Objects created by this package can be directly used in the authentication callback of pop3 servers following the same interface as servers created by the package [package pop3d]. [para] | < | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [para] Objects created by this package can be directly used in the authentication callback of pop3 servers following the same interface as servers created by the package [package pop3d]. [para] [list_begin definitions] [call [cmd ::pop3d::udb::new] [opt [arg dbName]]] This command creates a new database object with an associated global Tcl command whose name is [arg dbName]. |
︙ | ︙ | |||
98 99 100 101 102 103 104 | interpreter knows the [cmd add] command for adding users and their associated data to this database. This command has the same argument signature as the method [method add]. The path of the [arg file] is remembered internally so that it can be used in the next call of [arg dbName] [method save] without an argument. | < < | < < | < < < < < < < < | 101 102 103 104 105 106 107 108 109 110 111 112 | interpreter knows the [cmd add] command for adding users and their associated data to this database. This command has the same argument signature as the method [method add]. The path of the [arg file] is remembered internally so that it can be used in the next call of [arg dbName] [method save] without an argument. [list_end] [vset CATEGORY pop3d] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/profiler/profiler.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin profiler n 0.3] [moddesc {Tcl Profiler}] [titledesc {Tcl source code profiler}] [category {Programming tools}] [require Tcl 8.3] [require profiler [opt 0.3]] [description] [para] The [package profiler] package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level information. It operates by redefining the Tcl [cmd proc] command. Profiling is initiated via the [cmd ::profiler::init] command. [section COMMANDS] [list_begin definitions] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin profiler n 0.3] [keywords performance] [keywords profile] [keywords speed] [moddesc {Tcl Profiler}] [titledesc {Tcl source code profiler}] [category {Programming tools}] [require Tcl 8.3] [require profiler [opt 0.3]] [description] [para] The [package profiler] package provides a simple Tcl source code profiler. It is a function-level profiler; that is, it collects only function-level information, not the more detailed line-level information. It operates by redefining the Tcl [cmd proc] command. Profiling is initiated via the [cmd ::profiler::init] command. [section COMMANDS] [list_begin definitions] [call [cmd ::profiler::init]] Initiate profiling. All procedures created after this command is called will be profiled. To profile an entire application, this command must be called before any other commands. |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [def [const descendantTime]] Sum of the time spent in descendants of [arg functionName]. [def [const averageDescendantTime]] | | < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | [def [const descendantTime]] Sum of the time spent in descendants of [arg functionName]. [def [const averageDescendantTime]] Average time spent in descendants of [arg functionName]. [list_end] [call [cmd ::profiler::print] [opt [arg pattern]]] Print profiling information for all functions matching [arg pattern]. If no pattern is specified, information about all functions will be displayed. The return result is a human readable display of the profiling information. |
︙ | ︙ | |||
111 112 113 114 115 116 117 | [const avgRuntime]. The return result is a list of lists, where each sublist consists of a function name and the value of [arg key] for that function. [list_end] | < | < < | < < < < < < < < | 112 113 114 115 116 117 118 119 120 121 | [const avgRuntime]. The return result is a list of lists, where each sublist consists of a function name and the value of [arg key] for that function. [list_end] [vset CATEGORY profiler] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_astree.man.
︙ | ︙ | |||
37 38 39 40 41 42 43 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {AST serialization format}]. | < < < < | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {AST serialization format}]. [call [cmd ::pt::ast] [method verify-as-canonical] \ [arg serial]] This command verifies that the content of [arg serial] is a valid [term canonical] serialization of an abstract syntax tree and will throw an error if that is not the case. The result of the command is the empty string. [para] For the specification of canonical serializations see the section [sectref {AST serialization format}]. [call [cmd ::pt::ast] [method canonicalize] [arg serial]] This command assumes that the content of [arg serial] is a valid [term regular] serialization of an abstract syntax and will throw an error if that is not the case. [para] It will then convert the input into the [term canonical] serialization of the contained tree and return it as its result. If the input is already canonical it will be returned unchanged. [para] For the specification of regular and canonical serializations see the section [sectref {AST serialization format}]. [call [cmd ::pt::ast] [method print] [arg serial]] This command assumes that the argument [arg serial] contains a valid serialization of an abstract syntax tree and returns a string containing that tree in a human readable form. [para] The exact format of this form is not specified and cannot be relied on for parsing or other machine-based activities. [para] For the specification of serializations see the section [sectref {AST serialization format}]. [call [cmd ::pt::ast] [method bottomup] [arg cmdprefix] [arg ast]] This command walks the abstract syntax tree [arg ast] from the bottom up to the root, invoking the command prefix [arg cmdprefix] for each node. This implies that the children of a node N are handled before N. |
︙ | ︙ | |||
115 116 117 118 119 120 121 | This also means that for all inner node the contents of the children elements are the results of the command prefix invoked for the children of this node. [list_end] | < < < < < | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | This also means that for all inner node the contents of the children elements are the results of the command prefix invoked for the children of this node. [list_end] [call [cmd ::pt::ast] [method topdown] [arg cmdprefix] [arg pe]] This command walks the abstract syntax tree [arg ast] from the root down to the leaves, invoking the command prefix [arg cmdprefix] for each node. This implies that the children of a node N are handled after N. [para] The command prefix has the same signature as for [method bottomup], see above. [para] The result returned by the command prefix is [emph ignored]. [call [cmd ::pt::ast] [method equal] \ [arg seriala] [arg serialb]] This command tests the two sbstract syntax trees [arg seriala] and [arg serialb] for structural equality. The result of the command is a boolean value. It will be set to [const true] if the trees are identical, and [const false] otherwise. [para] String equality is usable only if we can assume that the two trees are pure Tcl lists. [call [cmd ::pt::ast] [method terminal] [arg loc]] This command command constructs the ast for a terminal node refering to the position [arg loc] in the input, and returns it as the result of the command. [call [cmd ::pt::ast] [method nonterminal] [arg s] \ [arg start] [arg end] [opt [arg child]...]] This command command constructs the ast for a nonterminal node refering to the symbol [arg s] covering the range of positions [arg start] to [arg end] in the input, and the set of child nodes [arg child] ..., from left right. The latter may be empty. The constructed node is returned as the result of the command. [list_end] [include include/serial/ast.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_from_api.man.
︙ | ︙ | |||
53 54 55 56 57 58 59 | parsing expression grammar, as specified in section [sectref {PEG serialization format}], the result of reading and converting the input text. [list_end][comment {-- api command signatures --}] [list_end][comment {-- converter rules --}] | < | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | parsing expression grammar, as specified in section [sectref {PEG serialization format}], the result of reading and converting the input text. [list_end][comment {-- api command signatures --}] [list_end][comment {-- converter rules --}] [section {Plugin API}] Any (grammar) import plugin has to follow the rules set out below: [list_begin enumerated][comment {-- plugin rules --}] [enum] A plugin is a package. |
︙ | ︙ | |||
132 133 134 135 136 137 138 | [enum] An empty string in case of success of a [const notfound] failure, and an additional error message describing the reason for a [const notread] error in more detail. [list_end][comment {-- result list elements --}] [list_end][comment {-- include-file signature --}] | < | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | [enum] An empty string in case of success of a [const notfound] failure, and an additional error message describing the reason for a [const notread] error in more detail. [list_end][comment {-- result list elements --}] [list_end][comment {-- include-file signature --}] [enum] A plugin has to provide a single command, in the global namespace, with the signature shown below. Plugins are allowed to provide more commands of their own, but not less, and they may not provide different semantics for the standardized command. [list_begin definitions][comment {-- api command signatures --}] |
︙ | ︙ | |||
167 168 169 170 171 172 173 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of an invokation of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end][comment {-- plugin rules --}] | < | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | [list_end][comment {-- api command signatures --}] [enum] A single usage cycle of a plugin consists of an invokation of the command [cmd import]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end][comment {-- plugin rules --}] [section Usage] To use a converter do [example { # Get the converter (single command here, not class) |
︙ | ︙ |
Changes to modules/pt/pt_introduction.man.
︙ | ︙ | |||
83 84 85 86 87 88 89 | [list_end] [subsection {User Packages}] [list_begin definitions] [def [package pt::pgen]] [list_end] | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | [list_end] [subsection {User Packages}] [list_begin definitions] [def [package pt::pgen]] [list_end] [subsection {Core Packages}] This layer is further split into six sections handling the storage, import, export, transformation, and execution of grammars, plus grammar specific support packages. [list_begin definitions] |
︙ | ︙ | |||
138 139 140 141 142 143 144 | [def [package pt::tclparam::configuration::tcloo]] [def [package pt::cparam::configuration::critcl]] [def [package pt::ast]] [def [package pt::pe]] [def [package pt::peg]] [list_end][comment {------------------- core support ---}] [list_end] | < | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | [def [package pt::tclparam::configuration::tcloo]] [def [package pt::cparam::configuration::critcl]] [def [package pt::ast]] [def [package pt::pe]] [def [package pt::peg]] [list_end][comment {------------------- core support ---}] [list_end] [subsection {Support Packages}] [list_begin definitions] [def [package pt::peg::container::peg]] [def [package text::write]] [def [package configuration]] [def [package paths]] [def [package char]] [list_end] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_param.man.
1 2 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin pt::param n 1] | < > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin pt::param n 1] [keywords {virtual machine}] [include include/module.inc] [titledesc {PackRat Machine Specification}] [description] [include include/ref_intro.inc] Welcome to the PackRat Machine (short: [term PARAM]), a virtual machine geared towards the support of recursive descent parsers, especially packrat parsers. Towards this end it has features like the |
︙ | ︙ | |||
144 145 146 147 148 149 150 | enabling backtracking at, i.e. in the case of IN not randomly seekable. [vset INS0 {Input Handling}][include include/param_1is.inc] [list_end] | < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | enabling backtracking at, i.e. in the case of IN not randomly seekable. [vset INS0 {Input Handling}][include include/param_1is.inc] [list_end] [section {Instruction Set}] With the machine's architectural state specified it is now possible to specify the instruction set operating on that state and to be implemented by any realization of the PARAM. The 37 instructions are grouped roughly by the state they influence and/or query during their execution. |
︙ | ︙ | |||
181 182 183 184 185 186 187 | [para] If, on the other hand, the end of IN was reached, the operation is recorded as failed in ST, CL is left unchanged, and the pair of CL and [arg msg] becomes the new ES. [list_end] | < | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | [para] If, on the other hand, the end of IN was reached, the operation is recorded as failed in ST, CL is left unchanged, and the pair of CL and [arg msg] becomes the new ES. [list_end] [subsection {Character Processing}] The instructions in this section mainly access CC, testing it against character classes, ranges, and individual characters. [list_begin definitions] |
︙ | ︙ | |||
244 245 246 247 248 249 250 | [vset OP wordchar][include include/param_special.inc] [def [cmd test_xdigit]] [vset OP xdigit][include include/param_special.inc] [list_end] | < | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | [vset OP wordchar][include include/param_special.inc] [def [cmd test_xdigit]] [vset OP xdigit][include include/param_special.inc] [list_end] [subsection {Error Handling}] The instructions in this section mainly access ER and ES. [list_begin definitions] [def [cmd error_clear]] |
︙ | ︙ | |||
298 299 300 301 302 303 304 | [para] [emph Note]: In the above "just past" means "that location plus one", or also "the location of the next character after that location". [list_end] | < < | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | [para] [emph Note]: In the above "just past" means "that location plus one", or also "the location of the next character after that location". [list_end] [subsection {Status Control}] The instructions in this section directly manipulate ST. [list_begin definitions] [def [cmd status_ok]] This instruction sets ST to [const true], recording a success. [def [cmd status_fail]] This instruction sets ST to [const false], recording a failure. [def [cmd status_negate]] This instruction negates ST, turning a failure into a success and vice versa. [list_end] [subsection {Location Handling}] The instructions in this section access CL and LS. [list_begin definitions] |
︙ | ︙ | |||
342 343 344 345 346 347 348 | [def [cmd loc_pop_rewind]] This instruction pops the last saved location from LS and restores it as CL. [list_end] | < < | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | [def [cmd loc_pop_rewind]] This instruction pops the last saved location from LS and restores it as CL. [list_end] [subsection {Nonterminal Execution}] The instructions in this section access and manipulate NC. [list_begin definitions] [def "[cmd symbol_restore] [arg symbol]"] This instruction checks if NC contains data for the nonterminal [arg symbol] at CL, or not. The result of the instruction is a boolean |
︙ | ︙ | |||
373 374 375 376 377 378 379 | This instructions saves the current settings of CL, ST, ER, and SV in NC, using the pair of nonterminal [arg symbol] and the last location saved in LS as key. [list_end] | < | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | This instructions saves the current settings of CL, ST, ER, and SV in NC, using the pair of nonterminal [arg symbol] and the last location saved in LS as key. [list_end] [subsection {Value Construction}] The instructions in this section manipulate SV. [list_begin definitions] [def [cmd value_clear]] |
︙ | ︙ | |||
399 400 401 402 403 404 405 | except that it takes all AST nodes on ARS, if any, and makes them the children of the new node, with the last node saved on ARS becoming the right-most / last child. Note that ARS is not modfied by this operation. [list_end] | < < | 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 | except that it takes all AST nodes on ARS, if any, and makes them the children of the new node, with the last node saved on ARS becoming the right-most / last child. Note that ARS is not modfied by this operation. [list_end] [subsection {AST Construction}] The instructions in this section manipulate ARS and AS. [list_begin definitions] [def [cmd ast_value_push]] This instruction makes a copy of SV and pushes it on ARS. |
︙ | ︙ | |||
427 428 429 430 431 432 433 | [def [cmd ast_pop_discard]] This instruction pops the last entry saved on AS. [list_end] | < < | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | [def [cmd ast_pop_discard]] This instruction pops the last entry saved on AS. [list_end] [subsection {Control Flow}] Normally this section would contain the specifications of the control flow instructions of the PARAM, i.e. (un)conditional jumps and the like. However, this part of the PARAM is intentionally left unspecified. This allows the implementations to freely choose how to implement control flow. [para] The implementation of this machine in Parser Tools, i.e the package [package pt::rde], is not only coded in Tcl, but also relies on Tcl commands to provide it with control flow (instructions). [section {Interaction of the Instructions with the Architectural State}] [comment {-- in lieu of a true table markup --}] [example { Instruction Inputs Outputs ======================= ======================= ==================== |
︙ | ︙ |
Changes to modules/pt/pt_parser_api.man.
︙ | ︙ | |||
42 43 44 45 46 47 48 | [section {Instance API}] All parser instances provide at least the methods shown below: [list_begin definitions] [include include/std_parser_object_api.inc] [list_end] | < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | [section {Instance API}] All parser instances provide at least the methods shown below: [list_begin definitions] [include include/std_parser_object_api.inc] [list_end] [section Usage] A generated parser is used like this [example { package require the-parser-package ;# Generated by result-formats 'critcl', 'snit' or 'oo' of 'pt'. |
︙ | ︙ |
Changes to modules/pt/pt_peg_container.man.
︙ | ︙ | |||
40 41 42 43 44 45 46 | [def [package pt::peg::interp]] This package implements an interpreter for PEGs on top of the virtual machine provided by [package pt::peg::rde] [list_end] | < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | [def [package pt::peg::interp]] This package implements an interpreter for PEGs on top of the virtual machine provided by [package pt::peg::rde] [list_end] [subsection {Class API}] The package exports the API described here. [list_begin definitions] [call [cmd ::pt::peg] [arg objectName] \ |
︙ | ︙ | |||
74 75 76 77 78 79 80 | An empty grammar has no nonterminal symbols, and the start expression is the empty expression, i.e. epsilon. It is [term valid], but not [term useful]. [list_end] | < < < < < < < < < < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | An empty grammar has no nonterminal symbols, and the start expression is the empty expression, i.e. epsilon. It is [term valid], but not [term useful]. [list_end] [subsection {Object API}] [para] All objects created by this package provide the following methods for the manipulation and querying of their contents: [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object, releasing all claimed memory, and deleting the associated object command. [call [arg objectName] [method clear]] This method resets the object to contain the empty grammar. It does [emph not] destroy the object itself. [call [arg objectName] [method importer]] This method returns the import manager object currently attached to the container, if any. [call [arg objectName] [method importer] [arg object]] This method attaches the [arg object] as import manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {import text}] which takes a text and a format name, and returns the canonical serialization of the table of contents contained in the text, assuming the given format. [call [arg objectName] [method exporter]] This method returns the export manager object currently attached to the container, if any. [call [arg objectName] [method exporter] [arg object]] This method attaches the [arg object] as export manager to the container, and returns it as the result of the command. Note that the [arg object] is [emph not] put into ownership of the container. I.e., destruction of the container will [emph not] destroy the [arg object]. [para] It is expected that [arg object] provides a method named [method {export object}] which takes the container and a format name, and returns a text encoding table of contents stored in the container, in the given format. It is further expected that the [arg object] will use the container's method [method serialize] to obtain the serialization of the table of contents from which to generate the text. [call [arg objectName] [method =] [arg source]] This method assigns the contents of the PEG object [arg source] to ourselves, overwriting the existing definition. This is the assignment operator for grammars. [para] This operation is in effect equivalent to [para] [example_begin] [arg objectName] [method {deserialize =}] [lb][arg source] [method serialize][rb] [example_end] [call [arg objectName] [method -->] [arg destination]] This method assigns our contents to the PEG object [arg destination], overwriting the existing definition. This is the reverse assignment operator for grammars. [para] This operation is in effect equivalent to [para] [example_begin] [arg destination] [method {deserialize =}] [lb][arg objectName] [method serialize][rb] [example_end] [call [arg objectName] [method serialize] [opt [arg format]]] This method returns our grammar in some textual form usable for transfer, persistent storage, etc. If no [arg format] is not specified the returned result is the canonical serialization of the grammar, as specified in the section [sectref {PEG serialization format}]. [para] Otherwise the object will use the attached export manager to convert the data to the specified format. In that case the method will fail with an error if the container has no export manager attached to it. [call [arg objectName] [method {deserialize =}] [arg data] [opt [arg format]]] This is the complementary method to [method serialize]. It replaces the current definition with the grammar contained in the [arg data]. If no [arg format] was specified it is assumed to be the |
︙ | ︙ | |||
207 208 209 210 211 212 213 | In that case the method will fail with an error if the container has no import manager attached to it. [para] The result of the method is the empty string. | < | < < < < < < < < < < < < < < < | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 | In that case the method will fail with an error if the container has no import manager attached to it. [para] The result of the method is the empty string. [call [arg objectName] [method {deserialize +=}] [arg data] [opt [arg format]]] This method behaves like [method {deserialize =}] in its essentials, except that it merges the grammar in the [arg data] to its contents instead of replacing it. The method will fail with an error and leave the grammar unchanged if merging is not possible, i.e. would produce an invalid grammar. [para] The result of the method is the empty string. [call [arg objectName] [method start]] This method returns the current start expression of the grammar. [call [arg objectName] [method start] [arg pe]] This method defines the [term {start expression}] of the grammar. It replaces the current start expression with the parsing expression [arg pe], and returns the new start expression. [para] The method will fail with an error and leave the grammar unchanged if [arg pe] does not contain a valid parsing expression as specified in the section [sectref {PE serialization format}]. [call [arg objectName] [method nonterminals]] This method returns the set of all nonterminal symbols known to the grammar. [call [arg objectName] [method modes]] This method returns a dictionary mapping the set of all nonterminal symbols known to the grammar to their semantic modes. [call [arg objectName] [method modes] [arg dict]] This method takes a dictionary mapping a set of nonterminal symbols known to the grammar to their semantic modes, and returns the new full mapping of nonterminal symbols to semantic modes. [para] The method will fail with an error if any of the nonterminal symbols in the dictionary is not known to the grammar, or the empty string, i.e. an invalid nonterminal symbol, or if any the chosen [arg mode]s is not one of the legal values. [call [arg objectName] [method rules]] This method returns a dictionary mapping the set of all nonterminal symbols known to the grammar to their parsing expressions (right-hand sides). [call [arg objectName] [method rules] [arg dict]] This method takes a dictionary mapping a set of nonterminal symbols known to the grammar to their parsing expressions (right-hand sides), and returns the new full mapping of nonterminal symbols to parsing expressions. [para] The method will fail with an error any of the nonterminal symbols in the dictionary is not known to the grammar, or the empty string, i.e. an invalid nonterminal symbol, or any of the chosen parsing expressions is not a valid parsing expression as specified in the section [sectref {PE serialization format}]. [call [arg objectName] [method add] [opt [arg nt]...]] This method adds the nonterminal symbols [arg nt], etc. to the grammar, and defines default semantic mode and expression for it ([const value] and [const epsilon] respectively). The method returns the empty string as its result. [para] The method will fail with an error and leaves the grammar unchanged if any of the nonterminal symbols are either already defined in our grammar, or are the empty string (an invalid nonterminal symbol). [para] The method does nothing if no symbol was specified as argument. [call [arg objectName] [method remove] [opt [arg nt]...]] This method removes the named nonterminal symbols [arg nt], etc. from the set of nonterminal symbols known to our grammar. The method returns the empty string as its result. [para] The method will fail with an error and leave the grammar unchanged if any of the nonterminal symbols is not known to the grammar, or is the empty string, i.e. an invalid nonterminal symbol. [call [arg objectName] [method exists] [arg nt]] This method tests whether the nonterminal symbol [arg nt] is known to our grammar or not. The result is a boolean value. It will be set to [const true] if [arg nt] is known, and [const false] otherwise. [para] The method will fail with an error if [arg nt] is the empty string, i.e. an invalid nonterminal symbol. [call [arg objectName] [method rename] [arg ntold] [arg ntnew]] This method renames the nonterminal symbol [arg ntold] to [arg ntnew]. The method returns the empty string as its result. [para] The method will fail with an error and leave the grammar unchanged if either [arg ntold] is not known to the grammar, or [arg ntnew] is already known, or any of them is the empty string, i.e. an invalid nonterminal symbol. [call [arg objectName] [method mode] [arg nt]] This method returns the current semantic mode for the nonterminal symbol [arg nt]. [para] The method will fail with an error if [arg nt] is not known to the grammar, or the empty string, i.e. an invalid nonterminal symbol. [call [arg objectName] [method mode] [arg nt] [arg mode]] This mode sets the semantic mode for the nonterminal symbol [arg nt], and returns the new mode. The method will fail with an error if [arg nt] is not known to the grammar, or the empty string, i.e. an invalid nonterminal symbol, or the chosen [arg mode] is not one of the legal values. [para] The following modes are legal: [include include/modes.inc] [call [arg objectName] [method rule] [arg nt]] This method returns the current parsing expression (right-hand side) for the nonterminal symbol [arg nt]. [para] The method will fail with an error if [arg nt] is not known to the grammar, or the empty string, i.e. an invalid nonterminal symbol. [call [arg objectName] [method rule] [arg nt] [arg pe]] This method set the parsing expression (right-hand side) of the nonterminal [arg nt] to [arg pe], and returns the new parsing expression. |
︙ | ︙ |
Changes to modules/pt/pt_peg_export.man.
︙ | ︙ | |||
74 75 76 77 78 79 80 | For readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s, reading and understanding the [manpage {Parser Tools Export API}] specification is an absolute necessity, as it documents the interaction between this package and its plugins in detail. | < < < < | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | For readers wishing to write their own export plugin for some format, i.e. [term {plugin writer}]s, reading and understanding the [manpage {Parser Tools Export API}] specification is an absolute necessity, as it documents the interaction between this package and its plugins in detail. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::pt::peg::export] [arg objectName]] This command creates a new export manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::pt::peg::export] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {export serial}] [arg serial] [opt [arg format]]] This method takes the canonical serialization of a parsing expression grammar stored in [arg serial] and converts it to the specified [arg format], using the export plugin for the format. This will fail with an error if no plugin could be found for the format. |
︙ | ︙ | |||
143 144 145 146 147 148 149 | found in the section [sectref {PEG serialization format}]. [para] The plugin has to conform to the interface documented in the [manpage {Parser Tools Export API}] specification. | < < < < < < < | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | found in the section [sectref {PEG serialization format}]. [para] The plugin has to conform to the interface documented in the [manpage {Parser Tools Export API}] specification. [call [arg objectName] [method {export object}] [arg object] [opt [arg format]]] This method is a convenient wrapper around the [method {export serial}] method described by the previous item. It expects that [arg object] is an object command supporting a [method serialize] method returning the canonical serialization of a parsing expression grammar. It invokes that method, feeds the result into [method {export serial}] and returns the resulting string as its own result. [call [arg objectName] [method {configuration names}]] This method returns a list containing the names of all configuration options currently known to the object. [call [arg objectName] [method {configuration get}]] This method returns a dictionary containing the names and values of all configuration options currently known to the object. [call [arg objectName] [method {configuration set}] [arg name] \ [opt [arg value]]] This method sets the configuration option [arg name] to the specified [arg value] and returns the new value of the option. [para] If no value is specified it simply returns the current value, without changing it. [para] Note that these configuration options and their values are simply passed to a plugin when the actual export is performed. It is the plugin which checks the validity, not the manager. [call [arg objectName] [method {configuration unset}] [arg pattern]...] This method unsets all configuration options matching the specified glob [arg pattern]s. If no pattern is specified it will unset all currently defined configuration options. [list_end] [include include/serial/pegrammar.inc] [include include/serial/pexpression.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_from_container.man.
︙ | ︙ | |||
15 16 17 18 19 20 21 | grammar we wish to import loaded. Another way of looking at this is, the CONTAINER output is its own import package. [include include/feedback.inc] [manpage_end] | < | 15 16 17 18 19 20 21 | grammar we wish to import loaded. Another way of looking at this is, the CONTAINER output is its own import package. [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_import.man.
︙ | ︙ | |||
74 75 76 77 78 79 80 | For readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s, reading and understanding the [manpage {Parser Tools Impport API}] specification is an absolute necessity, as it documents the interaction between this package and its plugins in detail. | < < < < | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | For readers wishing to write their own import plugin for some format, i.e. [term {plugin writer}]s, reading and understanding the [manpage {Parser Tools Impport API}] specification is an absolute necessity, as it documents the interaction between this package and its plugins in detail. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd ::pt::peg::import] [arg objectName]] This command creates a new import manager object with an associated Tcl command whose name is [arg objectName]. This [term object] command is explained in full detail in the sections [sectref {Object command}] and [sectref {Object methods}]. The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. [list_end] [subsection {Object command}] All objects created by the [cmd ::pt::peg::import] command have the following general form: [list_begin definitions] [call [cmd objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object it is invoked for. [call [arg objectName] [method {import text}] [arg text] [opt [arg format]]] This method takes the [arg text] and converts it from the specified [arg format] to the canonical serialization of a parsing expression grammar using the import plugin for the format. An error is thrown if no plugin could be found for the format. |
︙ | ︙ | |||
143 144 145 146 147 148 149 | found in the section [sectref {PEG serialization format}]. [para] The plugin has to conform to the interface documented in the [manpage {Parser Tools Import API}] specification. | < < < < < < < < | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | found in the section [sectref {PEG serialization format}]. [para] The plugin has to conform to the interface documented in the [manpage {Parser Tools Import API}] specification. [call [arg objectName] [method {import file}] [arg path] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It reads the contents of the specified file into memory, feeds the result into [method {import text}] and returns the resulting serialization as its own result. [call [arg objectName] [method {import object text}] [arg object] \ [arg text] [opt [arg format]]] This method is a convenient wrapper around the [method {import text}] method described by the previous item. It expects that [arg object] is an object command supporting a [method deserialize] method expecting the canonical serialization of a parsing expression grammar. It imports the text using [method {import text}] and then feeds the resulting serialization into the [arg object] via [method deserialize]. This method returns the empty string as it result. [call [arg objectName] [method {import object file}] [arg object] \ [arg path] [opt [arg format]]] This method behaves like [method {import object text}], except that it reads the text to convert from the specified file instead of being given it as argument. [call [arg objectName] [method includes]] This method returns a list containing the currently specified paths to use to search for include files when processing input. The order of paths in the list corresponds to the order in which they are used, from first to last, and also corresponds to the order in which they were added to the object. [call [arg objectName] [method {include add}] [arg path]] This methods adds the specified [arg path] to the list of paths to use to search for include files when processing input. The path is added to the end of the list, causing it to be searched after all previously added paths. The result of the command is the empty string. [para] The method does nothing if the path is already known. [call [arg objectName] [method {include remove}] [arg path]] This methods removes the specified [arg path] from the list of paths to use to search for include files when processing input. The result of the command is the empty string. [para] The method does nothing if the path is not known. [call [arg objectName] [method {include clear}]] This method clears the list of paths to use to search for include files when processing input. The result of the command is the empty string. [list_end] [include include/serial/pegrammar.inc] [include include/serial/pexpression.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_import_container.man.
︙ | ︙ | |||
15 16 17 18 19 20 21 | grammar we wish to import loaded. Another way of looking at this is, the CONTAINER output is its own import package. [include include/feedback.inc] [manpage_end] | < | 15 16 17 18 19 20 21 | grammar we wish to import loaded. Another way of looking at this is, the CONTAINER output is its own import package. [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_interp.man.
︙ | ︙ | |||
23 24 25 26 27 28 29 | [para] The interpreted grammar is copied from an instance of [package \ pt::peg::container], or anything providing the same API, like the container classes created by [package pt::peg::to::container] or the associated export plugin [package pt::peg::export::container]. | < < | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | [para] The interpreted grammar is copied from an instance of [package \ pt::peg::container], or anything providing the same API, like the container classes created by [package pt::peg::to::container] or the associated export plugin [package pt::peg::export::container]. [subsection {Class API}] The package exports the API described here. [list_begin definitions] [call [cmd ::pt::peg::interpreter] [arg objectName] [arg grammar]] The command creates a new parser object and returns the fully qualified name of the object command as its result. The API of this object command is described in the section [sectref {Object API}]. It may be used to invoke various operations on the object. [para] This new parser is configured for the execution of an empty PEG. To configure the object for any other PEG use the method [method use] of the [sectref {Object API}]. [list_end] [subsection {Object API}] All objects created by this package provide the following methods. [list_begin definitions] |
︙ | ︙ | |||
70 71 72 73 74 75 76 | [para] The result of the method the empty string. [include include/std_parser_object_api.inc] [list_end] | < | 68 69 70 71 72 73 74 75 76 77 78 79 | [para] The result of the method the empty string. [include include/std_parser_object_api.inc] [list_end] [include include/serial/ast.inc] [include include/serial/pexpression.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_introduction.man.
︙ | ︙ | |||
83 84 85 86 87 88 89 | [para] The remainder of this document consists of the formal definition of PEGs for the mathematically inclined, and an appendix listing references to places with more information on PEGs specifically, and parsing in general. | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | [para] The remainder of this document consists of the formal definition of PEGs for the mathematically inclined, and an appendix listing references to places with more information on PEGs specifically, and parsing in general. [section {Formal definition}] [para] For the mathematically inclined, a Parsing Expression Grammar is a 4-tuple (VN,VT,R,eS) where [list_begin itemized] |
︙ | ︙ | |||
175 176 177 178 179 180 181 | [para] They can be easily implemented by recursive descent parsers with backtracking. This makes them relatives of LL(k) Context-Free Grammars. | < | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | [para] They can be easily implemented by recursive descent parsers with backtracking. This makes them relatives of LL(k) Context-Free Grammars. [section References] [list_begin enumerated] [enum] [uri {http://www.pdos.lcs.mit.edu/~baford/packrat/} \ {The Packrat Parsing and Parsing Expression Grammars Page}], by Bryan Ford, Massachusetts Institute of Technology. This is the main |
︙ | ︙ | |||
201 202 203 204 205 206 207 | applicabilities, including error recovery techniques. [enum] [uri {http://scifac.ru.ac.za/compilers/} \ {Compilers and Compiler Generators}], an online book using CoCo/R, a generator for recursive descent parsers. [list_end] | < | 199 200 201 202 203 204 205 206 207 208 | applicabilities, including error recovery techniques. [enum] [uri {http://scifac.ru.ac.za/compilers/} \ {Compilers and Compiler Generators}], an online book using CoCo/R, a generator for recursive descent parsers. [list_end] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_peg_language.man.
︙ | ︙ | |||
116 117 118 119 120 121 122 | [example { # Binary operators. <<expression-1>> <<expression-2>> # sequence. parse 1, then 2. <<expression-1>> / <<expression-2>> # alternative. try to parse 1, and parse 2 if 1 failed to parse. | | | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | [example { # Binary operators. <<expression-1>> <<expression-2>> # sequence. parse 1, then 2. <<expression-1>> / <<expression-2>> # alternative. try to parse 1, and parse 2 if 1 failed to parse. # Prefix operators. Lookahead constraints. Same priority. & <<expression>> # Parse expression, ok on successful parse. ! <<expression>> # Ditto, except ok on failure to parse. # Suffix operators. Repetition. Same priority. <<expression>> ? # Parse expression none, or once (repeat 0 or 1). |
︙ | ︙ | |||
251 252 253 254 255 256 257 | All the escaped forms are started with a backslash character ('\', unicode codepoint 0x5C). This is then followed by a series of octal digits, or 'u' and hexedecimal digits, or a regular character from a fixed set for various control characters. Some examples: [example { | | < | 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | All the escaped forms are started with a backslash character ('\', unicode codepoint 0x5C). This is then followed by a series of octal digits, or 'u' and hexedecimal digits, or a regular character from a fixed set for various control characters. Some examples: [example { \n \r \t \' \" \[ \] \\ # \000 up to \277 # octal escape, all ascii character, leading 0's can be removed. \u2CA7 # hexadecimal escape, all unicode characters. # # Here 2ca7 <=> Koptic Small Letter Tau }] [subsection {Whitespace and comments}] One issue not touched upon so far is whitespace and comments. [para] |
︙ | ︙ | |||
307 308 309 310 311 312 313 | absence of a mode before the nonterminal. [para] Now, with all the above under our belt it should be possible to not only read, but understand the formal specification of the text representation shown in the next section, written in itself. | < | 306 307 308 309 310 311 312 313 314 315 316 | absence of a mode before the nonterminal. [para] Now, with all the above under our belt it should be possible to not only read, but understand the formal specification of the text representation shown in the next section, written in itself. [include include/format/peg.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_pegrammar.man.
︙ | ︙ | |||
38 39 40 41 42 43 44 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {PE serialization format}]. | < < < < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {PE serialization format}]. [call [cmd ::pt::peg] [method verify-as-canonical] \ [arg serial]] This command verifies that the content of [arg serial] is a valid [term canonical] serialization of a PEG and will throw an error if that is not the case. The result of the command is the empty string. [para] For the specification of canonical serializations see the section [sectref {PEG serialization format}]. [call [cmd ::pt::peg] [method canonicalize] [arg serial]] This command assumes that the content of [arg serial] is a valid [term regular] serialization of a PEG and will throw an error if that is not the case. [para] It will then convert the input into the [term canonical] serialization of the contained PEG and return it as its result. If the input is already canonical it will be returned unchanged. [para] For the specification of regular and canonical serializations see the section [sectref {PEG serialization format}]. [call [cmd ::pt::peg] [method print] [arg serial]] This command assumes that the argument [arg serial] contains a valid serialization of a parsing expression and returns a string containing that PE in a human readable form. [para] The exact format of this form is not specified and cannot be relied on for parsing or other machine-based activities. [para] For the specification of serializations see the section [sectref {PEG serialization format}]. [call [cmd ::pt::peg] [method merge] \ [arg seriala] [arg serialb]] This command accepts the regular serializations of two grammars and uses them to create their union. The result of the command is the canonical serialization of this unified grammar. |
︙ | ︙ | |||
122 123 124 125 126 127 128 | grammar. [para] The start expression of the unified grammar is the choice between the start expressions of the input grammars, with the start expression of [arg seriala] coming first, except if both expressions are identical. In that case the first expression is taken | < | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | grammar. [para] The start expression of the unified grammar is the choice between the start expressions of the input grammars, with the start expression of [arg seriala] coming first, except if both expressions are identical. In that case the first expression is taken [call [cmd ::pt::peg] [method equal] \ [arg seriala] [arg serialb]] This command tests the two grammars [arg seriala] and [arg serialb] for structural equality. The result of the command is a boolean value. It will be set to [const true] if the expressions are |
︙ | ︙ |
Changes to modules/pt/pt_pexpr_op.man.
︙ | ︙ | |||
27 28 29 30 31 32 33 | [arg dropset] [arg pe]] This command removes all occurences of any of the nonterminals symbols in the set [arg dropset] from the parsing expression [arg pe], and simplifies it. This may result in the expression becoming "epsilon", i.e. matching nothing. | < < < < | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | [arg dropset] [arg pe]] This command removes all occurences of any of the nonterminals symbols in the set [arg dropset] from the parsing expression [arg pe], and simplifies it. This may result in the expression becoming "epsilon", i.e. matching nothing. [call [cmd ::pt::pe::op] [method rename] \ [arg nt] [arg ntnew] [arg pe]] This command renames all occurences of the nonterminal [arg nt] in the parsing expression [arg pe] into [arg ntnew]. [call [cmd ::pt::pe::op] [method called] [arg pe]] This command extracts the set of all nonterminal symbols used, i.e. 'called', in the parsing expression [arg pe]. [call [cmd ::pt::pe::op] [method flatten] [arg pe]] This command transforms the parsing expression by eliminating sequences nested in sequences, and choices in choices, lifting the children of the nested expression into the parent. It further eliminates all sequences and choices with only one child, as these are redundant. [para] The resulting parsing expression is returned as the result of the command. [call [cmd ::pt::pe::op] [method fusechars] [arg pe]] This command transforms the parsing expression by fusing adjacent terminals in sequences and adjacent terminals and ranges in choices, it (re)constructs highlevel [term strings] and [term {character classes}]. |
︙ | ︙ | |||
82 83 84 85 86 87 88 | parsing expression. Notably, the commands [cmd {::pt::peg bottomup}] and [cmd {::pt::peg topdown}] will process them without trouble. [list_end] | < | 78 79 80 81 82 83 84 85 86 87 88 | parsing expression. Notably, the commands [cmd {::pt::peg bottomup}] and [cmd {::pt::peg topdown}] will process them without trouble. [list_end] [include include/serial/pexpression.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_pexpression.man.
︙ | ︙ | |||
38 39 40 41 42 43 44 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {PE serialization format}]. | < < < < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | non-canonical serialization. [para] For the specification of serializations see the section [sectref {PE serialization format}]. [call [cmd ::pt::pe] [method verify-as-canonical] \ [arg serial]] This command verifies that the content of [arg serial] is a valid [term canonical] serialization of a parsing expression and will throw an error if that is not the case. The result of the command is the empty string. [para] For the specification of canonical serializations see the section [sectref {PE serialization format}]. [call [cmd ::pt::pe] [method canonicalize] [arg serial]] This command assumes that the content of [arg serial] is a valid [term regular] serialization of a parsing expression and will throw an error if that is not the case. [para] It will then convert the input into the [term canonical] serialization of this parsing expression and return it as its result. If the input is already canonical it will be returned unchanged. [para] For the specification of regular and canonical serializations see the section [sectref {PE serialization format}]. [call [cmd ::pt::pe] [method print] [arg serial]] This command assumes that the argument [arg serial] contains a valid serialization of a parsing expression and returns a string containing that PE in a human readable form. [para] The exact format of this form is not specified and cannot be relied on for parsing or other machine-based activities. [para] For the specification of serializations see the section [sectref {PE serialization format}]. [call [cmd ::pt::pe] [method bottomup] [arg cmdprefix] [arg pe]] This command walks the parsing expression [arg pe] from the bottom up to the root, invoking the command prefix [arg cmdprefix] for each partial expression. This implies that the children of a parsing expression PE are handled before PE. |
︙ | ︙ | |||
120 121 122 123 124 125 126 | This also means that for all inner parsing expressions the contents of [arg arguments] are the results of the command prefix invoked for the children of this inner parsing expression. [list_end] | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | This also means that for all inner parsing expressions the contents of [arg arguments] are the results of the command prefix invoked for the children of this inner parsing expression. [list_end] [call [cmd ::pt::pe] [method topdown] [arg cmdprefix] [arg pe]] This command walks the parsing expression [arg pe] from the root down to the leaves, invoking the command prefix [arg cmdprefix] for each partial expression. This implies that the children of a parsing expression PE are handled after PE. [para] The command prefix has the same signature as for [method bottomup], see above. [para] The result returned by the command prefix is [emph ignored]. [call [cmd ::pt::pe] [method equal] \ [arg seriala] [arg serialb]] This command tests the two parsing expressions [arg seriala] and [arg serialb] for structural equality. The result of the command is a boolean value. It will be set to [const true] if the expressions are identical, and [const false] otherwise. [para] String equality is usable only if we can assume that the two parsing expressions are pure Tcl lists. [call [cmd ::pt::pe] [method epsilon]] This command constructs the atomic parsing expression for epsilon. [call [cmd ::pt::pe] [method dot]] This command constructs the atomic parsing expression for dot. [call [cmd ::pt::pe] [method alnum]] This command constructs the atomic parsing expression for alnum. [call [cmd ::pt::pe] [method alpha]] This command constructs the atomic parsing expression for alpha. [call [cmd ::pt::pe] [method ascii]] This command constructs the atomic parsing expression for ascii. [call [cmd ::pt::pe] [method control]] This command constructs the atomic parsing expression for control. [call [cmd ::pt::pe] [method digit]] This command constructs the atomic parsing expression for digit. [call [cmd ::pt::pe] [method graph]] This command constructs the atomic parsing expression for graph. [call [cmd ::pt::pe] [method lower]] This command constructs the atomic parsing expression for lower. [call [cmd ::pt::pe] [method print]] This command constructs the atomic parsing expression for print. [call [cmd ::pt::pe] [method punct]] This command constructs the atomic parsing expression for punct. [call [cmd ::pt::pe] [method space]] This command constructs the atomic parsing expression for space. [call [cmd ::pt::pe] [method upper]] This command constructs the atomic parsing expression for upper. [call [cmd ::pt::pe] [method wordchar]] This command constructs the atomic parsing expression for wordchar. [call [cmd ::pt::pe] [method xdigit]] This command constructs the atomic parsing expression for xdigit. [call [cmd ::pt::pe] [method ddigit]] This command constructs the atomic parsing expression for ddigit. [call [cmd ::pt::pe] [method terminal] [arg t]] This command constructs the atomic parsing expression for the terminal symbol [arg t]. [call [cmd ::pt::pe] [method range] [arg ta] [arg tb]] This command constructs the atomic parsing expression for the range of terminal symbols [arg ta] ... [arg tb]. [call [cmd ::pt::pe] [method nonterminal] [arg nt]] This command constructs the atomic parsing expression for the nonterminal symbol [arg nt]. [call [cmd ::pt::pe] [method choice] [arg pe]...] This command constructs the parsing expression representing the ordered or prioritized choice between the argument parsing expressions. The first argument has the highest priority. [call [cmd ::pt::pe] [method sequence] [arg pe]...] This command constructs the parsing expression representing the sequence of the argument parsing expression. The first argument is the first element of the sequence. [call [cmd ::pt::pe] [method repeat0] [arg pe]] This command constructs the parsing expression representing the zero or more repetition of the argument parsing expression [arg pe], also known as the kleene closure. [call [cmd ::pt::pe] [method repeat1] [arg pe]] This command constructs the parsing expression representing the one or more repetition of the argument parsing expression [arg pe], also known as the positive kleene closure. [call [cmd ::pt::pe] [method optional] [arg pe]] This command constructs the parsing expression representing the optionality of the argument parsing expression [arg pe]. [call [cmd ::pt::pe] [method ahead] [arg pe]] This command constructs the parsing expression representing the positive lookahead of the argument parsing expression [arg pe]. [call [cmd ::pt::pe] [method notahead] [arg pe]] This command constructs the parsing expression representing the negative lookahead of the argument parsing expression [arg pe]. [list_end] [include include/serial/pexpression.inc] [include include/feedback.inc] [manpage_end] |
Changes to modules/pt/pt_rdengine.man.
︙ | ︙ | |||
43 44 45 46 47 48 49 | parser with backtracking and returns the fully qualified name of the object command as its result. The API of this object command is described in the section [sectref {Object API}]. It may be used to invoke various operations on the object. [list_end] | < | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | parser with backtracking and returns the fully qualified name of the object command as its result. The API of this object command is described in the section [sectref {Object API}]. It may be used to invoke various operations on the object. [list_end] [subsection {Object API}] All objects created by this package provide the following 63 methods for the manipulation and querying of their state, which is, in essence the architectural state of a PARAM. [para] |
︙ | ︙ | |||
344 345 346 347 348 349 350 | i_loc_push i_error_clear i_error_push }] Parsers use it at the beginning of sequences generating an AST and choices with an initial branch generating an AST. | < | 343 344 345 346 347 348 349 350 351 352 353 354 355 356 | i_loc_push i_error_clear i_error_push }] Parsers use it at the beginning of sequences generating an AST and choices with an initial branch generating an AST. [call [arg objectName] [method si:void_state_merge]] This method combines [example { i_error_pop_merge i_loc_pop_rewind/discard }] |
︙ | ︙ |
Changes to modules/pt/pt_to_api.man.
︙ | ︙ | |||
46 47 48 49 50 51 52 | [call [cmd CONVERTER] [method reset]] This method has to reset the configuration of the converter to its default settings. The result of the method has to be the empty string. | < < < < < | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | [call [cmd CONVERTER] [method reset]] This method has to reset the configuration of the converter to its default settings. The result of the method has to be the empty string. [call [cmd CONVERTER] [method configure]] This method, in this form, has to return a dictionary containing the current configuration of the converter. [call [cmd CONVERTER] [method configure] [arg option]] This method, in this form, has to return the current value of the specified configuration [arg option] of the converter. [para] Please read the section [sectref Options] for the set of standard options any converter has to accept. Any other options accepted by a specific converter will be described in its manpage. [call [cmd CONVERTER] [method configure] [arg option] [arg value]...] This command, in this form, sets the specified [arg option]s of the converter to the given [arg value]s. [para] Please read the section [sectref Options] for the set of standard options a converter has to accept. Any other options accepted by a specific converter will be described in its manpage. [call [cmd CONVERTER] [method convert] [arg serial]] This method has to accept the canonical serialization of a parsing expression grammar, as specified in section [sectref {PEG serialization format}], and contained in [arg serial]. The result of the method has to be the result of converting the input grammar into whatever the converter is for, per its configuration. [list_end][comment {-- api command signatures --}] [list_end][comment {-- converter rules --}] [section {Plugin API}] Any (grammar) export plugin has to follow the rules set out below: [list_begin enumerated][comment {-- plugin rules --}] |
︙ | ︙ | |||
167 168 169 170 171 172 173 | [enum] A single usage cycle of a plugin consists of an invokation of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end][comment {-- plugin rules --}] | < < | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 | [enum] A single usage cycle of a plugin consists of an invokation of the command [cmd export]. This call has to leave the plugin in a state where another usage cycle can be run without problems. [list_end][comment {-- plugin rules --}] [section Options] Each export converter and plugin for an export converter has to accept the options below in their [method configure] method. Converters are allowed to ignore the contents of these options when performing a conversion, but they must not reject them. Plugins are expected to pass the options given to them to the converter they are invoking. [list_begin options] [include include/format/options_std.inc] [list_end] [section Usage] To use a converter do [example { # Get the converter (single command here, not class) |
︙ | ︙ |
Changes to modules/rc4/rc4.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin rc4 n 1.1.0] [copyright {2003, Pat Thoyts <[email protected]>}] [moddesc {RC4 Stream Cipher}] [titledesc {Implementation of the RC4 stream cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require rc4 [opt 1.1.0]] [description] [para] | > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin rc4 n 1.1.0] [see_also aes(n)] [see_also blowfish(n)] [see_also des(n)] [keywords arcfour] [keywords {data integrity}] [keywords encryption] [keywords rc4] [keywords security] [keywords {stream cipher}] [copyright {2003, Pat Thoyts <[email protected]>}] [moddesc {RC4 Stream Cipher}] [titledesc {Implementation of the RC4 stream cipher}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require rc4 [opt 1.1.0]] [description] [para] This package is an implementation in Tcl of the RC4 stream cipher developed by Ron Rivest of RSA Data Security Inc. The cipher was a trade secret of RSA but was reverse-engineered and published to the internet in 1994. It is used in a number of network protocols for securing communications. To evade trademark restrictions this cipher is sometimes known as ARCFOUR. [section {COMMANDS}] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | channel is given then the result will be written to this channel. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the result if not using an [arg -out] channel. [para] The data to be processes can be specified either as a string argument to | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | channel is given then the result will be written to this channel. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the result if not using an [arg -out] channel. [para] The data to be processes can be specified either as a string argument to the rc4 command, or as a filename or a pre-opened channel. If the [arg "-infile"] argument is given then the file is opened, the data read and processed and the file is closed. If the [arg "-in"] argument is given then data is read from the channel until the end of file. The channel is not closed. If the [arg "-out"] argument is given then the processing result is written to this channel. [para] |
︙ | ︙ | |||
61 62 63 64 65 66 67 | [section "PROGRAMMING INTERFACE"] [list_begin definitions] [call [cmd "::rc4::RC4Init"] [arg "keydata"]] Initialize a new RC4 key. The [arg keydata] is any amount of binary | | | | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | [section "PROGRAMMING INTERFACE"] [list_begin definitions] [call [cmd "::rc4::RC4Init"] [arg "keydata"]] Initialize a new RC4 key. The [arg keydata] is any amount of binary data and is used to initialize the cipher internal state. [call [cmd "::rc4::RC4"] [arg "Key"] [arg "data"]] Encrypt or decrypt the input data using the key obtained by calling [cmd RC4Init]. [call [cmd "::rc4::RC4Final"] [arg "Key"]] This should be called to clean up resources associated with [arg Key]. Once this function has been called the key is destroyed. [list_end] [section "EXAMPLES"] [example { |
︙ | ︙ | |||
99 100 101 102 103 104 105 | [example { proc ::Finish {myState data} { DoStuffWith $myState $data } rc4::rc4 -in $socket -command [list ::Finish $ApplicationState] }] | < < < | < < | < < < < < < < < | 108 109 110 111 112 113 114 115 116 117 118 119 120 | [example { proc ::Finish {myState data} { DoStuffWith $myState $data } rc4::rc4 -in $socket -command [list ::Finish $ApplicationState] }] [section "AUTHORS"] Pat Thoyts [vset CATEGORY rc4] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/rcs/rcs.man.
1 2 3 4 5 6 7 8 | [manpage_begin rcs n 2.0.2] [moddesc {RCS low level utilities}] [copyright {2005, Andreas Kupries <[email protected]>}] [copyright {2005, Colin McCormack <[email protected]>}] [titledesc {RCS low level utilities}] [category {Text processing}] [require Tcl 8.4] [require rcs [opt 0.1]] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [manpage_begin rcs n 2.0.2] [see_also struct] [see_also textutil] [keywords CVS] [keywords {diff -n format}] [keywords patching] [keywords RCS] [keywords {RCS patch}] [keywords SCCS] [keywords {text conversion}] [keywords {text differences}] [moddesc {RCS low level utilities}] [copyright {2005, Andreas Kupries <[email protected]>}] [copyright {2005, Colin McCormack <[email protected]>}] [titledesc {RCS low level utilities}] [category {Text processing}] [require Tcl 8.4] [require rcs [opt 0.1]] |
︙ | ︙ | |||
39 40 41 42 43 44 45 | [list_end] [comment { In the future we might add the generation and decoding of other patch formats as well. Like regular 'patch' patches, or also context and unified patches. }] | < < < < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | [list_end] [comment { In the future we might add the generation and decoding of other patch formats as well. Like regular 'patch' patches, or also context and unified patches. }] [section {COMMANDS}] [list_begin definitions] [call [cmd ::rcs::text2dict] [arg text]] Converts the argument [arg text] into a dictionary containing and representing the same text in an indexed form and returns that dictionary as its result. More information about the format of the result can be found in section [sectref {TEXT DICT DATA STRUCTURE}]. This command returns the [term canonical] representation of the input. [call [cmd ::rcs::dict2text] [arg dict]] This command provides the complementary operation to [cmd ::rcs::text2dict]. It converts a dictionary in the form described in section [sectref {TEXT DICT DATA STRUCTURE}] back into a text and returns that text as its result. The command does accept non-canonical representations of the text as its input. [call [cmd ::rcs::file2dict] [arg filename]] This command is identical to [cmd ::rcs::text2dict], except that it reads the text to convert from the file with path [arg filename]. The file has to exist and must be readable as well. [call [cmd ::rcs::dict2file] [arg filename] [arg dict]] This command is identical to [cmd ::rcs::2dict2text], except that it stores the resulting text in the file with path [arg filename]. The file is created if it did not exist, and must be writable. The result of the command is the empty string. [call [cmd ::rcs::decodeRcsPatch] [arg text]] Converts the [arg text] argument into a patch command list (PCL) as specified in the section [sectref {RCS PATCH COMMAND LIST}] and returns this list as its result. It is assumed that the input text is in [term {diff -n format}], also known as [term {RCS patch}] format, as specified in the section [sectref rpf]. Please note that the command ignores no-ops in the input, in other words the resulting PCL contains only instructions doing something. [call [cmd ::rcs::encodeRcsPatch] [arg pcmds]] This command provides the complementary operation to [cmd ::rcs::decodeRcsPatch]. It convert a patch comand list (PCL) list as specified in the section [sectref {RCS PATCH COMMAND LIST}] back into a text in [sectref rpf] and returns that text as its result. [para] Note that this command and [cmd ::rcs::decodeRcsPatch] are not exactly complementary, as the latter strips no-ops from its input, which the encoder cannot put back anymore into the generated RCS patch. In other words, the result of a decode/encode step may not match the original input at the character level, but it will match it at the functional level. [call [cmd ::rcs::applyRcsPatch] [arg text] [arg pcmds]] This operation applies a patch in the form of a PCL to a text given in the form of a dictionary and returns the modified text, again as dictionary, as its result. [para] To handle actual text use the commands [cmd ::rcs::text2dict] (or equivalent) and [cmd ::rcs::decodeRcsPatch] to transform the inputs into data structures acceptable to this command. Analogously use the command [cmd ::rcs::dict2text] (or equivalent) to transform the result of this command into actuall text as required. [list_end] [section {TEXT DICT DATA STRUCTURE}] A text dictionary is a dictionary whose keys are integer numbers and text strings as the associated values. The keys represent the line numbers of a text and the values the text of that line. Note that one text can have many representations as a dictionary, as the index |
︙ | ︙ | |||
184 185 186 187 188 189 190 | dictionary and returning text will generally accept all representations, canonical or not. [para] The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical. | < | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | dictionary and returning text will generally accept all representations, canonical or not. [para] The result of applying a patch to a text dictionary will in general cause the dictionary to become non-canonical. [section {RCS PATCH FORMAT} rpf] A [term patch] is in general a series of instructions how to transform an input text T into a different text T', and also encoded in text form as well. |
︙ | ︙ | |||
255 256 257 258 259 260 261 | [para] This is the format of results returned by the command [cmd ::rcs::decodeRcsPatch] and accepted by the commands [cmd ::rcs::encodeRcsPatch] and [cmd ::rcs::appplyRcsPatch] resp. | < < | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | [para] This is the format of results returned by the command [cmd ::rcs::decodeRcsPatch] and accepted by the commands [cmd ::rcs::encodeRcsPatch] and [cmd ::rcs::appplyRcsPatch] resp. Note however that the decoder will strip no-op commands, and the encoder will not generate no-ops, making them not fully complementary at the textual level, only at the functional level. [para] And example of a RCS patch is [para] [example {d1 2 d4 1 a4 2 The named is the mother of all things. a11 3 They both may be called deep and profound. Deeper and more profound, The door of all subtleties!}] [section {RCS PATCH COMMAND LIST}] Patch command lists (sort: PCL's) are the data structures generated by patch decoder command and accepted by the patch encoder and applicator commands. They represent RCS patches in the form of Tcl data structures. |
︙ | ︙ | |||
322 323 324 325 326 327 328 | [para] [example {{{d 1 2} {d 4 1} {a 4 {The named is the mother of all things. }} {a 11 {They both may be called deep and profound. Deeper and more profound, The door of all subtleties!}}}}] | < | < | < < < < < < < < < < < < < | 321 322 323 324 325 326 327 328 329 330 | [para] [example {{{d 1 2} {d 4 1} {a 4 {The named is the mother of all things. }} {a 11 {They both may be called deep and profound. Deeper and more profound, The door of all subtleties!}}}}] [vset CATEGORY rcs] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/report/report.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin report n 0.3.1] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Matrix reports}] [titledesc {Create and manipulate report objects}] [category {Data structures}] [require Tcl 8.2] [require report [opt 0.3.1]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin report n 0.3.1] [keywords matrix] [keywords report] [keywords table] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Matrix reports}] [titledesc {Create and manipulate report objects}] [category {Data structures}] [require Tcl 8.2] [require report [opt 0.3.1]] [description] |
︙ | ︙ | |||
102 103 104 105 106 107 108 | [para] The different kinds of lines and the codes used by the report methods to address them are: [list_begin definitions] | < | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | [para] The different kinds of lines and the codes used by the report methods to address them are: [list_begin definitions] [def [const top]] The topmost line of a report. Separates the report from anything which came before it. The user can enable the usage of this line at will. [def [const topdatasep]] |
︙ | ︙ | |||
231 232 233 234 235 236 237 | [section {REPORT METHODS}] [para] The following commands are possible for report objects: [list_begin definitions] | < | 233 234 235 236 237 238 239 240 241 242 243 244 245 246 | [section {REPORT METHODS}] [para] The following commands are possible for report objects: [list_begin definitions] [call [arg reportName] [method destroy]] Destroys the report, including its storage space and associated command. [call [arg reportName] [arg templatecode] [method disable]|[method enable]] |
︙ | ︙ | |||
465 466 467 468 469 470 471 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % m format 2string r }] | < | < < | < < < < < < < < | 466 467 468 469 470 471 472 473 474 475 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % m format 2string r }] [vset CATEGORY report] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/rest/rest.man.
︙ | ︙ | |||
15 16 17 18 19 20 21 | [call [cmd ::rest::simple] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::get] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::post] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::head] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::put] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::delete] [arg url] [arg query] [opt config] [opt body]] [list_end] | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | [call [cmd ::rest::simple] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::get] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::post] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::head] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::put] [arg url] [arg query] [opt config] [opt body]] [call [cmd ::rest::delete] [arg url] [arg query] [opt config] [opt body]] [list_end] The above commands are all equivalent except for the http method used. If you use [cmd simple] then the method should be specified as an option in the [opt config] dict, otherwise it defaults to [const get]. If a body is needed then the config dict must be present, however it may be empty. [example { set appid APPID set search tcl set res [rest::get http://boss.yahooapis.com/ysearch/web/v1/$search [list appid $appid]] set res [rest::format_json $res] }] |
︙ | ︙ | |||
42 43 44 45 46 47 48 | headers cookie auth format method content-type | < < < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | headers cookie auth format method content-type Interface usage An interface to a REST API consists of a series of definitions of REST calls contained in an array. The array name becomes a namespace containing the defined commands. Each array element defines the name of the call and takes the form of a dict, aka key/value pairs. These keys are the defined configuration options below. After creating the definitions simply call rest::create_interface on the array to create the commands. [example { package require rest set yweather(forecast) { url http://weather.yahooapis.com/forecastrss req_args { p: } opt_args { u: } } rest::create_interface yweather puts [yweather::forecast -p 94089] }] ::${name}::basic_auth [arg u] [arg p] ::${name}::set_static_args [opt args]] [list_begin definitions] [call [cmd ::rest::save] [arg name] [arg file]] saves a copy of the dynamically created procs to a file for later loading [call [cmd ::rest::describe] [arg name]] print a description of defined api calls [call [cmd ::rest::parameters] [arg url] [opt args]] parse a url query string into a dict [call [cmd ::rest::parse_opts] [arg static] [arg required] [arg optional] [arg string]] [call [cmd ::rest::substitute] [arg string] [opt var]] take a string and substitute real values for any option identifiers [call [cmd ::rest::create_interface] [arg name]] TOKENS the value is substituted into the url at call time. tokens in the form of %name:default_value% will be an optional argument with a default value. url the target of the http request |
︙ | ︙ | |||
197 198 199 200 201 202 203 | yahoo boss yahoo weather google calendar facebook del.icio.us read the file or source it and use [cmd describe] for more information. also see the developers documentation on the respective sites. | < | 194 195 196 197 198 199 200 201 | yahoo boss yahoo weather google calendar facebook del.icio.us read the file or source it and use [cmd describe] for more information. also see the developers documentation on the respective sites. [manpage_end] |
Changes to modules/ripemd/ripemd128.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin ripemd128 n 1.0.3] [moddesc {RIPEMD Message-Digest Algorithm}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {RIPEMD-128 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require ripemd128 [opt 1.0.3]] [description] [para] This package is an implementation in Tcl of the RIPEMD-128 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and | > > > > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [manpage_begin ripemd128 n 1.0.3] [see_also md4] [see_also md5] [see_also ripemd160] [see_also sha1] [keywords hashing] [keywords md4] [keywords message-digest] [keywords {rfc 1320}] [keywords {rfc 1321}] [keywords {rfc 2104}] [keywords RIPEMD] [keywords security] [moddesc {RIPEMD Message-Digest Algorithm}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {RIPEMD-128 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require ripemd128 [opt 1.0.3]] [description] [para] This package is an implementation in Tcl of the RIPEMD-128 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and generates a 128-bit message digest from the input. The RIPEMD-128 algorithm is based upon the MD4 algorithm (2, 4) but has been cryptographically strengthened against weaknesses that have been found in MD4 (4). RIPEMD-128 has been designed to be a drop-in replacement for MD4 and MD5 (5). If security is the major consideration, then RIPEMD-160 or SHA1 should be considered. [para] |
︙ | ︙ | |||
36 37 38 39 40 41 42 | Calculate the RIPEMD-128 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | Calculate the RIPEMD-128 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to the ripemd128 command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [para] |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [list_end] [section {PROGRAMMING INTERFACE}] For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is | | | | | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | [list_end] [section {PROGRAMMING INTERFACE}] For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is uniquely derived from the data that was poured into the bucket. The programming interface to the hash operates on a token (equivalent to the bucket). You call [cmd RIPEMD128Init] to obtain a token and then call [cmd RIPEMD128Update] as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call [cmd RIPEMD128Final]. An equivalent set of functions gives you a keyed digest (HMAC). [para] If you have [package critcl] and have built the [package tcllibc] package then the implementation of the hashing function will be |
︙ | ︙ | |||
89 90 91 92 93 94 95 | [call [cmd "::ripemd::RIPEMD128Init"]] Begins a new RIPEMD-128 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::ripemd::RIPEMD128Update"] [arg "token"] [arg "data"]] | | | < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | [call [cmd "::ripemd::RIPEMD128Init"]] Begins a new RIPEMD-128 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::ripemd::RIPEMD128Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {RIPEMD128Update $token "abcd"}] is equivalent to calling [emph {RIPEMD128Update $token "ab"}] followed by [emph {RIPEMD128Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::ripemd::RIPEMD128Final"] [arg "token"]] Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 128 bit RIPEMD-128 digest value. |
︙ | ︙ | |||
141 142 143 144 145 146 147 | }] [section {REFERENCES}] [list_begin enumerated] [enum] | | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | }] [section {REFERENCES}] [list_begin enumerated] [enum] H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" [uri http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf] [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) |
︙ | ︙ | |||
164 165 166 167 168 169 170 | [enum] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] | | < | < < | < < < < < < < < < | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | [enum] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, MIT and RSA Data Security, Inc, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1321.txt]) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY ripemd] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/ripemd/ripemd160.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin ripemd160 n 1.0.3] [moddesc {RIPEMD Message-Digest Algorithm}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {RIPEMD-160 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require ripemd160 [opt 1.0.3]] [description] [para] This package is an implementation in Tcl of the RIPEMD-160 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and | > > > > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [manpage_begin ripemd160 n 1.0.3] [see_also md4] [see_also md5] [see_also ripemd128] [see_also sha1] [keywords hashing] [keywords md4] [keywords message-digest] [keywords {rfc 1320}] [keywords {rfc 1321}] [keywords {rfc 2104}] [keywords RIPEMD] [keywords security] [moddesc {RIPEMD Message-Digest Algorithm}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {RIPEMD-160 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require ripemd160 [opt 1.0.3]] [description] [para] This package is an implementation in Tcl of the RIPEMD-160 message-digest algorithm (1). This algorithm takes an arbitrary quantity of data and generates a 160-bit message digest from the input. The RIPEMD-160 algorithm is based upon the MD4 algorithm (2, 4) but has been cryptographically strengthened against weaknesses that have been found in MD4 (4). [para] This package will use [package cryptkit] or [package Trf] to |
︙ | ︙ | |||
34 35 36 37 38 39 40 | Calculate the RIPEMD-160 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | Calculate the RIPEMD-160 digest of the data given in string. This is returned as a binary string by default. Giving the [arg "-hex"] option will return a hexadecimal encoded version of the digest. [para] The data to be hashed can be specified either as a string argument to the ripemd160 command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [para] |
︙ | ︙ | |||
61 62 63 64 65 66 67 | [list_end] [section {PROGRAMMING INTERFACE}] For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is | | | | | | < | 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | [list_end] [section {PROGRAMMING INTERFACE}] For the programmer, hash functions can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is uniquely derived from the data that was poured into the bucket. The programming interface to the hash operates on a token (equivalent to the bucket). You call [cmd RIPEMD160Init] to obtain a token and then call [cmd RIPEMD160Update] as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call [cmd RIPEMD160Final]. An equivalent set of functions gives you a keyed digest (HMAC). [list_begin definitions] [call [cmd "::ripemd::RIPEMD160Init"]] Begins a new RIPEMD-160 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::ripemd::RIPEMD160Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {RIPEMD160Update $token "abcd"}] is equivalent to calling [emph {RIPEMD160Update $token "ab"}] followed by [emph {RIPEMD160Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::ripemd::RIPEMD160Final"] [arg "token"]] Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 16 bytes representing the 160 bit RIPEMD-160 digest value. |
︙ | ︙ | |||
130 131 132 133 134 135 136 | }] [section {REFERENCES}] [list_begin enumerated] [enum] | | | < | < < | < < < < < < < < < | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | }] [section {REFERENCES}] [list_begin enumerated] [enum] H. Dobbertin, A. Bosselaers, B. Preneel, "RIPEMD-160, a strengthened version of RIPEMD" [uri http://www.esat.kuleuven.ac.be/~cosicart/pdf/AB-9601/AB-9601.pdf] [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] Rivest, R., "The MD4 message digest algorithm", in A.J. Menezes and S.A. Vanstone, editors, Advances in Cryptology - CRYPTO '90 Proceedings, pages 303-311, Springer-Verlag, 1991. [enum] Dobbertin, H., "Cryptanalysis of MD4", Journal of Cryptology vol 11 (4), pp. 253-271 (1998) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY ripemd] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/sasl/sasl.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin SASL n 1.3.0] [copyright {2005-2006, Pat Thoyts <[email protected]>}] [moddesc {Simple Authentication and Security Layer (SASL)}] [titledesc {Implementation of SASL mechanisms for Tcl}] [category Networking] [require Tcl 8.2] [require SASL [opt 1.3]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin SASL n 1.3.0] [keywords authentication] [keywords SASL] [copyright {2005-2006, Pat Thoyts <[email protected]>}] [moddesc {Simple Authentication and Security Layer (SASL)}] [titledesc {Implementation of SASL mechanisms for Tcl}] [category Networking] [require Tcl 8.2] [require SASL [opt 1.3]] [description] |
︙ | ︙ | |||
39 40 41 42 43 44 45 | [call [cmd "::SASL::configure"] [arg "option value"] [opt [arg "..."]]] Modify and inspect the SASL context option. See [sectref OPTIONS] for further details. [call [cmd "::SASL::step"] [arg "context"] [arg "challenge"] [opt [arg "..."]]] | | | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | [call [cmd "::SASL::configure"] [arg "option value"] [opt [arg "..."]]] Modify and inspect the SASL context option. See [sectref OPTIONS] for further details. [call [cmd "::SASL::step"] [arg "context"] [arg "challenge"] [opt [arg "..."]]] This is the core procedure for using the SASL framework. The [cmd step] procedure should be called until it returns 0. Each step takes a server challenge string and the response is calculated and stored in the context. Each mechanism may require one or more steps. For some steps there may be no server challenge required in which case an empty string should be provided for this parameter. All mechanisms should accept an initial empty challenge. |
︙ | ︙ | |||
65 66 67 68 69 70 71 | Release all resources associated with the SASL context. The context token may not be used again after this procedure has been called. [call [cmd "::SASL::mechanisms"] [opt [arg "type"]] [opt [arg "minimum"]]] Returns a list of all the available SASL mechanisms. The list is sorted by the mechanism preference value (see [cmd register]) with the | | | | < < | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | Release all resources associated with the SASL context. The context token may not be used again after this procedure has been called. [call [cmd "::SASL::mechanisms"] [opt [arg "type"]] [opt [arg "minimum"]]] Returns a list of all the available SASL mechanisms. The list is sorted by the mechanism preference value (see [cmd register]) with the preferred mechanisms and the head of the list. Any mechanism with a preference value less than the[arg minimum] (which defaults to 0) is removed from the returned list. This permits a security threshold to be set. Mechanisms with a preference less that 25 transmit authentication are particularly susceptible to eavesdropping and should not be provided unless a secure channel is in use (eg: tls). [para] The [arg type] parameter may be one of [arg client] or [arg server] and defaults to [arg client]. Only mechanisms that have an implementation matching the [arg type] are returned (this permits servers to correctly declare support only for mechanisms that actually provide a server implementation). [call [cmd "::SASL::register"] [arg "mechanism"] [arg "preference"] \ [arg "clientproc"] [opt [arg "serverproc"]]] New mechanisms can be added to the package by registering the mechanism name and the implementing procedures. The server procedure is optional. The preference value is an integer that is used to order the list returned by the [cmd mechanisms] command. Higher values indicate a preferred mechanism. If the mechanism is already registered then the recorded values are updated. [list_end] [section "OPTIONS"] [list_begin definitions] [def [option "-callback"]] |
︙ | ︙ | |||
132 133 134 135 136 137 138 | challenges. Mechanisms may be written to support server-side SASL and setting this option will cause each [cmd step] to issue the next challenge. A new context must be created for each incoming client connection when in server mode. [list_end] | < < | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | challenges. Mechanisms may be written to support server-side SASL and setting this option will cause each [cmd step] to issue the next challenge. A new context must be created for each incoming client connection when in server mode. [list_end] [section "CALLBACK PROCEDURE"] When the SASL framework requires any user details it will call the procedure provided when the context was created with an argument that specfies the item of information required. [para] In all cases a single response string should be returned. |
︙ | ︙ | |||
162 163 164 165 166 167 168 | authorization and authentication identities within SASL. [def "password"] The callback procedure should return the password that matches the authentication identity as used within the current realm. [para] | | < < | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | authorization and authentication identities within SASL. [def "password"] The callback procedure should return the password that matches the authentication identity as used within the current realm. [para] For server mechanisms the password callback should always be called with the authentication identity and the realm as the first two parameters. [def "realm"] Some SASL mechanisms use realms to partition authentication identities. The realm string is protocol dependent and is often the current DNS domain or in the case of the NTLM mechanism it is the Windows NT domain name. [def "hostname"] Returns the client host name - typically [lb]info host[rb]. [list_end] [section "MECHANISMS"] [list_begin definitions] [def "ANONYMOUS"] |
︙ | ︙ | |||
223 224 225 226 227 228 229 | transmitted across the network. Specified in [lb]3[rb]. [def "OTP"] OTP is the One-Time Password system described in RFC 2289 [lb]6[rb]. This mechanism is secure against replay attacks and also avoids storing password or password equivalents on the server. Only a digest of a seed | | | | | | | < < | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 | transmitted across the network. Specified in [lb]3[rb]. [def "OTP"] OTP is the One-Time Password system described in RFC 2289 [lb]6[rb]. This mechanism is secure against replay attacks and also avoids storing password or password equivalents on the server. Only a digest of a seed and a passphrase is ever transmitted across the network. Requires the [package otp] package from tcllib and one or more of the cryptographic digest packages (md5 or sha-1 are the most commonly used). [def "NTLM"] This is a proprietary protocol developed by Microsoft [lb]5[rb] and is in common use for authenticating users in a Windows network environment. NTLM uses DES encryption and MD4 digests of the users password to authenticate a connection. Certain weaknesses have been found in NTLM and thus there are a number of versions of the protocol. As this mechanism has additional dependencies it is made available as a separate sub-package. To enable this mechanism your application must load the SASL::NTLM package. [def "X-GOOGLE-TOKEN"] This is a proprietary protocol developed by Google and used for authenticating users for the Google Talk service. This mechanism makes a pair of HTTP requests over an SSL channel and so this mechanism depends upon the availability of the tls and http packages. To enable this mechanism your application must load the SASL::XGoogleToken package. In addition you are recommended to make use of the autoproxy package to handle HTTP proxies reasonably transparently. [list_end] [section "EXAMPLES"] See the examples subdirectory for more complete samples using SASL with network protocols. The following should give an idea how the SASL commands are to be used. In reality this should be event driven. Each time the [cmd step] command is called, the last server |
︙ | ︙ | |||
326 327 328 329 330 331 332 | ([uri http://www.ieft.org/rfc/rfc2289.txt]) [list_end] [section AUTHORS] Pat Thoyts | < | < < | < < < < < < < < | 320 321 322 323 324 325 326 327 328 329 | ([uri http://www.ieft.org/rfc/rfc2289.txt]) [list_end] [section AUTHORS] Pat Thoyts [vset CATEGORY sasl] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/sha1/sha1.man.
1 2 3 4 5 6 7 8 | [manpage_begin sha1 n 2.0.3] [moddesc {SHA-x Message-Digest Algorithm}] [copyright {2005, Pat Thoyts <[email protected]>}] [titledesc {SHA1 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sha1 [opt 2.0.3]] [description] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [manpage_begin sha1 n 2.0.3] [see_also md4] [see_also md5] [see_also ripemd128] [see_also ripemd160] [keywords {FIPS 180-1}] [keywords hashing] [keywords message-digest] [keywords {rfc 2104}] [keywords security] [keywords sha1] [moddesc {SHA-x Message-Digest Algorithm}] [copyright {2005, Pat Thoyts <[email protected]>}] [titledesc {SHA1 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sha1 [opt 2.0.3]] [description] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | The command takes a message and returns the SHA1 digest of this message as a hexadecimal string. You may request the result as binary data by giving [arg "-bin"]. [para] The data to be hashed can be specified either as a string argument to | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | The command takes a message and returns the SHA1 digest of this message as a hexadecimal string. You may request the result as binary data by giving [arg "-bin"]. [para] The data to be hashed can be specified either as a string argument to the [cmd "sha1"] command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [emph NOTE] use of the channel or filename options results in the internal use of [cmd vwait]. To avoid nested event loops in Tk or tclhttpd applications you should use the incremental programming API (see below). |
︙ | ︙ | |||
66 67 68 69 70 71 72 | [section {PROGRAMMING INTERFACE}] For the programmer, the SHA1 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the SHA1 hash operates on a token (equivalent to the | | | | | < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [section {PROGRAMMING INTERFACE}] For the programmer, the SHA1 hash can be viewed as a bucket into which one pours data. When you have finished, you extract a value that is derived from the data that was poured into the bucket. The programming interface to the SHA1 hash operates on a token (equivalent to the bucket). You call [cmd "SHA1Init"] to obtain a token and then call [cmd "SHA1Update"] as many times as required to add data to the hash. To release any resources and obtain the hash value, you then call [cmd "SHA1Final"]. An equivalent set of functions gives you a keyed digest (HMAC). [para] If you have [package critcl] and have built the [package tcllibc] package then the implementation of the hashing function will be performed by compiled code. Failing that if you have the [package Trf] package then this can be used otherwise there is a pure-tcl equivalent. The programming interface remains the same in all cases. [list_begin definitions] [call [cmd "::sha1::SHA1Init"]] Begins a new SHA1 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::sha1::SHA1Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {SHA1Update $token "abcd"}] is equivalent to calling [emph {SHA1Update $token "ab"}] followed by [emph {SHA1Update $token "cb"}]. See [sectref {EXAMPLES}]. [call [cmd "::sha1::SHA1Final"] [arg "token"]] Returns the hash value and releases any resources held by this token. Once this command completes the token will be invalid. The result is a binary string of 20 bytes representing the 160 bit SHA1 digest value. |
︙ | ︙ | |||
150 151 152 153 154 155 156 | ([uri http://www.itl.nist.gov/fipspubs/fip180-1.htm]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] | | < | < | < < < < < < < < < < < | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | ([uri http://www.itl.nist.gov/fipspubs/fip180-1.htm]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY sha1] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/sha1/sha256.man.
1 2 3 4 5 6 7 8 | [manpage_begin sha256 n 1.0.3] [moddesc {SHA-x Message-Digest Algorithm}] [copyright {2008, Andreas Kupries <[email protected]>}] [titledesc {SHA256 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sha256 [opt 1.0.3]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin sha256 n 1.0.3] [see_also md4] [see_also md5] [see_also ripemd128] [see_also ripemd160] [see_also sha1] [keywords {FIPS 180-1}] [keywords hashing] [keywords message-digest] [keywords {rfc 2104}] [keywords security] [keywords sha256] [moddesc {SHA-x Message-Digest Algorithm}] [copyright {2008, Andreas Kupries <[email protected]>}] [titledesc {SHA256 Message-Digest Algorithm}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require sha256 [opt 1.0.3]] [description] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | The command takes a message and returns the SHA256 digest of this message as a hexadecimal string. You may request the result as binary data by giving [arg "-bin"]. [para] The data to be hashed can be specified either as a string argument to | | < | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | The command takes a message and returns the SHA256 digest of this message as a hexadecimal string. You may request the result as binary data by giving [arg "-bin"]. [para] The data to be hashed can be specified either as a string argument to the [cmd "sha256"] command, or as a filename or a pre-opened channel. If the [arg "-filename"] argument is given then the file is opened, the data read and hashed and the file is closed. If the [arg "-channel"] argument is given then data is read from the channel until the end of file. The channel is not closed. [emph NOTE] use of the channel or filename options results in the internal use of [cmd vwait]. To avoid nested event loops in Tk or tclhttpd applications you should use the incremental programming API (see below). [para] Only one of [arg "-file"], [arg "-channel"] or [arg "string"] should be given. [call [cmd ::sha2::sha224] \ [opt "[arg -hex|-bin]"] \ [lb] [arg "-channel channel"] | \ [arg "-file filename"] | [arg "string"] [rb]] Like [cmd ::sha2::sha256], except that the SHA224 digest is returned. [call [cmd "::sha2::hmac"] [arg "key"] [arg "string"]] [call [cmd "::sha2::hmac"] \ [opt "[arg -hex|-bin]"] \ [arg "-key key"] \ [lb] [arg "-channel channel"] | \ [arg "-file filename"] | [arg "string"] [rb]] |
︙ | ︙ | |||
96 97 98 99 100 101 102 | [call [cmd "::sha2::SHA224Init"]] Begins a new SHA256/SHA224 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::sha2::SHA256Update"] [arg "token"] [arg "data"]] | | | | 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | [call [cmd "::sha2::SHA224Init"]] Begins a new SHA256/SHA224 hash. Returns a token ID that must be used for the remaining functions. [call [cmd "::sha2::SHA256Update"] [arg "token"] [arg "data"]] Add data to the hash identified by token. Calling [emph {SHA256Update $token "abcd"}] is equivalent to calling [emph {SHA256Update $token "ab"}] followed by [emph {SHA256Update $token "cb"}]. See [sectref {EXAMPLES}]. Note that this command is used for both SHA256 and SHA224. Only the initialization and finalization commands of both hashes differ. [call [cmd "::sha2::SHA256Final"] [arg "token"]] [call [cmd "::sha2::SHA224Final"] [arg "token"]] |
︙ | ︙ | |||
160 161 162 163 164 165 166 | ([uri http://www.itl.nist.gov/fipspubs/fip180-1.htm]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] | | < | < | < < < < < < < < < < < | 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | ([uri http://www.itl.nist.gov/fipspubs/fip180-1.htm]) [enum] Rivest, R., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992. ([uri http://www.rfc-editor.org/rfc/rfc1320.txt]) [enum] Krawczyk, H., Bellare, M. and Canetti, R. "HMAC: Keyed-Hashing for Message Authentication", RFC 2104, February 1997. ([uri http://www.rfc-editor.org/rfc/rfc2104.txt]) [list_end] [vset CATEGORY sha1] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/simulation/annealing.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::annealing n 0.2] [copyright {2008 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Simulated annealing}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::annealing 0.2] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::annealing n 0.2] [keywords math] [keywords optimization] [keywords {simulated annealing}] [copyright {2008 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Simulated annealing}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::annealing 0.2] |
︙ | ︙ | |||
247 248 249 250 251 252 253 | As the vector grows, the computation time increases, but the procedure will stop if some kind of equilibrium is reached. To achieve a useful solution you may want to try different values of the trials parameter for instance. Also ensure that the function to be minimized depends on all or most parameters - see the source code for a counter example and run that. [list_end] | < < | 250 251 252 253 254 255 256 257 | As the vector grows, the computation time increases, but the procedure will stop if some kind of equilibrium is reached. To achieve a useful solution you may want to try different values of the trials parameter for instance. Also ensure that the function to be minimized depends on all or most parameters - see the source code for a counter example and run that. [list_end] [manpage_end] |
Changes to modules/simulation/montecarlo.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::montecarlo n 0.1] [copyright {2008 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Monte Carlo simulations}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::montecarlo 0.1] [require simulation::random] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::montecarlo n 0.1] [keywords math] [keywords {montecarlo simulation}] [keywords {stochastic modelling}] [copyright {2008 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Monte Carlo simulations}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::montecarlo 0.1] [require simulation::random] |
︙ | ︙ | |||
209 210 211 212 213 214 215 | [section TIPS] The procedure [term singleExperiment] works by constructing a temporary procedure that does the actual work. It loops for the given number of trials. [para] As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop. | < < | 212 213 214 215 216 217 218 219 | [section TIPS] The procedure [term singleExperiment] works by constructing a temporary procedure that does the actual work. It loops for the given number of trials. [para] As it constructs a temporary procedure, local variables defined at the start continue to exist in the loop. [manpage_end] |
Changes to modules/simulation/simulation_random.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::random n 0.1] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Pseudo-random number generators}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::random 0.1] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin simulation::random n 0.1] [keywords math] [keywords {random numbers}] [keywords simulation] [keywords {statistical distribution}] [copyright {2004 Arjen Markus <[email protected]>}] [moddesc {Tcl Simulation Tools}] [titledesc {Pseudo-random number generators}] [category Mathematics] [require Tcl [opt 8.4]] [require simulation::random 0.1] |
︙ | ︙ | |||
63 64 65 66 67 68 69 | distribution. [list_begin arguments] [arg_def float lambda] Mean number per time interval [list_end] [list_end] | < | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | distribution. [list_begin arguments] [arg_def float lambda] Mean number per time interval [list_end] [list_end] The package defines the following public procedures for [emph continuous] distributions: [list_begin definitions] [call [cmd ::simulation::random::prng_Uniform] [arg min ] [arg max]] |
︙ | ︙ | |||
145 146 147 148 149 150 151 | [list_begin arguments] [arg_def float df] Degrees of freedom [list_end] [list_end] | < | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | [list_begin arguments] [arg_def float df] Degrees of freedom [list_end] [list_end] The package defines the following public procedures for random point sets: [list_begin definitions] [call [cmd ::simulation::random::prng_Disk] [arg rad]] Create a command (PRNG) that generates (x,y)-coordinates for points |
︙ | ︙ | |||
207 208 209 210 211 212 213 | [list_begin arguments] [arg_def float length] Length of the block (x-direction) [arg_def float width] Width of the block (y-direction) [arg_def float depth] Depth of the block (z-direction) [list_end] [list_end] | < < < | 209 210 211 212 213 214 215 216 | [list_begin arguments] [arg_def float length] Length of the block (x-direction) [arg_def float width] Width of the block (y-direction) [arg_def float depth] Depth of the block (z-direction) [list_end] [list_end] [manpage_end] |
Changes to modules/smtpd/smtpd.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin smtpd n 1.5] [copyright {Pat Thoyts <[email protected]>}] [moddesc {Tcl SMTP Server Package}] [titledesc {Tcl SMTP server implementation}] [category Networking] [require Tcl 8.3] [require smtpd [opt 1.5]] [description] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin smtpd n 1.5] [keywords {rfc 821}] [keywords {rfc 2821}] [keywords services] [keywords smtp] [keywords smtpd] [keywords socket] [keywords vwait] [copyright {Pat Thoyts <[email protected]>}] [moddesc {Tcl SMTP Server Package}] [titledesc {Tcl SMTP server implementation}] [category Networking] [require Tcl 8.3] [require smtpd [opt 1.5]] [description] |
︙ | ︙ | |||
194 195 196 197 198 199 200 | [para] [example { proc validate_sender {address} { eval array set addr [mime::parseaddress $address] if {[string match "denied" $addr(local)]} { error "mailbox $addr(local) denied" } | | | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | [para] [example { proc validate_sender {address} { eval array set addr [mime::parseaddress $address] if {[string match "denied" $addr(local)]} { error "mailbox $addr(local) denied" } return } }] [para] The content of any error message will not be passed back to the client. |
︙ | ︙ | |||
276 277 278 279 280 281 282 | [section LICENSE] This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file [file license.terms] for more details. | < | < < | < < < < < < < < | 283 284 285 286 287 288 289 290 291 292 | [section LICENSE] This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file [file license.terms] for more details. [vset CATEGORY smtpd] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/snit/snit.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin snit n 2.3.2] [copyright {2003-2009, by William H. Duquette}] [moddesc {Snit's Not Incr Tcl, OO system}] [titledesc {Snit's Not Incr Tcl}] [category {Programming tools}] [require Tcl 8.5] [require snit [opt 2.3.2]] [description] [para] Snit is a pure Tcl object and megawidget system. It's unique among Tcl object systems in that it's based not on inheritance but on delegation. Object systems based on inheritance only allow you to inherit from classes defined using the same system, which is | > > > > > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin snit n 2.3.2] [keywords adaptors] [keywords BWidget] [keywords C++] [keywords class] [keywords {Incr Tcl}] [keywords {mega widget}] [keywords object] [keywords {object oriented}] [keywords Snit] [keywords type] [keywords widget] [keywords {widget adaptors}] [copyright {2003-2009, by William H. Duquette}] [moddesc {Snit's Not Incr Tcl, OO system}] [titledesc {Snit's Not Incr Tcl}] [category {Programming tools}] [require Tcl 8.5] [require snit [opt 2.3.2]] [description] [para] Snit is a pure Tcl object and megawidget system. It's unique among Tcl object systems in that it's based not on inheritance but on delegation. Object systems based on inheritance only allow you to inherit from classes defined using the same system, which is limiting. In Tcl, an object is anything that acts like an object; it shouldn't matter how the object was implemented. Snit is intended to help you build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a [package Tk] widget, an [package {Incr Tcl}] object, a [package BWidget] or almost anything else. |
︙ | ︙ | |||
64 65 66 67 68 69 70 | contain the following definitions: [list_begin definitions] [call [cmd typevariable] [arg name] [opt [const -array]] [opt [arg value]]] Defines a type variable with the specified [arg name], and optionally the specified [arg value]. Type variables are shared by all instances | | | | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | contain the following definitions: [list_begin definitions] [call [cmd typevariable] [arg name] [opt [const -array]] [opt [arg value]]] Defines a type variable with the specified [arg name], and optionally the specified [arg value]. Type variables are shared by all instances of the type. If the [const -array] option is included, then [arg value] should be a dictionary; it will be assigned to the variable using [cmd "array set"]. [call [cmd typemethod] [arg name] [arg arglist] [arg body]] Defines a type method, a subcommand of the new type command, with the specified name, argument list, and body. The [arg arglist] is a normal Tcl argument list and may contain default arguments and the [var args] argument; however, it may not contain the argument names [var type], [var self], [var selfns], or [var win]. [para] The variable [var type] is automatically defined in the [arg body] to the type's fully-qualified name. In addition, type variables are automatically visible in the [arg body] of every type method. [para] If the [arg name] consists of two or more tokens, Snit handles it specially: [example { typemethod {a b} {arg} { puts "Got $arg" } }] This statement implicitly defines a type method called [const a] which has a subcommand [const b]. [const b] is called like this: [example { $type a b "Hello, world!" }] [const a] may have any number of subcommands. This makes it possible to define a hierarchical command structure; see [cmd method], below, for more examples. [para] Type methods can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the type's type methods can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [para] [emph {Snit 1.x Incompatibility:}] In Snit 1.x, the following following two calls to this type method are equivalent: |
︙ | ︙ | |||
130 131 132 133 134 135 136 | The type constructor's [arg body] is executed once when the type is first defined; it is typically used to initialize array-valued type variables and to add entries to [sectref {The Tk Option Database}]. [para] | | | | | | | | | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | The type constructor's [arg body] is executed once when the type is first defined; it is typically used to initialize array-valued type variables and to add entries to [sectref {The Tk Option Database}]. [para] The variable [var type] is automatically defined in the [arg body], and contains the type's fully-qualified name. In addition, type variables are automatically visible in the [arg body] of the type constructor. [para] A type may define at most one type constructor. [para] The type constructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the type constructor can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [call [cmd variable] [arg name] [opt [const -array]] [opt [arg value]]] Defines an instance variable, a private variable associated with each instance of this type, and optionally its initial value. If the [const -array] option is included, then [arg value] should be a dictionary; it will be assigned to the variable using [cmd "array set"]. [call [cmd method] [arg name] [arg arglist] [arg body]] Defines an instance method, a subcommand of each instance of this type, with the specified name, argument list and body. The [arg arglist] is a normal Tcl argument list and may contain default arguments and the [var args] argument. [para] The method is implicitly passed the following arguments as well: [var type], which contains the fully-qualified type name; [var self], which contains the current instance command name; [var selfns], which |
︙ | ︙ | |||
223 224 225 226 227 228 229 | What we've done is implicitly defined a "tail" method with subcommands "wag" and "droop". Consequently, it's an error to define "tail" explicitly. [para] Methods can call commands from the namespace in which the type is | | | | 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | What we've done is implicitly defined a "tail" method with subcommands "wag" and "droop". Consequently, it's an error to define "tail" explicitly. [para] Methods can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the type's methods can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [para] [emph {Snit 1.x Incompatibility:}] In Snit 1.x, the following following two calls to this method are equivalent: |
︙ | ︙ | |||
276 277 278 279 280 281 282 | See [sectref {The Tk Option Database}] for more information about resource and class names. [para] Options are normally set and retrieved using the standard instance methods [method configure] and [method cget]; within instance code | | | | | | | | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | See [sectref {The Tk Option Database}] for more information about resource and class names. [para] Options are normally set and retrieved using the standard instance methods [method configure] and [method cget]; within instance code (method bodies, etc.), option values are available through the [var options] array: [example { set myfont $options(-font) }] If the type defines any option handlers (e.g., [const -configuremethod]), then it should probably use [method configure] and [method cget] to access its options to avoid subtle errors. [para] The [cmd option] statement may include the following options: [list_begin definitions] [def "[const -default] [arg defvalue]"] Defines the option's default value; the option's default value will be "" otherwise. [def "[const -readonly] [arg flag]"] The [arg flag] can be any Boolean value recognized by Tcl. If [arg flag] is true, then the option is read-only--it can only be set using [method configure] or [method configurelist] at creation time, i.e., in the type's constructor. [def "[const -type] [arg type]"] Every locally-defined option may define its validation type, which may be either the name of a validation type or a specification for a validation subtype |
︙ | ︙ | |||
325 326 327 328 329 330 331 | by specifying a validation subtype: [example { option -number -type {snit::integer -min 1 -max 10} }] If a validation type or subtype is defined for an option, then it will be used to validate the option's value whenever it is | | | | | | | | | | | | | | | | | | | | | | | | | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 | by specifying a validation subtype: [example { option -number -type {snit::integer -min 1 -max 10} }] If a validation type or subtype is defined for an option, then it will be used to validate the option's value whenever it is changed by the object's [method configure] or [method configurelist] methods. In addition, all such options will have their values validated automatically immediately after the constructor executes. [para] Snit defines a family of validation types and subtypes, and it's quite simple to define new ones. See [sectref "Validation Types"] for the complete list, and [sectref "Defining Validation Types"] for an explanation of how to define your own. [def "[const -cgetmethod] [arg methodName]"] Every locally-defined option may define a [const -cgetmethod]; it is called when the option's value is retrieved using the [method cget] method. Whatever the method's [arg body] returns will be the return value of the call to [method cget]. [para] The named method must take one argument, the option name. For example, this code is equivalent to (though slower than) Snit's default handling of [cmd cget]: [example { option -font -cgetmethod GetOption method GetOption {option} { return $options($option) } }] Note that it's possible for any number of options to share a [const -cgetmethod]. [def "[const -configuremethod] [arg methodName]"] Every locally-defined option may define a [const -configuremethod]; it is called when the option's value is set using the [method configure] or [method configurelist] methods. It is the named method's responsibility to save the option's value; in other words, the value will not be saved to the [var options()] array unless the method saves it there. [para] The named method must take two arguments, the option name and its new value. For example, this code is equivalent to (though slower than) Snit's default handling of [cmd configure]: [example { option -font -configuremethod SetOption method SetOption {option value} { set options($option) $value } }] Note that it's possible for any number of options to share a single [const -configuremethod]. [def "[const -validatemethod] [arg methodName]"] Every locally-defined option may define a [const -validatemethod]; it is called when the option's value is set using the [method configure] or [method configurelist] methods, just before the [const -configuremethod] (if any). It is the named method's responsibility to validate the option's new value, and to throw an error if the value is invalid. [para] The named method must take two arguments, the option name and its new value. For example, this code verifies that [const -flag]'s value is a valid Boolean value: [example { option -font -validatemethod CheckBoolean method CheckBoolean {option value} { if {![string is boolean -strict $value]} { error "option $option must have a boolean value." } } }] Note that it's possible for any number of options to share a single [const -validatemethod]. [list_end] [call [cmd constructor] [arg arglist] [arg body]] The constructor definition specifies a [arg body] of code to be executed when a new instance is created. The [arg arglist] is a normal Tcl argument list and may contain default arguments and the [var args] argument. [para] As with methods, the arguments [var type], [var self], [var selfns], and [var win] are defined implicitly, and all type and instance variables are automatically visible in its [arg body]. [para] If the [arg definition] doesn't explicitly define the constructor, Snit defines one implicitly. If the type declares at least one option (whether locally or by delegation), the default constructor will be defined as follows: [example { constructor {args} { $self configurelist $args } }] For standard Tk widget behavior, the argument list should be the single name [const args], as shown. [para] If the [arg definition] defines neither a constructor nor any options, the default constructor is defined as follows: [example { constructor {} {} }] As with methods, the constructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the constructor can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [call [cmd destructor] [arg body]] The destructor is used to code any actions that must take place when an instance of the type is destroyed: typically, the destruction of anything created in the constructor. [para] The destructor takes no explicit arguments; as with methods, the arguments [var type], [var self], [var selfns], and [var win], are defined implicitly, and all type and instance variables are automatically visible in its [arg body]. As with methods, the destructor can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the destructor can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [call [cmd proc] [arg name] [arg args] [arg body]] Defines a new Tcl procedure in the type's namespace. [para] The defined proc differs from a normal Tcl proc in that all type variables are automatically visible. The proc can access instance variables as well, provided that it is passed [var selfns] (with precisely that name) as one of its arguments. [para] Although they are not implicitly defined for procs, the argument names [const type], [const self], and [const win] should be avoided. [para] As with methods and typemethods, procs can call commands from the namespace in which the type is defined without importing them, e.g., if the type name is [cmd ::parentns::typename], then the proc can call [cmd ::parentns::someproc] just as [cmd someproc]. [emph {Snit 1.x Incompatibility:}] This does not work in Snit 1.x, as it depends on [cmd "namespace path"], a new command in Tcl 8.5. [call [cmd delegate] [const method] [arg name] [const to] [arg comp] [opt "[const as] [arg target]"]] Delegates method [arg name] to component [arg comp]. That is, when method [arg name] is called on an instance of this type, the method |
︙ | ︙ | |||
544 545 546 547 548 549 550 | [const Note:] All forms of [cmd "delegate method"] can delegate to both instance components and type components. [call [cmd delegate] [const method] [arg name] [opt "[const to] [arg comp]"] [const using] [arg pattern]] In this form of the [cmd delegate] statement, the [const using] clause | | | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 | [const Note:] All forms of [cmd "delegate method"] can delegate to both instance components and type components. [call [cmd delegate] [const method] [arg name] [opt "[const to] [arg comp]"] [const using] [arg pattern]] In this form of the [cmd delegate] statement, the [const using] clause is used to specify the precise form of the command to which method [arg name] name is delegated. In this form, the [const "to"] clause is optional, since the chosen command might not involve any particular component. [para] The value of the [const using] clause is a list that may contain any or all of the following substitution codes; these codes are substituted with the described value to build the delegated command prefix. Note that the following two statements are equivalent: [example { delegate method wag to tail delegate method wag to tail using "%c %m" }] |
︙ | ︙ | |||
685 686 687 688 689 690 691 | TBD: Continue from here. [call [cmd component] [arg comp] \ [opt "[const -public] [arg method]"] \ [opt "[const -inherit] [arg flag]"]] Explicitly declares a component called [arg comp], and automatically | | | 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 | TBD: Continue from here. [call [cmd component] [arg comp] \ [opt "[const -public] [arg method]"] \ [opt "[const -inherit] [arg flag]"]] Explicitly declares a component called [arg comp], and automatically defines the component's instance variable. [para] If the [const -public] option is specified, then the option is made public by defining a [arg method] whose subcommands are delegated to the component e.g., specifying [const "-public mycomp"] is equivalent to the following: |
︙ | ︙ | |||
746 747 748 749 750 751 752 | [para] A type method cannot be both locally defined and delegated. [call [cmd delegate] [const typemethod] [arg name] [opt "[const to] [arg comp]"] [const using] [arg pattern]] In this form of the [cmd delegate] statement, the [const using] clause | | | | 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 | [para] A type method cannot be both locally defined and delegated. [call [cmd delegate] [const typemethod] [arg name] [opt "[const to] [arg comp]"] [const using] [arg pattern]] In this form of the [cmd delegate] statement, the [const using] clause is used to specify the precise form of the command to which type method [arg name] name is delegated. In this form, the [const "to"] clause is optional, since the chosen command might not involve any particular type component. [para] The value of the [const using] clause is a list that may contain any or all of the following substitution codes; these codes are substituted with the described value to build the delegated command prefix. Note that the following two statements are equivalent: [example { delegate typemethod lostdogs to pound delegate typemethod lostdogs to pound using "%c %m" }] |
︙ | ︙ | |||
815 816 817 818 819 820 821 | [const using] clause, or both. [para] [const Note:] By default, Snit interprets [cmd "\$type foo"], where [const "foo"] is not a defined type method, as equivalent to [cmd "\$type create foo"], where | | | 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 | [const using] clause, or both. [para] [const Note:] By default, Snit interprets [cmd "\$type foo"], where [const "foo"] is not a defined type method, as equivalent to [cmd "\$type create foo"], where [const "foo"] is the name of a new instance of the type. If you use [const "delegate typemethod *"], then the [method "create"] type method must always be used explicitly. [para] The "*" can be a list of two or more tokens whose last element is "*", as in the following example: |
︙ | ︙ | |||
843 844 845 846 847 848 849 | command to which type methods and instance methods can be delegated; the command's name is stored in a type variable. [para] If the [const -public] option is specified, then the type component is made public by defining a [arg typemethod] whose subcommands are delegated to | | | 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 | command to which type methods and instance methods can be delegated; the command's name is stored in a type variable. [para] If the [const -public] option is specified, then the type component is made public by defining a [arg typemethod] whose subcommands are delegated to the type component, e.g., specifying [const "-public mytypemethod"] is equivalent to the following: [example { typecomponent mycomp delegate typemethod {mytypemethod *} to mycomp }] If the [const -inherit] option is specified, then [arg flag] must be a |
︙ | ︙ | |||
865 866 867 868 869 870 871 | delegate typemethod * to mycomp }] [call [cmd pragma] [opt [arg options...]]] The [cmd pragma] statement provides control over how Snit generates a type. It takes the following options; in each case, [arg flag] must | | | 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 | delegate typemethod * to mycomp }] [call [cmd pragma] [opt [arg options...]]] The [cmd pragma] statement provides control over how Snit generates a type. It takes the following options; in each case, [arg flag] must be a Boolean value recognized by Tcl, e.g., [const 0], [const 1], [const "yes"], [const "no"], and so on. [para] By setting the [const -hastypeinfo], [const -hastypedestroy], and [const -hasinstances] pragmas to false and defining appropriate |
︙ | ︙ | |||
899 900 901 902 903 904 905 | If true (the default), the generated type will have a type method called [cmd destroy] that is used to destroy the type and all of its instances. The [cmd destroy] type method is documented below. If false, it will not. [def "[const -hastypemethods] [arg flag]"] | | | | | | | | | | 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 | If true (the default), the generated type will have a type method called [cmd destroy] that is used to destroy the type and all of its instances. The [cmd destroy] type method is documented below. If false, it will not. [def "[const -hastypemethods] [arg flag]"] If true (the default), the generated type's type command will have subcommands (type methods) as usual. If false, the type command will serve only to create instances of the type; the first argument is the instance name. [para] This pragma and [const -hasinstances] cannot both be set false. [def "[const -hasinstances] [arg flag]"] If true (the default), the generated type will have a type method called [cmd create] that is used to create instances of the type, along with a variety of instance-related features. If false, it will not. [para] This pragma and [const -hastypemethods] cannot both be set false. [def "[const -hasinfo] [arg flag]"] If true (the default), instances of the generated type will have an instance method called [method info] that is used for instance introspection; the [method info] method is documented below. If false, it will not. [def "[const -simpledispatch] [arg flag]"] This pragma is intended to make simple, heavily-used abstract data types (e.g., stacks and queues) more efficient. [para] If false (the default), instance methods are dispatched normally. If true, a faster dispatching scheme is used instead. The speed comes at a price; with [const "-simpledispatch yes"] you get the following limitations: [list_begin itemized] [item] Methods cannot be delegated. [item] [cmd uplevel] and [cmd upvar] do not work as expected: the caller's scope is two levels up rather than one. [item] The option-handling methods ([cmd cget], [cmd configure], and [cmd configurelist]) are very slightly slower. [list_end] [list_end] [call [cmd expose] [arg comp]] [call [cmd expose] [arg comp] [const as] [arg method]] [comment { The word "Deprecated" really needs to be boldface, and there's no good way to do it, so I'm using "const". }] [const Deprecated.] To expose component [arg comp] publicly, use [cmd component]'s [const -public] option. [call [cmd onconfigure] [arg name] [arg arglist] [arg body]] [const Deprecated.] Define [cmd option]'s [const -configuremethod] option instead. [para] As of version 0.95, the following definitions, [example { option -myoption |
︙ | ︙ | |||
986 987 988 989 990 991 992 | method _configure-myoption {_option value} { # Code to save the option's value } }] [call [cmd oncget] [arg name] [arg body]] | | | 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 | method _configure-myoption {_option value} { # Code to save the option's value } }] [call [cmd oncget] [arg name] [arg body]] [const Deprecated.] Define [cmd option]'s [const -cgetmethod] option instead. [para] As of version 0.95, the following definitions, [example { option -myoption |
︙ | ︙ | |||
1008 1009 1010 1011 1012 1013 1014 | [example { option -myoption -cgetmethod _cget-myoption method _cget-myoption {_option} { # Code to return the option's value } }] [list_end] | < | 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 | [example { option -myoption -cgetmethod _cget-myoption method _cget-myoption {_option} { # Code to return the option's value } }] [list_end] [call [cmd snit::widget] [arg name] [arg definition]] This command defines a Snit megawidget type with the specified [arg name]. The [arg definition] is defined as for [cmd snit::type]. A [cmd snit::widget] differs from a [cmd snit::type] in these ways: |
︙ | ︙ | |||
1056 1057 1058 1059 1060 1061 1062 | the default. See [sectref {The Tk Option Database}] for more information. [call [cmd hulltype] [arg type]] Determines the kind of widget used as the [cmd snit::widget]'s hull. The [arg type] may be [const frame] (the default), [const toplevel], | | | | | | 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 | the default. See [sectref {The Tk Option Database}] for more information. [call [cmd hulltype] [arg type]] Determines the kind of widget used as the [cmd snit::widget]'s hull. The [arg type] may be [const frame] (the default), [const toplevel], [const labelframe]; the qualified equivalents of these, [const tk::frame], [const tk::toplevel], and [const tk::labelframe]; or, if available, the equivalent Tile widgets: [const ttk::frame], [const ttk::toplevel], and [const ttk::labelframe]. In practice, any widget that supports the [const -class] option can be used as a hull widget by [cmd lappend]'ing its name to the variable [var snit::hulltypes]. [list_end] [call [cmd snit::widgetadaptor] [arg name] [arg definition]] This command defines a Snit megawidget type with the specified name. It differs from [cmd snit::widget] in that the instance's [var hull] component is not created automatically, but is created in the constructor and installed using the [cmd installhull] command. Once the hull is installed, its instance command is renamed and replaced as |
︙ | ︙ | |||
1107 1108 1109 1110 1111 1112 1113 | [arg body]. Macros are used to define new type and widget definition statements in terms of the statements defined in this man page. [para] A macro is simply a Tcl proc that is defined in the slave interpreter | | | | | | | 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 | [arg body]. Macros are used to define new type and widget definition statements in terms of the statements defined in this man page. [para] A macro is simply a Tcl proc that is defined in the slave interpreter used to compile type and widget definitions. Thus, macros have access to all of the type and widget definition statements. See [sectref "Macros and Meta-programming"] for more details. [para] The macro [arg name] cannot be the same as any standard Tcl command, or any Snit type or widget definition statement, e.g., you can't redefine the [cmd method] or [cmd delegate] statements, or the standard [cmd set], [cmd list], or [cmd string] commands. [call [cmd snit::compile] [arg which] [arg type] [arg body]] Snit defines a type, widget, or widgetadaptor by "compiling" the definition into a Tcl script; this script is then evaluated in the Tcl interpreter, which actually defines the new type. [para] This command exposes the "compiler". Given a definition [arg body] for the named [arg type], where [arg which] is [const type], [const widget], or [const widgetadaptor], [cmd snit::compile] returns a list of two elements. The first element is the fully qualified type name; the second element is the definition script. [para] [cmd snit::compile] is useful when additional processing |
︙ | ︙ | |||
1153 1154 1155 1156 1157 1158 1159 | A type or widget definition creates a type command, which is used to create instances of the type. The type command has this form: [para] [list_begin definitions] [call [cmd {$type}] [arg typemethod] [arg args]...] | | | | | | | 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 | A type or widget definition creates a type command, which is used to create instances of the type. The type command has this form: [para] [list_begin definitions] [call [cmd {$type}] [arg typemethod] [arg args]...] The [arg typemethod] can be any of the [sectref "Standard Type Methods"] (e.g., [method create]), or any type method defined in the type definition. The subsequent [arg args] depend on the specific [arg typemethod] chosen. [para] The type command is most often used to create new instances of the type; hence, the [method create] method is assumed if the first argument to the type command doesn't name a valid type method, unless the type definition includes [cmd "delegate typemethod *"] or the [const -hasinstances] pragma is set to false. [para] Furthermore, if the [const -hastypemethods] pragma is false, then Snit type commands can be called with no arguments at all; in this case, the type command creates an instance with an automatically generated name. In other words, provided that the [const -hastypemethods] pragma is false and the type has instances, the following commands are equivalent: [example {snit::type dog { ... } set mydog [dog create %AUTO%] set mydog [dog %AUTO%] |
︙ | ︙ | |||
1224 1225 1226 1227 1228 1229 1230 | For [cmd snit::widget]s and [cmd snit::widgetadaptor]s, [arg name] must be a valid widget name; the method returns the widget name. [para] So long as [arg name] does not conflict with any defined type method name the [method create] keyword may be omitted, unless | | | 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 | For [cmd snit::widget]s and [cmd snit::widgetadaptor]s, [arg name] must be a valid widget name; the method returns the widget name. [para] So long as [arg name] does not conflict with any defined type method name the [method create] keyword may be omitted, unless the type definition includes [cmd "delegate typemethod *"] or the [const -hasinstances] pragma is set to false. [para] If the [arg name] includes the string [const %AUTO%], it will be replaced with the string [const {$type$counter}] where [const {$type}] is the type name and [const {$counter}] is a counter that increments each |
︙ | ︙ | |||
1247 1248 1249 1250 1251 1252 1253 | [para] As of Snit V0.95, [method create] will throw an error if the [arg name] is the same as any existing command--note that this was always true for [cmd snit::widget]s and [cmd snit::widgetadaptor]s. You can restore the previous behavior using the [const -canreplace] pragma. | < < | | | < < < < | 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 | [para] As of Snit V0.95, [method create] will throw an error if the [arg name] is the same as any existing command--note that this was always true for [cmd snit::widget]s and [cmd snit::widgetadaptor]s. You can restore the previous behavior using the [const -canreplace] pragma. [call [cmd {$type}] [method {info typevars}] [opt [arg pattern]]] Returns a list of the type's type variables (excluding Snit internal variables); all variable names are fully-qualified. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. [call [cmd {$type}] [method {info typemethods}] [opt [arg pattern]]] Returns a list of the names of the type's type methods. If the type has hierarchical type methods, whether locally-defined or delegated, only the first word of each will be included in the list. [para] If the type definition includes [cmd "delegate typemethod *"], the list will include only the names of those implicitly delegated type methods that have been called at least once and are still in the type method cache. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. [call [cmd {$type}] [method {info args}] [arg method]] Returns a list containing the names of the arguments to the type's [arg method], in order. This method cannot be applied to delegated type methods. [call [cmd {$type}] [method {info body}] [arg method]] Returns the body of typemethod [arg method]. This method cannot be applied to delegated type methods. [call [cmd {$type}] [method {info default}] [arg method] [arg aname] [arg varname]] Returns a boolean value indicating whether the argument [arg aname] of the type's [arg method] has a default value ([const true]) or not ([const false]). If the argument has a default its value is placed into the variable [arg varname]. [call [cmd {$type}] [method {info instances}] [opt [arg pattern]]] Returns a list of the type's instances. For [cmd snit::type]s, it will be a list of fully-qualified instance names; for [cmd snit::widget]s, it will be a list of Tk widget names. |
︙ | ︙ | |||
1335 1336 1337 1338 1339 1340 1341 | this form: [para] [list_begin definitions] [call [cmd {$object}] [arg method] [arg args...]] | | | | 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 | this form: [para] [list_begin definitions] [call [cmd {$object}] [arg method] [arg args...]] The [arg method] can be any of the [sectref "Standard Instance Methods"], or any instance method defined in the type definition. The subsequent [arg args] depend on the specific [arg method] chosen. [list_end] [subsection {Standard Instance Methods}] |
︙ | ︙ | |||
1404 1405 1406 1407 1408 1409 1410 | [emph Note:] The [method destroy] method isn't defined for [cmd snit::widget] or [cmd snit::widgetadaptor] objects; instances of these are destroyed by calling [package Tk]'s [cmd destroy] command, just as normal widgets are. | < < < < | | | | 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 | [emph Note:] The [method destroy] method isn't defined for [cmd snit::widget] or [cmd snit::widgetadaptor] objects; instances of these are destroyed by calling [package Tk]'s [cmd destroy] command, just as normal widgets are. [call [cmd {$object}] [method {info type}]] Returns the instance's type. [call [cmd {$object}] [method {info vars}] [opt [arg pattern]]] Returns a list of the object's instance variables (excluding Snit internal variables). The names are fully qualified. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. [call [cmd {$object}] [method {info typevars}] [opt [arg pattern]]] Returns a list of the object's type's type variables (excluding Snit internal variables). The names are fully qualified. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. [call [cmd {$object}] [method {info typemethods}] [opt [arg pattern]]] Returns a list of the names of the type's type methods. If the type has hierarchical type methods, whether locally-defined or delegated, only the first word of each will be included in the list. [para] If the type definition includes [cmd "delegate typemethod *"], the list will include only the names of those implicitly delegated type methods that have been called at least once and are still in the type method cache. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. |
︙ | ︙ | |||
1479 1480 1481 1482 1483 1484 1485 | Note that the return value might be different for different instances of the same type, if component object types can vary from one instance to another. [call [cmd {$object}] [method {info methods}] [opt [arg pattern]]] Returns a list of the names of the instance's methods. | | < < < < < | | | | | 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 | Note that the return value might be different for different instances of the same type, if component object types can vary from one instance to another. [call [cmd {$object}] [method {info methods}] [opt [arg pattern]]] Returns a list of the names of the instance's methods. If the type has hierarchical methods, whether locally-defined or delegated, only the first word of each will be included in the list. [para] If the type definition includes [cmd "delegate method *"], the list will include only the names of those implicitly delegated methods that have been called at least once and are still in the method cache. [para] If [arg pattern] is given, it's used as a [cmd {string match}] pattern; only names that match the pattern are returned. [para] [emph "Snit 1.x Incompatibility:"] In Snit 1.x, the full multi-word names of hierarchical type methods are included in the return value. [call [cmd {$object}] [method {info args}] [arg method]] Returns a list containing the names of the arguments to the instance's [arg method], in order. This method cannot be applied to delegated methods. [call [cmd {$object}] [method {info body}] [arg method]] Returns the body of the instance's method [arg method]. This method cannot be applied to delegated methods. [call [cmd {$object}] [method {info default}] [arg method] [arg aname] [arg varname]] Returns a boolean value indicating whether the argument [arg aname] of the instance's [arg method] has a default value ([const true]) or not ([const false]). If the argument has a default its value is placed into the variable [arg varname]. [list_end] [subsection {Commands for use in Object Code}] Snit defines the following commands for use in your object code: that is, for use in type methods, instance methods, constructors, destructors, onconfigure handlers, oncget handlers, and procs. They do not reside in the ::snit:: namespace; instead, they are created with the type, and can be used without qualification. [list_begin definitions] [call [cmd mymethod] [arg name] [opt [arg args...]]] The [cmd mymethod] command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke method [arg name] with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's [method dosomething] method to be called when the [cmd {$button}] is pressed: [example { $button configure -command [list $self dosomething myargument] $button configure -command [mymethod dosomething myargument] }] The chief distinction between the two is that the latter form will not break if the object's command is renamed. [call [cmd mytypemethod] [arg name] [opt [arg args...]]] The [cmd mytypemethod] command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke type method [arg name] with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's [method dosomething] type method to be called when [cmd {$button}] is pressed: [example { $button configure -command [list $type dosomething myargument] $button configure -command [mytypemethod dosomething myargument] }] Type commands cannot be renamed, so in practice there's little difference between the two forms. [cmd mytypemethod] is provided for parallelism with [cmd mymethod]. [call [cmd myproc] [arg name] [opt [arg args...]]] The [cmd myproc] command is used for formatting callback commands to be passed to other objects. It returns a command that when called will invoke the type proc [arg name] with the specified arguments, plus of course any arguments added by the caller. In other words, both of the following commands will cause the object's [method dosomething] proc to be called when [cmd {$button}] is pressed: [example { $button configure -command [list ${type}::dosomething myargument] $button configure -command [myproc dosomething myargument] }] [call [cmd myvar] [arg name]] Given an instance variable name, returns the fully qualified name. Use this if you're passing the variable to some other object, e.g., as |
︙ | ︙ | |||
1615 1616 1617 1618 1619 1620 1621 | If the option is locally-defined option, and [arg defvalue] is not specified, then the option's default value as specified in the type definition will be returned instead. [call [cmd install] [arg compName] [const using] [arg objType] [arg objName] [arg args...]] Creates a new object of type [arg objType] called [arg objName] | | | 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 | If the option is locally-defined option, and [arg defvalue] is not specified, then the option's default value as specified in the type definition will be returned instead. [call [cmd install] [arg compName] [const using] [arg objType] [arg objName] [arg args...]] Creates a new object of type [arg objType] called [arg objName] and installs it as component [arg compName], as described in [sectref {Components and Delegation}]. Any additional [arg args...] are passed along with the name to the [arg objType] command. If this is a [cmd snit::type], then the following two commands are equivalent: |
︙ | ︙ | |||
1697 1698 1699 1700 1701 1702 1703 | [para] It's generally clearest to define all instance variables in the type definition, and omit declaring them in methods and so forth. [para] | | | < | 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 | [para] It's generally clearest to define all instance variables in the type definition, and omit declaring them in methods and so forth. [para] Note that this is an instance-specific version of the standard Tcl [cmd ::variable] command. [call [cmd typevariable] [arg name]] Normally, type variables are defined in the type definition, along with the instance variables; such type variables are automatically visible in all of the type's code. However, type methods, instance methods and so forth can use [cmd typevariable] to declare type variables that don't appear in the type definition. [para] It's generally clearest to declare all type variables in the type definition, and omit declaring them in methods, type methods, etc. [call [cmd varname] [arg name]] [const Deprecated.] Use [cmd myvar] instead. [para] Given an instance variable name, returns the fully qualified name. Use this if you're passing the variable to some other object, e.g., as a [option -textvariable] to a Tk label widget. [call [cmd typevarname] [arg name]] [const Deprecated.] Use [cmd mytypevar] instead. [para] |
︙ | ︙ | |||
1750 1751 1752 1753 1754 1755 1756 | [subsection {Components and Delegation}] When an object includes other objects, as when a toolbar contains buttons or a GUI object contains an object that references a database, the included object is called a component. The standard way to handle component objects owned by a Snit object is to declare them using | | | | | | 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 | [subsection {Components and Delegation}] When an object includes other objects, as when a toolbar contains buttons or a GUI object contains an object that references a database, the included object is called a component. The standard way to handle component objects owned by a Snit object is to declare them using [cmd component], which creates a component instance variable. In the following example, a [cmd dog] object has a [cmd tail] object: [para] [example { snit::type dog { component mytail constructor {args} { set mytail [tail %AUTO% -partof $self] $self configurelist $args } method wag {} { $mytail wag } } snit::type tail { option -length 5 option -partof method wag {} { return "Wag, wag, wag."} } }] [para] |
︙ | ︙ | |||
1815 1816 1817 1818 1819 1820 1821 | simply calls the [cmd tail] component's [method wag] method. In OO jargon, this is called delegation. Snit provides an easier way to do this: [para] [example { snit::type dog { delegate method wag to mytail | | | 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 | simply calls the [cmd tail] component's [method wag] method. In OO jargon, this is called delegation. Snit provides an easier way to do this: [para] [example { snit::type dog { delegate method wag to mytail constructor {args} { install mytail using tail %AUTO% -partof $self $self configurelist $args } } }] [para] |
︙ | ︙ | |||
1858 1859 1860 1861 1862 1863 1864 | method; but [method wag] will be passed along to [cmd mytail]. Any other method, being recognized by neither [cmd dog] nor [cmd tail], will simply raise an error. [para] Option delegation is similar to method delegation, except for the | | | | 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 | method; but [method wag] will be passed along to [cmd mytail]. Any other method, being recognized by neither [cmd dog] nor [cmd tail], will simply raise an error. [para] Option delegation is similar to method delegation, except for the interactions with the Tk option database; this is described in [sectref "The Tk Option Database"]. [subsection {Type Components and Delegation}] The relationship between type components and instance components is identical to that between type variables and instance variables, and that between type methods and instance methods. Just as an instance component is an instance variable that holds the name of a command, so a type component is a type variable that holds the name of a command. In essence, a type component is a component that's shared by every instance of the type. [para] Just as [cmd "delegate method"] can be used to delegate methods to instance components, as described in [sectref "Components and Delegation"], so [cmd "delegate typemethod"] can be used to delegate type methods to type components. [para] Note also that as of Snit 0.95 [cmd "delegate method"] can delegate methods to both instance components and type components. |
︙ | ︙ | |||
1983 1984 1985 1986 1987 1988 1989 | usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several [cmd text] widget options: [para] | | | | | | 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 | usually just the option name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several [cmd text] widget options: [para] [example { -background background Background -borderwidth borderWidth BorderWidth -insertborderwidth insertBorderWidth BorderWidth -padx padX Pad }] [para] As is easily seen, sometimes the resource and class names can be inferred from the option name, but not always. [para] |
︙ | ︙ | |||
2050 2051 2052 2053 2054 2055 2056 | }] [para] The class name will default to "BorderWidth", as expected. [para] | | | 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 | }] [para] The class name will default to "BorderWidth", as expected. [para] Suppose, however, that [cmd mywidget] also delegated [option -padx] and [option -pady] to the hull. In this case, both the resource name and the class name must be specified explicitly: [para] [example { snit::widget mywidget { option -background |
︙ | ︙ | |||
2143 2144 2145 2146 2147 2148 2149 | option database and pick up this value. Since the [option -relief] option is implicitly delegated to the hull, Snit takes no action. [para] The value of B is "red". The hull will automatically pick up the value "green" for its [option -background] option, just as it picked up the | | | | | | | 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 | option database and pick up this value. Since the [option -relief] option is implicitly delegated to the hull, Snit takes no action. [para] The value of B is "red". The hull will automatically pick up the value "green" for its [option -background] option, just as it picked up the [option -relief] value. However, Snit knows that [option -hullbackground] is mapped to the hull's [option -background] option; hence, it queries the option database for [option -hullbackground] and gets "red" and updates the hull accordingly. [para] The value of C is also "red", because [option -background] is implicitly delegated to the hull; thus, retrieving it is the same as retrieving [option -hullbackground]. Note that this case is unusual; in practice, [option -background] would probably be explicitly delegated to some other component. [para] The value of D is "5", but not for the reason you think. Note that as it is defined above, the resource name for [option -borderwidth] defaults to "borderwidth", whereas the option database entry is "borderWidth". As with [option -relief], the hull picks up its own [option -borderwidth] option before Snit does anything. Because the option is delegated under its own name, Snit assumes that the correct thing has happened, and doesn't worry about it any further. [para] For [cmd snit::widgetadaptor]s, the case is somewhat altered. Widget adaptors retain the widget class of their hull, and the hull is not created automatically by Snit. Instead, the [cmd snit::widgetadaptor] |
︙ | ︙ | |||
2309 2310 2311 2312 2313 2314 2315 | } method setmood {newmood} { set mood $newmood } } }] | | | 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 | } method setmood {newmood} { set mood $newmood } } }] That's nine lines of text per property. Or, you could define the following [cmd snit::macro]: [example { snit::macro property {name initValue} { variable $name $initValue method get$name {} "return $name" |
︙ | ︙ | |||
2362 2363 2364 2365 2366 2367 2368 | This leaves the global namespace open for application authors. [para] [subsection "Validation Types"] A validation type is an object that can be used to validate | | | 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 | This leaves the global namespace open for application authors. [para] [subsection "Validation Types"] A validation type is an object that can be used to validate Tcl values of a particular kind. For example, [cmd snit::integer] is used to validate that a Tcl value is an integer. [para] Every validation type has a [method validate] method which is used to do the validation. This method must take a single argument, the value |
︙ | ︙ | |||
2414 2415 2416 2417 2418 2419 2420 | snit::type dog { # Define subtypes on the fly... option -breed -type { snit::enum -values {mutt retriever sheepdog} } # Or use predefined subtypes... | | | | 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 | snit::type dog { # Define subtypes on the fly... option -breed -type { snit::enum -values {mutt retriever sheepdog} } # Or use predefined subtypes... option -breed -type ::dog::breed } }] [para] Any object that has a [method validate] method with the semantics described above can be used as a validation type; see [sectref "Defining Validation Types"] for information on how to define new ones. [para] Snit defines the following validation types: |
︙ | ︙ | |||
2489 2490 2491 2492 2493 2494 2495 | following options: [list_begin definitions] [def "[const -min] [arg min]"] Specifies a minimum bound; a value is invalid if it is strictly | | | | 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 | following options: [list_begin definitions] [def "[const -min] [arg min]"] Specifies a minimum bound; a value is invalid if it is strictly less than [arg min]. The bound may be expressed in any of the forms accepted by [cmd "winfo fpixels"]. [def "[const -max] [arg max]"] Specifies a maximum bound; a value is invalid if it is strictly greater than [arg max]. The bound may be expressed in any of the forms accepted by [cmd "winfo fpixels"]. [list_end] [call [cmd snit::integer] [const validate] [opt [arg value]]] [call [cmd snit::integer] [arg name] [opt "[arg option] [arg value]..."]] |
︙ | ︙ | |||
2535 2536 2537 2538 2539 2540 2541 | [def "[const -minlen] [arg min]"] Specifies a minimum list length; the value is invalid if it has fewer than [arg min] elements. Defaults to 0. [def "[const -maxlen] [arg max]"] | | | 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 | [def "[const -minlen] [arg min]"] Specifies a minimum list length; the value is invalid if it has fewer than [arg min] elements. Defaults to 0. [def "[const -maxlen] [arg max]"] Specifies a maximum list length; the value is invalid if it more than [arg max] elements. [def "[const -type] [arg type]"] Specifies the type of the list elements; [arg type] must be the name of a validation type or subtype. In the following example, the value of [const -numbers] must be a list |
︙ | ︙ | |||
2565 2566 2567 2568 2569 2570 2571 | [example { snit::integer gt4 -min 5 snit::type mytype { option -numbers -type {snit::listtype -type gt4} } }] | < | | < | 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 | [example { snit::integer gt4 -min 5 snit::type mytype { option -numbers -type {snit::listtype -type gt4} } }] [list_end] [call [cmd snit::pixels] [const validate] [opt [arg value]]] [call [cmd snit::pixels] [arg name] [opt "[arg option] [arg value]..."]] [emph "Tk programs only."] Validates screen distances, in any of the forms accepted by [cmd "winfo pixels"]. Subtypes may be created with the following options: [list_begin definitions] [def "[const -min] [arg min]"] Specifies a minimum bound; a value is invalid if it is strictly less than [arg min]. The bound may be expressed in any of the forms accepted by [cmd "winfo pixels"]. [def "[const -max] [arg max]"] Specifies a maximum bound; a value is invalid if it is strictly greater than [arg max]. The bound may be expressed in any of the forms accepted by [cmd "winfo pixels"]. [list_end] [call [cmd snit::stringtype] [const validate] [opt [arg value]]] [call [cmd snit::stringtype] [arg name] [opt "[arg option] [arg value]..."]] Validates Tcl strings. The base type is of little use by itself, since very Tcl value is also a valid string. Subtypes may be created with the following options: |
︙ | ︙ | |||
2635 2636 2637 2638 2639 2640 2641 | [call [cmd snit::window] [const validate] [opt [arg value]]] [call [cmd snit::window] [arg name]] [emph "Tk programs only."] Validates Tk window names. The value must cause [cmd "winfo exists"] to return true; otherwise, the value is invalid. It's possible to define subtypes--that is, instances--of | | | | | 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 | [call [cmd snit::window] [const validate] [opt [arg value]]] [call [cmd snit::window] [arg name]] [emph "Tk programs only."] Validates Tk window names. The value must cause [cmd "winfo exists"] to return true; otherwise, the value is invalid. It's possible to define subtypes--that is, instances--of [cmd snit::window], but as it has no options at present there's no reason to do so. [list_end] [para] [subsection "Defining Validation Types"] There are three ways to define a new validation type: as a subtype of one of Snit's validation types, as a validation type command, and as a full-fledged validation type similar to those provided by Snit. Defining subtypes of Snit's validation types is described above, under [sectref "Validation Types"]. [para] The next simplest way to create a new validation type is as a validation type command. A validation type is simply an object that has a [method validate] method; the [method validate] method must take one argument, a value, return the value if it is valid, and throw an error with [cmd -errorcode] INVALID if the value is invalid. This can be done with a simple [cmd proc]. For example, the [cmd snit::boolean] validate type could have been implemented like this: [example { proc ::snit::boolean {"validate" value} { if {![string is boolean -strict $value]} { return -code error -errorcode INVALID \ "invalid boolean \"$value\", should be one of: 1, 0, ..." } return $value } }] |
︙ | ︙ | |||
2693 2694 2695 2696 2697 2698 2699 | # For example: option -min -default "" -readonly 1 option -max -default "" -readonly 1 # Next, define a "validate" type method which should do the # validation in the basic case. This will allow the | | | | 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 | # For example: option -min -default "" -readonly 1 option -max -default "" -readonly 1 # Next, define a "validate" type method which should do the # validation in the basic case. This will allow the # type command to be used as a validation type. typemethod validate {value} { if {![string is integer -strict $value]} { return -code error -errorcode INVALID \ "invalid value \"$value\", expected integer" } return $value } # Next, the constructor should validate the subtype options, |
︙ | ︙ | |||
2732 2733 2734 2735 2736 2737 2738 | if {("" != $options(-min) && $value < $options(-min)) || ("" != $options(-max) && $value > $options(-max))} { # It's out of range; format a detailed message about # the error, and throw it. set msg "...." | | | | < | < < < | 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 | if {("" != $options(-min) && $value < $options(-min)) || ("" != $options(-max) && $value > $options(-max))} { # It's out of range; format a detailed message about # the error, and throw it. set msg "...." return -code error -errorcode INVALID $msg } # Otherwise, if it's valid just return it. return $valid } } }] And now you have a type that can be subtyped. [para] The file "validate.tcl" in the Snit distribution defines all of Snit's validation types; you can find the complete implementation for [cmd snit::integer] and the other types there, to use as examples for your own types. [para] [section CAVEATS] If you have problems, find bugs, or new ideas you are hereby cordially invited to submit a report of your problem, bug, or idea as explained in the section [sectref {Bugs, Ideas, Feedback}] below. [para] Additionally, you might wish to join the Snit mailing list; see [uri http://www.wjduquette.com/snit] for details. [para] |
︙ | ︙ | |||
2786 2787 2788 2789 2790 2791 2792 | Error stack traces returned by Snit 1.x are extremely ugly and typically contain far too much information about Snit internals. The error messages are much improved in Snit 2.2. [item] | | | < | 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 | Error stack traces returned by Snit 1.x are extremely ugly and typically contain far too much information about Snit internals. The error messages are much improved in Snit 2.2. [item] Also see the Project Trackers as explained in the section [sectref {Bugs, Ideas, Feedback}] below. [list_end] [section HISTORY] During the course of developing Notebook (See [uri http://www.wjduquette.com/notebook]), my Tcl-based personal notebook application, I found I was writing it as a collection of objects. I wasn't using any particular object-oriented framework; I |
︙ | ︙ | |||
2829 2830 2831 2832 2833 2834 2835 | If you have any comments or suggestions (or bug reports!) don't hesitate to send me e-mail at [uri [email protected]]. In addition, there's a Snit mailing list; you can find out more about it at the Snit home page (see [uri http://www.wjduquette.com/snit]). [para] | < | | | | < | < < | < < < < < < < < < < | 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 | If you have any comments or suggestions (or bug reports!) don't hesitate to send me e-mail at [uri [email protected]]. In addition, there's a Snit mailing list; you can find out more about it at the Snit home page (see [uri http://www.wjduquette.com/snit]). [para] [section CREDITS] Snit has been designed and implemented from the very beginning by William H. Duquette. However, much credit belongs to the following people for using Snit and providing me with valuable feedback: Rolf Ade, Colin McCormack, Jose Nazario, Jeff Godfrey, Maurice Diamanti, Egon Pasztor, David S. Cargo, Tom Krehbiel, Michael Cleverly, Andreas Kupries, Marty Backe, Andy Goth, Jeff Hobbs, Brian Griffin, Donal Fellows, Miguel Sofer, Kenneth Green, and Anton Kovalenko. If I've forgotten anyone, my apologies; let me know and I'll add your name to the list. [vset CATEGORY snit] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/snit/snitfaq.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin snitfaq n 2.2] [copyright {2003-2006, by William H. Duquette}] [moddesc {Snit's Not Incr Tcl, OO system}] [titledesc {Snit Frequently Asked Questions}] [category {Programming tools}] [description] [para] [section OVERVIEW] [subsection {What is this document?}] This is an atypical FAQ list, in that few of the questions are frequently asked. Rather, these are the questions I think a newcomer to Snit should be asking. This file is not a complete reference to Snit, however; that information is in the [cmd snit] man page. [subsection {What is Snit?}] Snit is a framework for defining abstract data types and megawidgets | > > > > > > > > > > | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin snitfaq n 2.2] [keywords adaptors] [keywords BWidget] [keywords C++] [keywords class] [keywords {Incr Tcl}] [keywords {mega widget}] [keywords object] [keywords {object oriented}] [keywords widget] [keywords {widget adaptors}] [copyright {2003-2006, by William H. Duquette}] [moddesc {Snit's Not Incr Tcl, OO system}] [titledesc {Snit Frequently Asked Questions}] [category {Programming tools}] [description] [para] [section OVERVIEW] [subsection {What is this document?}] This is an atypical FAQ list, in that few of the questions are frequently asked. Rather, these are the questions I think a newcomer to Snit should be asking. This file is not a complete reference to Snit, however; that information is in the [cmd snit] man page. [subsection {What is Snit?}] Snit is a framework for defining abstract data types and megawidgets in pure Tcl. The name "Snit" stands for "Snit's Not Incr Tcl", signifying that Snit takes a different approach to defining objects than does Incr Tcl, the best known object framework for Tcl. Had I realized that Snit would become at all popular, I'd probably have chosen something else. [para] The primary purpose of Snit is to be [term "object glue"]--to help you compose diverse objects from diverse sources into types and megawidgets with clean, convenient interfaces so that you can more easily build your application. [para] Snit isn't about theoretical purity or minimalist design; it's about being able to do powerful things easily and consistently without having to think about them--so that you can concentrate on building your application. [para] Snit isn't about implementing thousands of nearly identical carefully-specified lightweight thingamajigs--not as individual Snit objects. Traditional Tcl methods will be much faster, and not much more complicated. But Snit [emph is] about implementing a clean interface to manage a collection of thousands of nearly identical carefully-specified lightweight thingamajigs (e.g., think of the text widget and text tags, or the canvas widget and canvas objects). Snit lets you hide the details of just how those thingamajigs are stored--so that you can ignore it, and concentrate on building your application. [para] Snit isn't a way of life, a silver bullet, or the Fountain of Youth. It's just a way of managing complexity--and of managing some of the complexity of managing complexity--so that you can concentrate on building your application. [subsection {What version of Tcl does Snit require?}] Snit 1.3 requires Tcl 8.3 or later; Snit 2.2 requires Tcl 8.5 or later. See [sectref {SNIT VERSIONS}] for the differences between Snit 1.3 and Snit 2.2. |
︙ | ︙ | |||
117 118 119 120 121 122 123 | object was implemented. I designed Snit to help me build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a Tk widget, an Incr Tcl object, a BWidget or almost anything else. [para] | | | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | object was implemented. I designed Snit to help me build applications out of the materials at hand; thus, Snit is designed to be able to incorporate and build on any object, whether it's a hand-coded object, a Tk widget, an Incr Tcl object, a BWidget or almost anything else. [para] Note that you can achieve the effect of inheritance using [sectref COMPONENTS] and [sectref "DELEGATION"]--and you can inherit from anything that looks like a Tcl object. [subsection {What can I do with Snit?}] Using Snit, a programmer can: |
︙ | ︙ | |||
203 204 205 206 207 208 209 | the version of Tcl being used. In this case, be careful to avoid using any incompatible features. [subsection {How are Snit 1.3 and Snit 2.2 incompatible?}] To the extent possible, Snit 2.2 is intended to be a drop-in replacement for Snit 1.3. Unfortunately, some incompatibilities were | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | the version of Tcl being used. In this case, be careful to avoid using any incompatible features. [subsection {How are Snit 1.3 and Snit 2.2 incompatible?}] To the extent possible, Snit 2.2 is intended to be a drop-in replacement for Snit 1.3. Unfortunately, some incompatibilities were inevitable because Snit 2.2 uses Tcl 8.5's new [cmd "namespace ensemble"] mechanism to implement subcommand dispatch. This approach is much faster than the mechanism used in Snit 1.3, and also results in much better error messages; however, it also places new constraints on the implementation. [para] |
︙ | ︙ | |||
229 230 231 232 233 234 235 | [example {dog spot ;# Explicit naming set obj1 [dog %AUTO%] ;# Automatic naming set obj2 [dog] ;# Implicit naming }] In Snit 2.2, type commands are defined using the [cmd "namespace ensemble"] mechanism; and [cmd "namespace ensemble"] doesn't allow an ensemble command | | | | | | | 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | [example {dog spot ;# Explicit naming set obj1 [dog %AUTO%] ;# Automatic naming set obj2 [dog] ;# Implicit naming }] In Snit 2.2, type commands are defined using the [cmd "namespace ensemble"] mechanism; and [cmd "namespace ensemble"] doesn't allow an ensemble command to be called without a subcommand. In short, using [cmd "namespace ensemble"] there's no way to support implicit naming. [para] All is not lost, however. If the type has no type methods, then the type command is a simple command rather than an ensemble, and [cmd "namespace ensemble"] is not used. In this case, implicit naming is still possible. [para] In short, you can have implicit naming if you're willing to do without type methods (including the standard type methods, like [cmd "\$type info"]). To do so, use the [const -hastypemethods] pragma: [example {pragma -hastypemethods 0}] [item] Hierarchical methods and type methods are implemented differently in Snit 2.2. [para] A hierarchical method is an instance method which has subcommands; these subcommands are themselves methods. The Tk text widget's [cmd tag] command and its subcommands are examples of hierarchical methods. You can implement such subcommands in Snit simply by including multiple words in the method names: [example {method {tag configure} {tag args} { ... } method {tag cget} {tag option} {...} }] |
︙ | ︙ | |||
287 288 289 290 291 292 293 | In Snit 2.2 this is no longer the case, and the "weird" way of calling hierarchical methods and type methods no longer works. [item] The third incompatibility derives from the second. In Snit 1.3, hierarchical methods were also simply methods whose name contains multiple words. As a result, [cmd "\$obj info methods"] returned the | | < | | | | | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 | In Snit 2.2 this is no longer the case, and the "weird" way of calling hierarchical methods and type methods no longer works. [item] The third incompatibility derives from the second. In Snit 1.3, hierarchical methods were also simply methods whose name contains multiple words. As a result, [cmd "\$obj info methods"] returned the full names of all hierarchical methods. In the example above, the list returned by [cmd "\$obj info methods"] would include [cmd "tag configure"] and [cmd "tag cget"] but not [cmd "tag"], since [cmd "tag"] is defined only implicitly. [para] In Snit 2.2, hierarchical methods and type methods are no longer simply ones whose name contains multiple words; in the above example, the list returned by [cmd "\$obj info methods"] would include [cmd "tag"] but not [cmd "tag configure"] or [cmd "tag cget"]. [item] The fourth incompatibility is due to a new feature. Snit 2.2 uses the new [cmd "namespace path"] command so that a type's code can call any command defined in the type's parent namespace without qualification or importation. For example, suppose you have a package called [cmd "mypackage"] which defines a number of commands including a type, [cmd "::mypackage::mytype"]. Thanks to [cmd "namespace path"], the type's code can call any of the other commands defined in [cmd "::mypackage::"]. [para] This is extremely convenient. However, it also means that commands defined in the parent namespace, [cmd "::mypackage::"] can block the type's access to identically named commands in the global namespace. This can lead to bugs. For example, Tcllib includes a type called [cmd "::tie::std::file"]. This type's code calls the standard [cmd "file"] command. When run with Snit 2.2, the code broke-- the type's command, [cmd "::tie::std::file"], is itself a command in the type's parent namespace, and so instead of calling the standard [cmd "file"] command, the type found itself calling itself. [list_end] [subsection {Are there other differences between Snit 1.x and Snit 2.2?}] Yes. [list_begin itemized] [item] Method dispatch is considerably faster. [item] Many error messages and stack traces are cleaner. [item] The [const -simpledispatch] pragma is obsolete, and ignored if present. In Snit 1.x, [const -simpledispatch] substitutes a faster mechanism for method dispatch, at the cost of losing certain features. Snit 2.2 method dispatch is faster still in all cases, so [const -simpledispatch] is no longer needed. [item] In Snit 2.2, a type's code (methods, type methods, etc.) can call commands from the type's parent namespace without qualifying or importing them, i.e., type [cmd ::parentns::mytype]'s code can call |
︙ | ︙ | |||
372 373 374 375 376 377 378 | in a type constructor. This is less useful, however, as it picks up only those commands which have already been exported by the parent namespace at the time the type is defined. [list_end] | < | | | | | 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 | in a type constructor. This is less useful, however, as it picks up only those commands which have already been exported by the parent namespace at the time the type is defined. [list_end] [section OBJECTS] [subsection {What is an object?}] A full description of object-oriented programming is beyond the scope of this FAQ, obviously. In simple terms, an object is an instance of an abstract data type--a coherent bundle of code and data. There are many ways to represent objects in Tcl/Tk; the best known examples are the Tk widgets. [para] A Tk widget is an object; it is represented by a Tcl command. The object's methods are subcommands of the Tcl command. The object's properties are options accessed using the [method configure] and [method cget] methods. Snit uses the same conventions as Tk widgets do. [subsection {What is an abstract data type?}] In computer science terms, an abstract data type is a complex data structure along with a set of operations--a stack, a queue, a binary tree, etc--that is to say, in modern terms, an object. In systems that include some form of inheritance the word [term class] is usually used instead of [term {abstract data type}], but as Snit doesn't implement inheritance as it's ordinarily understood the older term seems more appropriate. Sometimes this is called [term {object-based}] programming as opposed to object-oriented programming. Note that you can easily create the effect of inheritance using [sectref COMPONENTS] and [sectref "DELEGATION"]. [para] In Snit, as in Tk, a [term type] is a command that creates instances -- objects -- which belong to the type. Most types define some number of [term options] which can be set at creation time, and usually can be |
︙ | ︙ | |||
431 432 433 434 435 436 437 | [para] In this example, [cmd text] is the [term type] command and [cmd .mytext] is the [term instance] command. [para] | | < | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 | [para] In this example, [cmd text] is the [term type] command and [cmd .mytext] is the [term instance] command. [para] In Snit, object subcommands are generally called [sectref "INSTANCE METHODS"]. [subsection {What kinds of abstract data types does Snit provide?}] Snit allows you to define three kinds of abstract data type: [para] [list_begin itemized] [item] [cmd snit::type] [item] [cmd snit::widget] [item] [cmd snit::widgetadaptor] [list_end] [subsection {What is a snit::type?}] A [cmd snit::type] is a non-GUI abstract data type, e.g., a stack or a queue. [cmd snit::type]s are defined using the [cmd snit::type] command. For example, if you were designing a kennel management system for a dog breeder, you'd need a dog type. |
︙ | ︙ | |||
477 478 479 480 481 482 483 | that can be used to define dog objects. [para] An instance of a [cmd snit::type] can have [sectref {INSTANCE METHODS}], [sectref {INSTANCE VARIABLES}], [sectref OPTIONS], and [sectref COMPONENTS]. The type itself can have [sectref {TYPE METHODS}], | | | < < < | | | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | that can be used to define dog objects. [para] An instance of a [cmd snit::type] can have [sectref {INSTANCE METHODS}], [sectref {INSTANCE VARIABLES}], [sectref OPTIONS], and [sectref COMPONENTS]. The type itself can have [sectref {TYPE METHODS}], [sectref {TYPE VARIABLES}], [sectref {TYPE COMPONENTS}], and [sectref PROCS]. [subsection {What is a snit::widget?, the short story}] A [cmd snit::widget] is a Tk megawidget built using Snit; it is very similar to a [cmd snit::type]. See [sectref WIDGETS]. [subsection {What is a snit::widgetadaptor?, the short story}] A [cmd snit::widgetadaptor] uses Snit to wrap an existing widget type (e.g., a Tk label), modifying its interface to a lesser or greater extent. It is very similar to a [cmd snit::widget]. See [sectref {WIDGET ADAPTORS}]. [subsection {How do I create an instance of a snit::type?}] You create an instance of a [cmd snit::type] by passing the new instance's name to the type's create method. In the following example, we create a [cmd dog] object called [cmd spot]. [para] [example {% snit::type dog { # .... } ::dog % dog create spot ::spot % }] [para] In general, the [method create] method name can be omitted so long as the instance name doesn't conflict with any defined [sectref {TYPE METHODS}]. (See [sectref {TYPE COMPONENTS}] for the special case in which this doesn't work.) So the following example is identical to the previous example: [para] [example {% snit::type dog { # .... } ::dog % dog spot ::spot % }] [para] This document generally uses the shorter form. [para] If the [cmd dog] type defines [sectref OPTIONS], these can usually be given defaults at creation time: [para] [example {% snit::type dog { option -breed mongrel option -color brown |
︙ | ︙ | |||
614 615 616 617 618 619 620 | ::obj_dog4 % $d bark ::obj_dog4 barks. % }] [para] | < | 618 619 620 621 622 623 624 625 626 627 628 629 630 631 | ::obj_dog4 % $d bark ::obj_dog4 barks. % }] [para] [subsection {Can types be renamed?}] Tcl's [cmd rename] command renames other commands. It's a common technique in Tcl to modify an existing command by renaming it and defining a new command with the original name; the new command usually calls the renamed command. |
︙ | ︙ | |||
651 652 653 654 655 656 657 | In an instance method, the implicit argument [var self] will always contain the object's current name, so instance methods can always call other instance methods using [var \$self]. [item] If the object is renamed, however, then [var \$self]'s value will change. | | | 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 | In an instance method, the implicit argument [var self] will always contain the object's current name, so instance methods can always call other instance methods using [var \$self]. [item] If the object is renamed, however, then [var \$self]'s value will change. Therefore, don't use [var \$self] for anything that will break if [var \$self] changes. For example, don't pass a callback command to another object like this: [example { .btn configure -command [list $self ButtonPress] }] |
︙ | ︙ | |||
679 680 681 682 683 684 685 | arguments to the end of the command as usual. [item] Every object has a private namespace; the name of this namespace is available in method bodies, etc., as the value of the implicit argument [var selfns]. This value is constant for the life of the | | | | | 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 | arguments to the end of the command as usual. [item] Every object has a private namespace; the name of this namespace is available in method bodies, etc., as the value of the implicit argument [var selfns]. This value is constant for the life of the object. Use [var \$selfns] instead of [var \$self] if you need a unique token to identify the object. [item] When a [cmd snit::widget]'s instance command is renamed, its Tk window name remains the same -- and is still extremely important. Consequently, the Tk window name is available in method bodies as the value of the implicit argument [var win]. This value is constant for the life of the object. When creating child windows, it's best to use [var {$win.child}] rather than [var {$self.child}] as the name of the child window. [list_end] |
︙ | ︙ | |||
834 835 836 837 838 839 840 | }] [para] [subsection {Are there any limitations on instance method names?}] Not really, so long as you avoid the standard instance method names: [method configure], [method configurelist], [method cget], | | | | | 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 | }] [para] [subsection {Are there any limitations on instance method names?}] Not really, so long as you avoid the standard instance method names: [method configure], [method configurelist], [method cget], [method destroy], and [method info]. Also, method names consisting of multiple words define hierarchical methods. [subsection {What is a hierarchical method?}] An object's methods are subcommands of the object's instance command. Hierarchical methods allow an object's methods to have subcommands of their own; and these can in turn have subcommands, and so on. This allows the programmer to define a tree-shaped command structure, such as is used by many of the Tk widgets--the subcommands of the Tk [cmd text] widget's [cmd tag] method are hierarchical methods. [subsection {How do I define a hierarchical method?}] Define methods whose names consist of multiple words. These words define the hierarchy implicitly. For example, the following code defines a [cmd tag] method with subcommands [cmd cget] and [cmd configure]: [example {snit::widget mytext { method {tag configure} {tag args} { ... } method {tag cget} {tag option} {...} } |
︙ | ︙ | |||
1015 1016 1017 1018 1019 1020 1021 | The above example reveals how Snit names an instance's private namespace; however, you should not write code that depends on the specific naming convention, as it might change in future releases. [subsection {What is $win?}] The implicit argument [var win] is defined for all Snit methods, | | | 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 | The above example reveals how Snit names an instance's private namespace; however, you should not write code that depends on the specific naming convention, as it might change in future releases. [subsection {What is $win?}] The implicit argument [var win] is defined for all Snit methods, though it really makes sense only for those of [sectref WIDGETS] and [sectref {WIDGET ADAPTORS}]. [var \$win] is simply the original name of the object, whether it's been renamed or not. For widgets and widgetadaptors, it is also therefore the name of a Tk window. [para] |
︙ | ︙ | |||
1041 1042 1043 1044 1045 1046 1047 | [subsection {How do I pass an instance method as a callback?}] It depends on the context. [para] Suppose in my application I have a [cmd dog] object named [cmd fido], | | | 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 | [subsection {How do I pass an instance method as a callback?}] It depends on the context. [para] Suppose in my application I have a [cmd dog] object named [cmd fido], and I want [cmd fido] to bark when a Tk button called [cmd .bark] is pressed. In this case, I create the callback command in the usual way, using [cmd list]: [para] [example { button .bark -text "Bark!" -command [list fido bark] }] [para] |
︙ | ︙ | |||
1105 1106 1107 1108 1109 1110 1111 | ::dog % }] [para] The command [cmd mymethod] takes any number of arguments, and can be used like [cmd list] to build up a callback command; the only | | | | < < | 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 | ::dog % }] [para] The command [cmd mymethod] takes any number of arguments, and can be used like [cmd list] to build up a callback command; the only difference is that [cmd mymethod] returns a form of the command that won't change even if the instance's name changes. [para] On the other hand, you might prefer to allow a widgetadaptor to override a method such that your renamed widget will call the widgetadaptor's method instead of its own. In this case, using [cmd "\[list \$self bark\]"] will do what you want...but this is a technique which should be used only in carefully controlled circumstances. [subsection {How do I delegate instance methods to a component?}] See [sectref DELEGATION]. [section {INSTANCE VARIABLES}] [subsection {What is an instance variable?}] An instance variable is a private variable associated with some particular Snit object. Instance variables can be scalars or arrays. [subsection {How is a scalar instance variable defined?}] Scalar instance variables are defined in the type definition using the [cmd variable] statement. You can simply name it, or you can initialize it with a value: |
︙ | ︙ | |||
1164 1165 1166 1167 1168 1169 1170 | } } }] [para] [subsection {What happens if I don't initialize an instance variable?}] | | | 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 | } } }] [para] [subsection {What happens if I don't initialize an instance variable?}] Variables do not really exist until they are given values. If you do not initialize a variable when you define it, then you must be sure to assign a value to it (in the constructor, say, or in some method) before you reference it. [subsection {Are there any limitations on instance variable names?}] Just a few. |
︙ | ︙ | |||
1188 1189 1190 1191 1192 1193 1194 | use by Snit internal code. [para] Third, instance variable names containing the namespace delimiter ([const ::]) are likely to cause great confusion. | < | | | 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 | use by Snit internal code. [para] Third, instance variable names containing the namespace delimiter ([const ::]) are likely to cause great confusion. [subsection {Do I need to declare my instance variables in my methods?}] No. Once you've defined an instance variable in the type definition, it can be used in any instance code (instance methods, the constructor, and the destructor) without declaration. This differs from normal Tcl practice, in which all non-local variables in a proc need to be declared. [para] There is a speed penalty to having all instance variables implicitly available in all instance code. Even though your code need not declare the variables explicitly, Snit must still declare them, and that takes time. If you have ten instance variables, a method that uses none of them must still pay the declaration penalty for all ten. In most cases, the additional runtime cost is negligible. If extreme cases, you might wish to avoid it; there are two methods for doing so. [para] The first is to define a single instance variable, an array, and store |
︙ | ︙ | |||
1264 1265 1266 1267 1268 1269 1270 | If you naively pass the instance variable name to the label widget, you'll be confused by the result; Tk will assume that the name names a global variable. Instead, you need to provide a fully-qualified variable name. From within an instance method or a constructor, you can fully qualify the variable's name using the [cmd myvar] command: | | | 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 | If you naively pass the instance variable name to the label widget, you'll be confused by the result; Tk will assume that the name names a global variable. Instead, you need to provide a fully-qualified variable name. From within an instance method or a constructor, you can fully qualify the variable's name using the [cmd myvar] command: [para] [example {snit::widget mywidget { variable labeltext "" constructor {args} { # ... label $win.label -textvariable [myvar labeltext] |
︙ | ︙ | |||
1299 1300 1301 1302 1303 1304 1305 | languages would call public member variables or properties: they are data values which can be retrieved and (usually) set by the clients of an object. [para] Snit's implementation of options follows the Tk model fairly exactly, | | | < | | 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 | languages would call public member variables or properties: they are data values which can be retrieved and (usually) set by the clients of an object. [para] Snit's implementation of options follows the Tk model fairly exactly, except that [cmd snit::type] objects usually don't interact with [sectref "THE TK OPTION DATABASE"]; [cmd snit::widget] and [cmd snit::widgetadaptor] objects, on the other hand, always do. [subsection {How do I define an option?}] Options are defined in the type definition using the [cmd option] statement. Consider the following type, to be used in an application that manages a list of dogs for a pet store: [para] [example {snit::type dog { option -breed -default mongrel option -color -default brown option -akc -default 0 option -shots -default 0 } }] [para] According to this, a dog has four notable properties: a breed, a color, a flag that says whether it's pedigreed with the American Kennel Club, and another flag that says whether it has had its shots. The default dog, evidently, is a brown mutt. [para] There are a number of options you can specify when defining an option; if [const -default] is the only one, you can omit the word [const -default] as follows: [para] [example {snit::type dog { option -breed mongrel option -color brown option -akc 0 |
︙ | ︙ | |||
1392 1393 1394 1395 1396 1397 1398 | }] [para] [subsection {How can a client set options after object creation?}] Any number of options may be set at one time using the [method configure] instance method. Suppose that closer inspection | | | 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 | }] [para] [subsection {How can a client set options after object creation?}] Any number of options may be set at one time using the [method configure] instance method. Suppose that closer inspection shows that ::fido is not a brown mongrel, but rather a rare Arctic Boar Hound of a lovely dun color: [para] [example {% fido configure -color dun -breed "Arctic Boar Hound" % fido cget -color dun % fido cget -breed |
︙ | ︙ | |||
1419 1420 1421 1422 1423 1424 1425 | dun % fido cget -breed Arctic Boar Hound % }] [para] | | | 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 | dun % fido cget -breed Arctic Boar Hound % }] [para] In Tcl 8.5, the [cmd {*}] keyword can be used with [method configure] in this case: [para] [example {% set features [list -color dun -breed "Arctic Boar Hound"] -color dun -breed {Arctic Boar Hound} % fido configure {*}$features % fido cget -color |
︙ | ︙ | |||
1478 1479 1480 1481 1482 1483 1484 | method gainWeight {} { incr options(-weight) } }] [para] As you can see, using the [var options] variable involves considerably | | | | | 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 | method gainWeight {} { incr options(-weight) } }] [para] As you can see, using the [var options] variable involves considerably less typing and is the usual way to do it. But if you use [const -configuremethod] or [const -cgetmethod] (described in the following answers), you might wish to use the [method configure] and [method cget] methods anyway, just so that any special processing you've implemented is sure to get done. Also, if the option is delegated to a component then [method configure] and [method cget] are the only way to access it without accessing the component directly. See [sectref "DELEGATION"] for more information. [subsection {How can I make an option read-only?}] Define the option with [const "-readonly yes"]. [para] |
︙ | ︙ | |||
1522 1523 1524 1525 1526 1527 1528 | [subsection {How can I catch accesses to an option's value?}] Define a [const -cgetmethod] for the option. [subsection {What is a -cgetmethod?}] A [const -cgetmethod] is a method that's called whenever the related | | | 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 | [subsection {How can I catch accesses to an option's value?}] Define a [const -cgetmethod] for the option. [subsection {What is a -cgetmethod?}] A [const -cgetmethod] is a method that's called whenever the related option's value is queried via the [method cget] instance method. The handler can compute the option's value, retrieve it from a database, or do anything else you'd like it to do. [para] Here's what the default behavior would look like if written using a [const -cgetmethod]: |
︙ | ︙ | |||
1553 1554 1555 1556 1557 1558 1559 | Define a [const -configuremethod] for the option. [subsection {What is a -configuremethod?}] A [const -configuremethod] is a method that's called whenever the related option is given a new value via the [method configure] or | | | 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 | Define a [const -configuremethod] for the option. [subsection {What is a -configuremethod?}] A [const -configuremethod] is a method that's called whenever the related option is given a new value via the [method configure] or [method configurelist] instance methods. The method can pass the value on to some other object, store it in a database, or do anything else you'd like it to do. [para] Here's what the default configuration behavior would look like if written using a [const -configuremethod]: |
︙ | ︙ | |||
1625 1626 1627 1628 1629 1630 1631 | of boolean options. [para] Any method can be a [const -validatemethod] provided that it takes two arguments, the option name and the new option value. | < < | 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 | of boolean options. [para] Any method can be a [const -validatemethod] provided that it takes two arguments, the option name and the new option value. [section {TYPE VARIABLES}] [subsection {What is a type variable?}] A type variable is a private variable associated with a Snit type rather than with a particular instance of the type. In C++ and Java, the term [term "static member variable"] is used for the same notion. Type variables can be scalars or arrays. [subsection {How is a scalar type variable defined?}] Scalar type variables are defined in the type definition using the [cmd typevariable] statement. You can simply name it, or you can initialize it with a value: |
︙ | ︙ | |||
1657 1658 1659 1660 1661 1662 1663 | Every object of type [cmd mytype] now has access to a single variable called [var greeting]. [subsection {How is an array-valued type variable defined?}] Array-valued type variables are also defined using the | | | | | | | 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 | Every object of type [cmd mytype] now has access to a single variable called [var greeting]. [subsection {How is an array-valued type variable defined?}] Array-valued type variables are also defined using the [cmd typevariable] command; to initialize them, include the [const -array] option: [para] [example {snit::type mytype { # Define typearray variable "greetings" typevariable greetings -array { formal "Good Evening" casual "Howdy!" } } }] [para] [subsection {What happens if I don't initialize a type variable?}] Variables do not really exist until they are given values. If you do not initialize a variable when you define it, then you must be sure to assign a value to it (in the type constructor, say) before you reference it. [subsection {Are there any limitations on type variable names?}] Type variable names have the same restrictions as the names of [sectref {INSTANCE VARIABLES}] do. [subsection {Do I need to declare my type variables in my methods?}] No. Once you've defined a type variable in the type definition, it can be used in [sectref {INSTANCE METHODS}] or [sectref {TYPE METHODS}] without declaration. This differs from normal Tcl practice, in which all non-local variables in a proc need to be declared. [para] Type variables are subject to the same speed/readability tradeoffs as instance variables; see [sectref {Do I need to declare my instance variables in my methods?}] [subsection {How do I pass a type variable's name to another object?}] In Tk, it's common to pass a widget a variable name; for example, Tk label widgets have a [option -textvariable] option which names the variable which will contain the widget's text. This allows the program to update the label's value just by assigning a new value to the variable. [para] If you naively pass a type variable name to the label widget, you'll be confused by the result; Tk will assume that the name names a global variable. Instead, you need to provide a fully-qualified variable name. From within an instance method or a constructor, you can fully qualify the type variable's name using the [cmd mytypevar] command: [para] [example {snit::widget mywidget { typevariable labeltext "" constructor {args} { # ... label $win.label -textvariable [mytypevar labeltext] |
︙ | ︙ | |||
1817 1818 1819 1820 1821 1822 1823 | [para] [subsection {Are there any limitations on type method names?}] Not really, so long as you avoid the standard type method names: [method create], [method destroy], and [method info]. | < < | 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 | [para] [subsection {Are there any limitations on type method names?}] Not really, so long as you avoid the standard type method names: [method create], [method destroy], and [method info]. [subsection {How do I make a type method private?}] It's sometimes useful to define private type methods, that is, type methods intended to be called only by other type or instance methods of the same object. [para] Snit doesn't implement any access control on type methods; by convention, the names of public methods begin with a lower-case letter, and the names of private methods begin with an upper-case letter. [para] Alternatively, a Snit [cmd proc] can be used as a private type method; see [sectref PROCS]. [subsection {Are there any limitations on type method arguments?}] Method argument lists are defined just like normal Tcl proc argument lists; in particular, they can include arguments with default values and the [var args] argument. |
︙ | ︙ | |||
1881 1882 1883 1884 1885 1886 1887 | [para] [example { button .btn -text "Pedigrees" -command [list dog printPedigrees] pack .btn }] | | | | 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 | [para] [example { button .btn -text "Pedigrees" -command [list dog printPedigrees] pack .btn }] Alternatively, from a method or type method you can use the [cmd mytypemethod] command, just as you would use [cmd mymethod] to define a callback command for [sectref {INSTANCE METHODS}]. [subsection {Can type methods be hierarchical?}] Yes, you can define hierarchical type methods in just the same way as you can define hierarchical instance methods. See [sectref {INSTANCE METHODS}] for more. [section PROCS] [subsection {What is a proc?}] A Snit [cmd proc] is really just a Tcl proc defined within the type's namespace. You can use procs for private code that isn't related to any particular instance. [subsection {How do I define a proc?}] Procs are defined by including a [cmd proc] statement in the type definition: [para] |
︙ | ︙ | |||
1952 1953 1954 1955 1956 1957 1958 | } } }] [para] [subsection {How can I pass a proc to another object as a callback?}] | | < < < < | | | 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 | } } }] [para] [subsection {How can I pass a proc to another object as a callback?}] The [cmd myproc] command returns a callback command for the [cmd proc], just as [cmd mymethod] does for a method. [section {TYPE CONSTRUCTORS}] [subsection {What is a type constructor?}] A type constructor is a body of code that initializes the type as a whole, rather like a C++ static initializer. The body of a type constructor is executed once when the type is defined, and never again. [para] A type can have at most one type constructor. [subsection {How do I define a type constructor?}] A type constructor is defined by using the [cmd typeconstructor] statement in the type definition. For example, suppose the type uses an array-valued type variable as a look-up table, and the values in the array have to be computed at start-up. [para] [example {% snit::type mytype { typevariable lookupTable typeconstructor { array set lookupTable {key value...} } } }] [para] [section CONSTRUCTORS] [subsection {What is a constructor?}] In object-oriented programming, an object's constructor is responsible for initializing the object completely at creation time. The constructor receives the list of options passed to the [cmd snit::type] command's [method create] method and can then do whatever it likes. That might include computing instance variable values, reading data from files, creating other objects, updating type and instance variables, and so forth. [para] The constructor's return value is ignored (unless it's an error, of course). [subsection {How do I define a constructor?}] A constructor is defined by using the [cmd constructor] statement in the type definition. Suppose that it's desired to keep a list of all pedigreed dogs. The list can be maintained in a type variable and retrieved by a type method. Whenever a dog is created, it can add itself to the list--provided that it's registered with the American Kennel Club. [para] [example {% snit::type dog { option -akc 0 typevariable akcList {} constructor {args} { $self configurelist $args |
︙ | ︙ | |||
2096 2097 2098 2099 2100 2101 2102 | % spot breed dalmatian }] [para] The drawback is that this syntax is non-standard, and may limit the compatibility of your new type with other people's code. | | | | | | 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 | % spot breed dalmatian }] [para] The drawback is that this syntax is non-standard, and may limit the compatibility of your new type with other people's code. For example, Snit assumes that it can create [sectref COMPONENTS] using the standard creation syntax. [subsection {Are there any limitations on constructor arguments?}] Constructor argument lists are subject to the same limitations as those on instance method argument lists. It has the same implicit arguments, and can contain default values and the [var args] argument. [subsection "Is there anything special about writing the constructor?"] Yes. Writing the constructor can be tricky if you're delegating options to components, and there are specific issues relating to [cmd snit::widget]s and [cmd snit::widgetadaptor]s. See [sectref {DELEGATION}], [sectref {WIDGETS}], [sectref {WIDGET ADAPTORS}], and [sectref {THE TK OPTION DATABASE}]. [section DESTRUCTORS] [subsection {What is a destructor?}] A destructor is a special kind of method that's called when an object |
︙ | ︙ | |||
2179 2180 2181 2182 2183 2184 2185 | Yes and no. [para] Any Tk widgets created by a [cmd snit::widget] or [cmd snit::widgetadaptor] will be destroyed automatically by Tk | | | | | | | 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 | Yes and no. [para] Any Tk widgets created by a [cmd snit::widget] or [cmd snit::widgetadaptor] will be destroyed automatically by Tk when the megawidget is destroyed, in keeping with normal Tk behavior (destroying a parent widget destroys the whole tree). [para] Components of normal [cmd snit::types], on the other hand, are never destroyed automatically, nor are non-widget components of Snit megawidgets. If your object creates them in its constructor, then it should generally destroy them in its destructor. [subsection {Is there any special about writing a destructor?}] Yes. If an object's constructor throws an error, the object's destructor will be called to clean up; this means that the object might not be completely constructed when the destructor is called. This can cause the destructor to throw its own error; the result is usually misleading, confusing, and unhelpful. Consequently, it's important to write your destructor so that it's fail-safe. [para] For example, a [cmd dog] might create a [cmd tail] component; the component will need to be destroyed. But suppose there's an error while processing the creation options--the destructor will be called, and there will be no [cmd tail] to destroy. The simplest solution is |
︙ | ︙ | |||
2221 2222 2223 2224 2225 2226 2227 | destructor { catch {$tail destroy} } } }] | < | | 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 | destructor { catch {$tail destroy} } } }] [section COMPONENTS] [subsection {What is a component?}] Often an object will create and manage a number of other objects. A Snit megawidget, for example, will often create a number of Tk widgets. These objects are part of the main object; it is composed of them, so they are called components of the object. [para] But Snit also has a more precise meaning for [sectref COMPONENTS COMPONENT]. The components of a Snit object are those objects to which methods or options can be delegated. (See [sectref DELEGATION] for more information about delegation.) [subsection {How do I declare a component?}] First, you must decide what role a component plays within your object, |
︙ | ︙ | |||
2288 2289 2290 2291 2292 2293 2294 | used to refer to the component within Snit code. The second name is the name of the actual component object created by the Snit object's constructor. This second name is always a Tcl command name, and is referred to as the component's object name. [para] | | | 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 | used to refer to the component within Snit code. The second name is the name of the actual component object created by the Snit object's constructor. This second name is always a Tcl command name, and is referred to as the component's object name. [para] In the example in the previous question, the component name is [const mytail]; the [const mytail] component's object name is chosen automatically by Snit since [const %AUTO%] was used when the component object was created. [subsection {Are there any limitations on component names?}] Yes. [cmd snit::widget] and [cmd snit::widgetadaptor] objects have a special |
︙ | ︙ | |||
2380 2381 2382 2383 2384 2385 2386 | $self configurelist $args } } }] In a [cmd snit::type]'s code, the [cmd install] command shown above is equivalent to the [const {set mytail}] command | | | 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 | $self configurelist $args } } }] In a [cmd snit::type]'s code, the [cmd install] command shown above is equivalent to the [const {set mytail}] command that's commented out. In a [cmd snit::widget]'s or [cmd snit::widgetadaptor]'s, code, however, the [cmd install] command also queries [sectref {THE TK OPTION DATABASE}] and initializes the new component's options accordingly. For consistency, it's a good idea to get in the habit of using [cmd install] for all owned components. [subsection {Must owned components be created in the constructor?}] |
︙ | ︙ | |||
2411 2412 2413 2414 2415 2416 2417 | Component objects which are not widgets or megawidgets must have fully-qualified command names, i.e., names which include the full namespace of the command. Note that Snit always creates objects with fully qualified names. [para] | | | 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 | Component objects which are not widgets or megawidgets must have fully-qualified command names, i.e., names which include the full namespace of the command. Note that Snit always creates objects with fully qualified names. [para] Next, the object names of components and owned by your object must be unique. This is no problem for widget components, since widget names are always unique; but consider the following code: [para] [example {snit::type tail { ... } snit::type dog { |
︙ | ︙ | |||
2494 2495 2496 2497 2498 2499 2500 | [para] However, there are times when it's appropriate, not to mention simpler, just to make the entire component part of your type's public interface. | < | | | 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 | [para] However, there are times when it's appropriate, not to mention simpler, just to make the entire component part of your type's public interface. [subsection {How do I expose a component's object command?}] When you declare the component, specify the [cmd component] statement's [const -public] option. The value of this option is the name of a method which will be delegated to your component's object command. [para] For example, supposed you've written a combobox megawidget which owns a listbox widget, and you want to make the listbox's entire interface public. You can do it like this: [para] [example {snit::widget combobox { component listbox -public listbox constructor {args} { |
︙ | ︙ | |||
2538 2539 2540 2541 2542 2543 2544 | [section {TYPE COMPONENTS}] [subsection {What is a type component?}] A type component is a component that belongs to the type itself instead of to a particular instance of the type. The relationship between components and type components is the same as the | | | 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 | [section {TYPE COMPONENTS}] [subsection {What is a type component?}] A type component is a component that belongs to the type itself instead of to a particular instance of the type. The relationship between components and type components is the same as the relationship between [sectref {INSTANCE VARIABLES}] and [sectref {TYPE VARIABLES}]. Both [sectref {INSTANCE METHODS}] and [sectref {TYPE METHODS}] can be delegated to type components. [para] Once you understand [sectref COMPONENTS] and [sectref {DELEGATION}], type components are just more of the same. |
︙ | ︙ | |||
2571 2572 2573 2574 2575 2576 2577 | # ... } }] [subsection {How do I install a type component?}] Just use the [cmd set] command to assign the component's object | | | 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 | # ... } }] [subsection {How do I install a type component?}] Just use the [cmd set] command to assign the component's object command to the type component. Because types (even [cmd snit::widget] types) are not widgets, and do not have options anyway, the extra features of the [cmd install] command are not needed. [para] You'll usually install type components in the type constructor, as |
︙ | ︙ | |||
2594 2595 2596 2597 2598 2599 2600 | set vet [veterinarian %AUTO%] } } }] [subsection {Are there any limitations on type component names?}] | | < | < | 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 | set vet [veterinarian %AUTO%] } } }] [subsection {Are there any limitations on type component names?}] Yes, the same as on [sectref {INSTANCE VARIABLES}], [sectref {TYPE VARIABLES}], and normal [sectref COMPONENTS]. [section DELEGATION] [subsection {What is delegation?}] Delegation, simply put, is when you pass a task you've been given to one of your assistants. (You do have assistants, don't you?) Snit objects can do the same thing. The following example shows one way in which the [cmd dog] object can delegate its [cmd wag] method and its [option -taillength] option to its [cmd tail] component. [para] [example {snit::type dog { variable mytail option -taillength -configuremethod SetTailOption -cgetmethod GetTailOption method SetTailOption {option value} { $mytail configure $option $value } method GetTailOption {option} { $mytail cget $option |
︙ | ︙ | |||
2649 2650 2651 2652 2653 2654 2655 | [cmd after] it creates its [cmd tail]; otherwise, if [option -taillength] appeared in the list of [var args] we'd get an error. [subsection {How can I delegate a method to a component object?}] Delegation occurs frequently enough that Snit makes it easy. Any | | | 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 | [cmd after] it creates its [cmd tail]; otherwise, if [option -taillength] appeared in the list of [var args] we'd get an error. [subsection {How can I delegate a method to a component object?}] Delegation occurs frequently enough that Snit makes it easy. Any method can be delegated to any component or type component by placing a single [cmd delegate] statement in the type definition. (See [sectref COMPONENTS] and [sectref {TYPE COMPONENTS}] for more information about component names.) [para] |
︙ | ︙ | |||
2715 2716 2717 2718 2719 2720 2721 | install mytail using tail %AUTO% -partof $self $self configurelist $args } } }] [para] | < | 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 | install mytail using tail %AUTO% -partof $self $self configurelist $args } } }] [para] [subsection {Can I delegate to a method with additional arguments?}] Suppose the [cmd tail]'s [method wag] method takes as an argument the number of times the tail should be wagged. You want to delegate the [cmd dog]'s [method wagtail] method to the [cmd tail]'s [method wag] method, specifying that the tail should be wagged exactly three times. This is easily done, too: |
︙ | ︙ | |||
2742 2743 2744 2745 2746 2747 2748 | } }] [para] [subsection {Can I delegate a method to something other than an object?}] Normal method delegation assumes that you're delegating a method (a | | | | | | | | | | | | 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 | } }] [para] [subsection {Can I delegate a method to something other than an object?}] Normal method delegation assumes that you're delegating a method (a subcommand of an object command) to a method of another object (a subcommand of a different object command). But not all Tcl objects follow Tk conventions, and not everything you'd to which you'd like to delegate a method is necessary an object. Consequently, Snit makes it easy to delegate a method to pretty much anything you like using the [cmd delegate] statement's [const using] clause. [para] Suppose your dog simulation stores dogs in a database, each dog as a single record. The database API you're using provides a number of commands to manage records; each takes the record ID (a string you choose) as its first argument. For example, [cmd saverec] saves a record. If you let the record ID be the name of the dog object, you can delegate the dog's [method save] method to the [cmd saverec] command as follows: [example {snit::type dog { delegate method save using {saverec %s} } }] The [const %s] is replaced with the instance name when the [method save] method is called; any additional arguments are the appended to the resulting command. [para] The [const using] clause understands a number of other %-conversions; in addition to the instance name, you can substitute in the method name ([const %m]), the type name ([const %t]), the instance namespace ([const %n]), the Tk window name ([const %w]), and, if a component or typecomponent name was given in the [cmd delegate] statement, the component's object command ([const %c]). [subsection {How can I delegate a method to a type component object?}] Just exactly as you would to a component object. The [cmd {delegate method}] statement accepts both component and type component names in its [const to] clause. [subsection {How can I delegate a type method to a type component object?}] Use the [cmd {delegate typemethod}] statement. It works like [cmd {delegate method}], with these differences: first, it defines a type method instead of an instance method; second, the [const using] clause ignores the [const {%s}], [const {%n}], and [const {%w}] %-conversions. [para] Naturally, you can't delegate a type method to an instance component...Snit wouldn't know which instance should receive it. |
︙ | ︙ | |||
2942 2943 2944 2945 2946 2947 2948 | # ... } }] [para] Dogs have four legs, so we specify that explicitly when we create the [var animal] component, and explicitly exclude [option -numlegs] from the | | < | 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 | # ... } }] [para] Dogs have four legs, so we specify that explicitly when we create the [var animal] component, and explicitly exclude [option -numlegs] from the set of delegated options. Similarly, dogs can neither [method fly] nor [method climb], so we exclude those [cmd animal] methods as shown. [subsection {Can a hierarchical method be delegated?}] Yes; just specify multiple words in the delegated method's name: [para] [example {snit::type tail { method wag {} {return "Wag, wag"} method droop {} {return "Droop, droop"} } snit::type dog { delegate method {tail wag} to mytail delegate method {tail droop} to mytail # ... |
︙ | ︙ | |||
2986 2987 2988 2989 2990 2991 2992 | delegate method {tail *} to mytail # ... } }] [para] | < < < < < < < | 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 | delegate method {tail *} to mytail # ... } }] [para] [section WIDGETS] [subsection {What is a snit::widget?}] A [cmd snit::widget] is the Snit version of what Tcl programmers usually call a [term megawidget]: a widget-like object usually consisting of one or more Tk widgets all contained within a Tk frame. [para] A [cmd snit::widget] is also a special kind of [cmd snit::type]. Just about everything in this FAQ list that relates to [cmd snit::types] also applies to [cmd snit::widgets]. [subsection {How do I define a snit::widget?}] [cmd snit::widgets] are defined using the [cmd snit::widget] command, just as [cmd snit::types] are defined by the [cmd snit::type] command. [para] The body of the definition can contain all of the same kinds of statements, plus a couple of others which will be mentioned below. [subsection {How do snit::widgets differ from snit::types?}] [list_begin itemized] [item] The name of an instance of a [cmd snit::type] can be any valid Tcl command name, in any namespace. The name of an instance of a [cmd snit::widget] must be a valid Tk widget name, and its parent widget must already exist. [item] An instance of a [cmd snit::type] can be destroyed by calling its [cmd destroy] method. Instances of a [cmd snit::widget] have no destroy method; use the Tk [cmd destroy] command instead. [item] Every instance of a [cmd snit::widget] has one predefined component called its [var hull] component. The hull is usually a Tk [cmd frame] or [cmd toplevel] widget; any other |
︙ | ︙ | |||
3076 3077 3078 3079 3080 3081 3082 | [cmd snit::widgetadaptor]s differ from [cmd snit::widget]s chiefly in that any kind of widget can be used as the hull component; see [sectref {WIDGET ADAPTORS}]. [subsection {How can I set the hull type for a snit::widget?}] A [cmd snit::widget]'s hull component will usually be a Tk [cmd frame] | | | 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 | [cmd snit::widgetadaptor]s differ from [cmd snit::widget]s chiefly in that any kind of widget can be used as the hull component; see [sectref {WIDGET ADAPTORS}]. [subsection {How can I set the hull type for a snit::widget?}] A [cmd snit::widget]'s hull component will usually be a Tk [cmd frame] widget; however, it may be any Tk widget that defines the [const -class] option. You can explicitly choose the hull type you prefer by including the [cmd hulltype] command in the widget definition: [para] [example {snit::widget mytoplevel { hulltype toplevel |
︙ | ︙ | |||
3112 3113 3114 3115 3116 3117 3118 | snit::widget mywidget { hulltype prettyframe # ... } }] [para] | < < | 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 | snit::widget mywidget { hulltype prettyframe # ... } }] [para] [subsection {How should I name widgets which are components of a snit::widget?}] Every widget, whether a genuine Tk widget or a Snit megawidget, has to have a valid Tk window name. When a [cmd snit::widget] is first created, its instance name, [var self], is a Tk window name; |
︙ | ︙ | |||
3169 3170 3171 3172 3173 3174 3175 | defined using some other package. [para] It's called a [term {widget adaptor}] because it allows you to take an existing widget and customize its behavior. | < | 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 | defined using some other package. [para] It's called a [term {widget adaptor}] because it allows you to take an existing widget and customize its behavior. [subsection {How do I define a snit::widgetadaptor?}] Use the [cmd snit::widgetadaptor] command. The definition for a [cmd snit::widgetadaptor] looks just like that for a [cmd snit::type] or [cmd snit::widget], except that the constructor must create and install the hull component. |
︙ | ︙ | |||
3208 3209 3210 3211 3212 3213 3214 | method insert {args} {} method delete {args} {} # Enable ins and del as synonyms, so the program can insert and # delete. delegate method ins to hull as insert delegate method del to hull as delete | | | 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 | method insert {args} {} method delete {args} {} # Enable ins and del as synonyms, so the program can insert and # delete. delegate method ins to hull as insert delegate method del to hull as delete # Pass all other methods and options to the real text widget, so # that the remaining behavior is as expected. delegate method * to hull delegate option * to hull } }] [para] |
︙ | ︙ | |||
3267 3268 3269 3270 3271 3272 3273 | }] [subsection {Can I adapt another megawidget?}] Maybe. If the other megawidget is a [cmd snit::widget] or [cmd snit::widgetadaptor], then yes. If it isn't then, again, maybe. You'll have to try it and see. You're most likely to have trouble | | | 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 | }] [subsection {Can I adapt another megawidget?}] Maybe. If the other megawidget is a [cmd snit::widget] or [cmd snit::widgetadaptor], then yes. If it isn't then, again, maybe. You'll have to try it and see. You're most likely to have trouble with widget destruction--you have to make sure that your megawidget code receives the [const <Destroy>] event before the megawidget you're adapting does. [section {THE TK OPTION DATABASE}] [subsection {What is the Tk option database?}] |
︙ | ︙ | |||
3324 3325 3326 3327 3328 3329 3330 | [item] Use the [cmd install] command to create and install all components which are widgets. [item] | | | < | 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 | [item] Use the [cmd install] command to create and install all components which are widgets. [item] Use the [cmd install] command to create and install components which aren't widgets if you'd like them to receive option values from the option database. [list_end] [para] The interaction of Tk widgets with the option database is a complex thing; the interaction of Snit with the option database is even more so, and repays attention to detail. [subsection {Do snit::types use the Tk option database?}] No, they don't; querying the option database requires a Tk window name, and [cmd snit::type]s don't have one. [para] |
︙ | ︙ | |||
3356 3357 3358 3359 3360 3361 3362 | want, so take care. [subsection {What is my snit::widget's widget class?}] Every Tk widget has a "widget class": a name that is used when adding option settings to the database. For Tk widgets, the widget class is the same as the widget command name with an initial capital. For | | | 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 | want, so take care. [subsection {What is my snit::widget's widget class?}] Every Tk widget has a "widget class": a name that is used when adding option settings to the database. For Tk widgets, the widget class is the same as the widget command name with an initial capital. For example, the widget class of the Tk [cmd button] widget is [const Button]. [para] Similarly, the widget class of a [cmd snit::widget] defaults to the unqualified type name with the first letter capitalized. For example, the widget class of |
︙ | ︙ | |||
3408 3409 3410 3411 3412 3413 3414 | [para] Try to use [cmd snit::widgetadaptor]s only to make small modifications to another widget's behavior. Then, it will usually not make sense to change the widget's widget class anyway. | < | 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 | [para] Try to use [cmd snit::widgetadaptor]s only to make small modifications to another widget's behavior. Then, it will usually not make sense to change the widget's widget class anyway. [subsection {What are option resource and class names?}] Every Tk widget option has three names: the option name, the resource name, and the class name. The option name begins with a hyphen and is all lowercase; it's used when creating widgets, and with the [cmd configure] and [cmd cget] |
︙ | ︙ | |||
3430 3431 3432 3433 3434 3435 3436 | name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several Tk [cmd text] widget options: [para] | | | | | < | 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 | name minus the hyphen, but may contain uppercase letters at word boundaries; the class name is usually just the resource name with an initial capital, but not always. For example, here are the option, resource, and class names for several Tk [cmd text] widget options: [para] [example { -background background Background -borderwidth borderWidth BorderWidth -insertborderwidth insertBorderWidth BorderWidth -padx padX Pad }] [para] As is easily seen, sometimes the resource and class names can be inferred from the option name, but not always. [subsection {What are the resource and class names for my megawidget's options?}] For options implicitly delegated to a component using [cmd {delegate option *}], the resource and class names will be exactly those defined by the component. The [cmd configure] method returns these names, along with the option's default and current |
︙ | ︙ | |||
3523 3524 3525 3526 3527 3528 3529 | % mytext .text .text % .text configure -padx -padx padX Pad 1 1 % }] | < | 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 | % mytext .text .text % .text configure -padx -padx padX Pad 1 1 % }] [subsection {How does Snit initialize my megawidget's locally-defined options?}] The option database is queried for each of the megawidget's locally-defined options, using the option's resource and class name. If the result isn't "", then it replaces the default value given in widget definition. In either case, the default can be overridden by the caller. For example, |
︙ | ︙ | |||
3553 3554 3555 3556 3557 3558 3559 | However, the caller has explicitly overridden the default, and so the new widget will be "greasy". [subsection {How does Snit initialize delegated options?}] That depends on whether the options are delegated to the hull, or to some other component. | < | 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 | However, the caller has explicitly overridden the default, and so the new widget will be "greasy". [subsection {How does Snit initialize delegated options?}] That depends on whether the options are delegated to the hull, or to some other component. [subsection {How does Snit initialize options delegated to the hull?}] A [cmd snit::widget]'s hull is a widget, and given that its class has been set it is expected to query the option database for itself. The only exception concerns options that are delegated to it with a different name. Consider the following code: |
︙ | ︙ | |||
3598 3599 3600 3601 3602 3603 3604 | implicitly delegated to the hull, Snit takes no action. [para] The value of B is "red". The hull will automatically pick up the value "green" for its [const -background] option, just as it picked up the [const -relief] value. However, Snit knows that [const -hullbackground] | | | | | | | 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 | implicitly delegated to the hull, Snit takes no action. [para] The value of B is "red". The hull will automatically pick up the value "green" for its [const -background] option, just as it picked up the [const -relief] value. However, Snit knows that [const -hullbackground] is mapped to the hull's [const -background] option; hence, it queries the option database for [const -hullbackground] and gets "red" and updates the hull accordingly. [para] The value of C is also "red", because [const -background] is implicitly delegated to the hull; thus, retrieving it is the same as retrieving [const -hullbackground]. Note that this case is unusual; the [const -background] option should probably have been excluded using the delegate statement's [const except] clause, or (more likely) delegated to some other component. [para] The value of D is "5", but not for the reason you think. Note that as it is defined above, the resource name for [const -borderwidth] defaults to [const borderwidth], whereas the option database entry is [const borderWidth], in accordance with the standard Tk naming for this option. As with [const -relief], the hull picks up its own [const -borderwidth] option before Snit does anything. Because the option is delegated under its own name, Snit assumes that the correct thing has happened, and doesn't worry about it any further. To avoid confusion, the [const -borderwidth] option should have been delegated like this: [para] [example { delegate option {-borderwidth borderWidth BorderWidth} to hull }] [para] |
︙ | ︙ | |||
3747 3748 3749 3750 3751 3752 3753 | Queries the option database for all options delegated explicitly to the named component. [item] Creates the component using the specified command, after inserting into it a list of options and values read from the option database. | | | 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 | Queries the option database for all options delegated explicitly to the named component. [item] Creates the component using the specified command, after inserting into it a list of options and values read from the option database. Thus, the explicitly included options (like [const -foreground]) will override anything read from the option database. [item] If the widget definition implicitly delegated options to the component using [cmd {delegate option *}], then Snit calls the newly created component's [cmd configure] method to receive a list of all of the |
︙ | ︙ | |||
3785 3786 3787 3788 3789 3790 3791 | [section {ENSEMBLE COMMANDS}] [subsection {What is an ensemble command?}] An ensemble command is a command with subcommands. Snit objects are all ensemble commands; however, the term more usually refers to | | | 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 | [section {ENSEMBLE COMMANDS}] [subsection {What is an ensemble command?}] An ensemble command is a command with subcommands. Snit objects are all ensemble commands; however, the term more usually refers to commands like the standard Tcl commands [cmd string], [cmd file], and [cmd clock]. In a sense, these are singleton objects--there's only one instance of them. [subsection {How can I create an ensemble command using Snit?}] There are two ways--as a [cmd snit::type], or as an instance of a [cmd snit::type]. |
︙ | ︙ | |||
3848 3849 3850 3851 3852 3853 3854 | } }] Now the type command itself is your ensemble command. [para] | | | | | | 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 | } }] Now the type command itself is your ensemble command. [para] This method has only one drawback, and though it's major, it's also surmountable. Your new ensemble command will have [method create], [method info] and [method destroy] subcommands you don't want. And worse yet, since the [method create] method can be implicit, users of your command will accidentally be creating instances of your [cmd mystring] type if they should mispell one of the subcommands. The command will succeed--the first time--but won't do what's wanted. This is very bad. [para] The work around is to set some [sectref {PRAGMAS}], as shown here: [example {snit::type mystring { pragma -hastypeinfo no pragma -hastypedestroy no pragma -hasinstances no delegate typemethod * to stringhandler typeconstructor { set stringhandler string } } }] Here we've used the [cmd pragma] statement to tell Snit that we don't want the [method info] typemethod or the [method destroy] typemethod, and that our type has no instances; this eliminates the [method create] typemethod and all related code. As a result, our ensemble command will be well-behaved, with no unexpected subcommands. [section {PRAGMAS}] [subsection {What is a pragma?}] |
︙ | ︙ | |||
3944 3945 3946 3947 3948 3949 3950 | [para] Pragmas [const -hastypemethods] and [const -hasinstances] cannot both be false (or there'd be nothing left). [subsection {How can I get rid of type methods altogether?}] | | | | | | 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 | [para] Pragmas [const -hastypemethods] and [const -hasinstances] cannot both be false (or there'd be nothing left). [subsection {How can I get rid of type methods altogether?}] Normal Tk widget type commands don't have subcommands; all they do is create widgets--in Snit terms, the type command calls the [method create] type method directly. To get the same behavior from Snit, set the [const -hastypemethods] pragma to [const no]: [example {snit::type dog { pragma -hastypemethods no #... } # Creates ::spot dog spot # Tries to create an instance called ::create dog create spot }] Pragmas [const -hastypemethods] and [const -hasinstances] cannot both be false (or there'd be nothing left). [subsection {Why can't I create an object that replaces an old object with the same name?}] Up until Snit 0.95, you could use any name for an instance of a [cmd snit::type], even if the name was already in use by some other object or command. You could do the following, for example: [example {snit::type dog { ... } dog proc }] |
︙ | ︙ | |||
3993 3994 3995 3996 3997 3998 3999 | [subsection {How can I make my simple type run faster?}] In Snit 1.x, you can set the [const -simpledispatch] pragma to [const yes]. [para] Snit 1.x method dispatch is both flexible and fast, but the flexibility | | | | | | 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 | [subsection {How can I make my simple type run faster?}] In Snit 1.x, you can set the [const -simpledispatch] pragma to [const yes]. [para] Snit 1.x method dispatch is both flexible and fast, but the flexibility comes with a price. If your type doesn't require the flexibility, the [const -simpledispatch] pragma allows you to substitute a simpler dispatch mechanism that runs quite a bit faster. The limitations are these: [list_begin itemized] [item] Methods cannot be delegated. [item] [cmd uplevel] and [cmd upvar] do not work as expected: the caller's scope is two levels up rather than one. [item] The option-handling methods ([cmd cget], [cmd configure], and [cmd configurelist]) are very slightly slower. [list_end] In Snit 2.2, the [const -simpledispatch] macro is obsolete, and ignored; all Snit 2.2 method dispatch is faster than Snit 1.x's [const -simpledispatch]. [section {MACROS}] [subsection {What is a macro?}] A Snit macro is nothing more than a Tcl proc that's defined in the Tcl interpreter used to compile Snit type definitions. [subsection {What are macros good for?}] You can use Snit macros to define new type definition syntax, and to support conditional compilation. |
︙ | ︙ | |||
4062 4063 4064 4065 4066 4067 4068 | method wagtail {} {...} } } }] [subsection {How do I define new type definition syntax?}] | | | 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 | method wagtail {} {...} } } }] [subsection {How do I define new type definition syntax?}] Use a macro. For example, your [cmd snit::widget]'s [const -background] option should be propagated to a number of component widgets. You could implement that like this: [example {snit::widget mywidget { option -background -default white -configuremethod PropagateBackground method PropagateBackground {option value} { |
︙ | ︙ | |||
4120 4121 4122 4123 4124 4125 4126 | them in the global namespace, as shown above. But if you're using them to define types or widgets for use by others, you should define your macros in the same namespace as your types or widgets. That way, they won't conflict with other people's macros. [para] | | < | < | < < < < < < < < < < < < < | 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 | them in the global namespace, as shown above. But if you're using them to define types or widgets for use by others, you should define your macros in the same namespace as your types or widgets. That way, they won't conflict with other people's macros. [para] If my fancy [cmd snit::widget] is called [cmd ::mylib::mywidget], for example, then I should define my [cmd propagate] macro as [cmd ::mylib::propagate]: [example {snit::macro mylib::propagate {option "to" components} { ... } snit::widget ::mylib::mywidget { option -background default -white option -foreground default -black mylib::propagate -background to {comp1 comp2 comp3} mylib::propagate -foreground to {comp1 comp2 comp3} } }] [vset CATEGORY snit] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/soundex/soundex.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin soundex n 1.0] [copyright {????, Algorithm: Donald E. Knuth}] [copyright {2003, Documentation: Andreas Kupries <[email protected]>}] [copyright {1998, Tcl port: Evan Rempel <[email protected]>}] [moddesc {Soundex}] [titledesc {Soundex}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin soundex n 1.0] [keywords knuth] [keywords soundex] [keywords {text comparison}] [keywords {text likeness}] [copyright {????, Algorithm: Donald E. Knuth}] [copyright {2003, Documentation: Andreas Kupries <[email protected]>}] [copyright {1998, Tcl port: Evan Rempel <[email protected]>}] [moddesc {Soundex}] [titledesc {Soundex}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] |
︙ | ︙ | |||
25 26 27 28 29 30 31 | Computes the soundex code of the input [arg string] using Knuth's algorithm and returns it as the result of the command. [list_end] | < < | < < | < < < < < < < < | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | Computes the soundex code of the input [arg string] using Knuth's algorithm and returns it as the result of the command. [list_end] [section EXAMPLES] [example { % ::soundex::knuth Knuth K530 }] [vset CATEGORY soundex] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/stooop/stooop.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stooop n 4.4.1] [moddesc {Simple Tcl Only Object Oriented Programming}] [titledesc {Object oriented extension.}] [category {Programming tools}] [require Tcl 8.3] [require stooop [opt 4.4.1]] [description] [para] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stooop n 4.4.1] [keywords C++] [keywords class] [keywords object] [keywords {object oriented}] [moddesc {Simple Tcl Only Object Oriented Programming}] [titledesc {Object oriented extension.}] [category {Programming tools}] [require Tcl 8.3] [require stooop [opt 4.4.1]] [description] [para] |
︙ | ︙ | |||
18 19 20 21 22 23 24 | [para] This manual is very succinct and is to be used as a quick reminder for the programmer, who should have read the thorough [uri stooop_man.html] HTML documentation at this point. [list_begin definitions] | < | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | [para] This manual is very succinct and is to be used as a quick reminder for the programmer, who should have read the thorough [uri stooop_man.html] HTML documentation at this point. [list_begin definitions] [call [cmd ::stooop::class] [arg {name body}]] This command creates a class. The body, similar in contents to a Tcl namespace (which a class actually also is), contains member procedure definitions. Member procedures can also be defined outside the class body, by prefixing their name with [const class::], as you would |
︙ | ︙ | |||
75 76 77 78 79 80 81 | This is the optional copy procedure for the class. It must have the same name as the class and exactly 2 arguments named [const this] and [const copy]. It is invoked following a [cmd new] invocation on an existing object of the class. [list_end] | < | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | This is the optional copy procedure for the class. It must have the same name as the class and exactly 2 arguments named [const this] and [const copy]. It is invoked following a [cmd new] invocation on an existing object of the class. [list_end] [call [cmd ::stooop::new] [arg class] [opt [arg {arg arg ...}]]] This command is used to create an object. The first argument is the class name and is followed by the arguments needed by the corresponding class constructor. A unique identifier for the object just created is returned. |
︙ | ︙ | |||
117 118 119 120 121 122 123 | [list_end] [section DEBUGGING] [list_begin definitions] [def {Environment variables}] | < | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | [list_end] [section DEBUGGING] [list_begin definitions] [def {Environment variables}] [list_begin definitions] [def [var STOOOPCHECKDATA]] Setting this variable to any true value will cause stooop to check for invalid member or class data access. |
︙ | ︙ | |||
167 168 169 170 171 172 173 | [const stderr] or a file name, activates data tracing. The stooop library will then output to the specified channel 1 line of informational text for each member data access. [def [var STOOOPTRACEDATAFORMAT]] | | < | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | [const stderr] or a file name, activates data tracing. The stooop library will then output to the specified channel 1 line of informational text for each member data access. [def [var STOOOPTRACEDATAFORMAT]] Defines the trace data output format. Defaults to [const {"class: %C, procedure: %p, array: %A, object: %O, member: %m, operation: %o, value: %v"}]. [def [var STOOOPTRACEDATAOPERATIONS]] When tracing data output, by default, all read, write and unsetting accesses are reported, but the user can set this variable to any combination of the letters [const r], [const w], and [const u] for more specific tracing (please refer to the [cmd trace] Tcl manual page for more information). [def [var STOOOPTRACEALL]] Setting this environment variable to either [const stdout], [const stderr] or a file name, enables both procedure and data tracing. [list_end] [call [cmd ::stooop::printObjects] [opt [arg pattern]]] Prints an ordered list of existing objects, in creation order, oldest first. Each output line contains the class name, object identifier and the procedure within which the creation occurred. The optional pattern argument (as in the Tcl [cmd {string match}] command) can be used to |
︙ | ︙ | |||
214 215 216 217 218 219 220 | [list_end] [section EXAMPLES] Please see the full HTML documentation in [uri stooop_man.html]. | < | < < | < < < < < < < < | 214 215 216 217 218 219 220 221 222 223 | [list_end] [section EXAMPLES] Please see the full HTML documentation in [uri stooop_man.html]. [vset CATEGORY stooop] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/string/token.man.
1 2 3 4 | [manpage_begin string::token n 1] [moddesc {Text and string utilities}] [titledesc {Regex based iterative lexing}] [category {Text processing}] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin string::token n 1] [keywords lexing] [keywords regex] [keywords string] [keywords tokenization] [moddesc {Text and string utilities}] [titledesc {Regex based iterative lexing}] [category {Text processing}] [require Tcl 8.5] [require string::token [opt 1]] [require fileutil] [description] This package provides commands for regular expression based lexing (tokenization) of strings. |
︙ | ︙ | |||
85 86 87 88 89 90 91 | [para] Further note that all regex patterns are implicitly prefixed with the constraint escape [const \A] to ensure that a match starts exactly at the character index found in [arg startvar]. [list_end] | < | < < | < < < < < < | 88 89 90 91 92 93 94 95 96 97 | [para] Further note that all regex patterns are implicitly prefixed with the constraint escape [const \A] to ensure that a match starts exactly at the character index found in [arg startvar]. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/string/token_shell.man.
1 2 3 4 | [manpage_begin string::token::shell n 1.1] [moddesc {Text and string utilities}] [titledesc {Parsing of shell command line}] [category {Text processing}] | > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [manpage_begin string::token::shell n 1.1] [keywords bash] [keywords lexing] [keywords parsing] [keywords shell] [keywords string] [keywords tokenization] [moddesc {Text and string utilities}] [titledesc {Parsing of shell command line}] [category {Text processing}] [require Tcl 8.5] [require string::token::shell [opt 1.1]] [require string::token [opt 1]] [require fileutil] [description] This package provides a command which parses a line of text using |
︙ | ︙ | |||
120 121 122 123 124 125 126 | expression \\s. [para] Whitespace may occur before the first word, or after the last word. Whitespace must occur between adjacent words. [list_end] [list_end] | < | < < | < < < < < < | 125 126 127 128 129 130 131 132 133 134 | expression \\s. [para] Whitespace may occur before the first word, or after the last word. Whitespace must occur between adjacent words. [list_end] [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/stringprep/stringprep.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stringprep n 1.0.1] [copyright {2007-2009, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {Implementation of stringprep}] [require Tcl 8.3] [require stringprep 1.0.1] [description] [para] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stringprep n 1.0.1] [see_also unicode(n)] [keywords stringprep] [keywords unicode] [copyright {2007-2009, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {Implementation of stringprep}] [require Tcl 8.3] [require stringprep 1.0.1] [description] [para] |
︙ | ︙ | |||
136 137 138 139 140 141 142 | [enum] "Extensible Messaging and Presence Protocol (XMPP): Core", ([uri http://www.ietf.org/rfc/rfc3920.txt]) [list_end] | < < | < | < < < < < < < < < < < | 139 140 141 142 143 144 145 146 147 148 149 150 151 | [enum] "Extensible Messaging and Presence Protocol (XMPP): Core", ([uri http://www.ietf.org/rfc/rfc3920.txt]) [list_end] [section "AUTHORS"] Sergei Golovan [vset CATEGORY stringprep] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/stringprep/stringprep_data.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stringprep::data n 1.0.1] [copyright {2007-2009, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {stringprep data tables, generated, internal}] [require Tcl 8.3] [require stringprep::data 1.0.1] [description] [para] The [package stringprep::data] package is a helper for [package stringprep], providing it with the data tables needed to perform its functions. It is an [emph internal] package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script. | > > < | < < | < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin stringprep::data n 1.0.1] [keywords stringprep] [keywords unicode] [copyright {2007-2009, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {stringprep data tables, generated, internal}] [require Tcl 8.3] [require stringprep::data 1.0.1] [description] [para] The [package stringprep::data] package is a helper for [package stringprep], providing it with the data tables needed to perform its functions. It is an [emph internal] package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script. [vset CATEGORY stringprep] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/stringprep/unicode.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin unicode n 1.0.0] [copyright {2007, Sergei Golovan <[email protected]>}] [moddesc {Unicode normalization}] [titledesc {Implementation of Unicode normalization}] [require Tcl 8.3] [require unicode 1.0] [description] [para] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin unicode n 1.0.0] [see_also stringprep(n)] [keywords normalization] [keywords unicode] [copyright {2007, Sergei Golovan <[email protected]>}] [moddesc {Unicode normalization}] [titledesc {Implementation of Unicode normalization}] [require Tcl 8.3] [require unicode 1.0] [description] [para] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | [enum] "Unicode Standard Annex #15: Unicode Normalization Forms", ([uri http://unicode.org/reports/tr15/]) [list_end] | < < | < | < < < < < < < < < < < | 71 72 73 74 75 76 77 78 79 80 81 82 83 | [enum] "Unicode Standard Annex #15: Unicode Normalization Forms", ([uri http://unicode.org/reports/tr15/]) [list_end] [section "AUTHORS"] Sergei Golovan [vset CATEGORY stringprep] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/stringprep/unicode_data.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin unicode::data n 1.0.0] [copyright {2007, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {unicode data tables, generated, internal}] [require Tcl 8.3] [require unicode::data 1.0.0] [description] [para] The [package unicode::data] package is a helper for [package unicode], providing it with the data tables needed to perform its functions. It is an [emph internal] package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script. | > > | < | < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin unicode::data n 1.0.0] [keywords stringprep] [keywords unicode] [copyright {2007, Sergei Golovan <[email protected]>}] [moddesc {Preparation of Internationalized Strings}] [titledesc {unicode data tables, generated, internal}] [require Tcl 8.3] [require unicode::data 1.0.0] [description] [para] The [package unicode::data] package is a helper for [package unicode], providing it with the data tables needed to perform its functions. It is an [emph internal] package which should not be accessed on its own. Because of that it has no publicly documented API either. Its implementation is generated by a script. [vset CATEGORY stringprep] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/disjointset.man.
1 2 3 4 5 6 7 8 | [manpage_begin struct::disjointset n 1.0] [moddesc {Tcl Data Structures}] [titledesc {Disjoint set data structure}] [category {Data structures}] [require Tcl 8.4] [require struct::disjointset [opt 1.0]] [description] [para] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin struct::disjointset n 1.0] [keywords {disjoint set}] [keywords {equivalence class}] [keywords find] [keywords {merge find}] [keywords partition] [keywords {partitioned set}] [keywords union] [moddesc {Tcl Data Structures}] [titledesc {Disjoint set data structure}] [category {Data structures}] [require Tcl 8.4] [require struct::disjointset [opt 1.0]] [description] [para] |
︙ | ︙ | |||
88 89 90 91 92 93 94 | The [cmd option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for disjointset objects: [list_end] | < < < < < < < < < < < < < | < | < < < < < | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | The [cmd option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for disjointset objects: [list_end] [call [arg disjointsetName] [method add-partition] [arg elements]] Creates a new partition in specified disjoint set, and fills it with the values found in the set of [arg elements]. The command maintains the integrity of the disjoint set, i.e. it verifies that none of the [arg elements] are already part of the disjoint set and throws an error otherwise. [para] The result of the command is the empty string. [call [arg disjointsetName] [method partitions]] Returns the set of partitions the named disjoint set currently consists of. [call [arg disjointsetName] [method num-partitions]] Returns the number of partitions the named disjoint set currently consists of. [call [arg disjointsetName] [method equal] [arg a] [arg b]] Determines if the two elements [arg a] and [arg b] of the disjoint set belong to the same partition. The result of the method is a boolean value, [const True] if the two elements are contained in the same partition, and [const False] otherwise. [para] An error will be thrown if either [arg a] or [arg b] are not elements of the disjoint set. [call [arg disjointsetName] [method merge] [arg a] [arg b]] Determines the partitions the elements [arg a] and [arg b] are contained in and merges them into a single partition. If the two elements were already contained in the same partition nothing will change. [para] The result of the method is the empty string. [call [arg disjointsetName] [method find] [arg e]] Returns the partition of the disjoint set which contains the element [arg e]. [call [arg disjointsetName] [method destroy]] Destroys the disjoint set object and all associated memory. [list_end] [vset CATEGORY {struct :: disjointset}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/graph.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*-}] [manpage_begin struct::graph n 2.4] [copyright {2002-2009 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate directed graph objects}] [category {Data structures}] [require Tcl 8.4] [require struct::graph [opt 2.4]] [require struct::list [opt 1.5]] [require struct::set [opt 2.2.3]] [description] [para] | > > > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [comment {-*- tcl -*-}] [manpage_begin struct::graph n 2.4] [keywords adjacent] [keywords arc] [keywords cgraph] [keywords degree] [keywords edge] [keywords graph] [keywords loop] [keywords neighbour] [keywords node] [keywords serialization] [keywords subgraph] [keywords vertex] [copyright {2002-2009 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate directed graph objects}] [category {Data structures}] [require Tcl 8.4] [require struct::graph [opt 2.4]] [require struct::list [opt 1.5]] [require struct::set [opt 2.2.3]] [description] [para] A directed graph is a structure containing two collections of elements, called [term nodes] and [term arcs] respectively, together with a relation ("connectivity") that places a general structure upon the nodes and arcs. [para] |
︙ | ︙ | |||
110 111 112 113 114 115 116 | is equivalent to [para] [example { ::struct::graph mygraph mygraph = b }] [para] | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | is equivalent to [para] [example { ::struct::graph mygraph mygraph = b }] [para] and [para] [example { ::struct::graph mygraph deserialize $b }] [para] is equivalent to [para] |
︙ | ︙ | |||
152 153 154 155 156 157 158 | [para] The operation assumes that the [arg sourcegraph] provides the method [method serialize] and that this method returns a valid graph serialization. | < | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | [para] The operation assumes that the [arg sourcegraph] provides the method [method serialize] and that this method returns a valid graph serialization. [call [arg graphName] [method -->] [arg destgraph]] This is the [term {reverse assignment}] operator for graph objects. It copies the graph contained in the graph object [arg graphName] over the graph data in the object [arg destgraph]. The old contents of [arg destgraph] are deleted by this operation. |
︙ | ︙ | |||
174 175 176 177 178 179 180 | [example_end] [para] The operation assumes that the [arg destgraph] provides the method [method deserialize] and that this method takes a graph serialization. | < < < < < | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 | [example_end] [para] The operation assumes that the [arg destgraph] provides the method [method deserialize] and that this method takes a graph serialization. [call [arg graphName] [method append] [arg key] [arg value]] Appends a [arg value] to one of the keyed values associated with the graph. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method deserialize] [arg serialization]] This is the complement to [method serialize]. It replaces the graph data in [arg graphName] with the graph described by the [arg serialization] value. The old contents of [arg graphName] are deleted by this operation. [call [arg graphName] [method destroy]] Destroys the graph, including its storage space and associated command. [call [arg graphName] [method {arc append}] [arg arc] [arg key] [arg value]] Appends a [arg value] to one of the keyed values associated with an [arg arc]. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method {arc attr}] [arg key]] [call [arg graphName] [method {arc attr}] [arg key] [option -arcs] [arg list]] [call [arg graphName] [method {arc attr}] [arg key] [option -glob] [arg globpattern]] [call [arg graphName] [method {arc attr}] [arg key] [option -regexp] [arg repattern]] This method retrieves the value of the attribute named [arg key], for |
︙ | ︙ | |||
240 241 242 243 244 245 246 | The value is a regular expression. Only the arcs in the graph whose names match this pattern are searched for the attribute. [list_end] [para] | < < < < < < < < < < < < < | | | < < < < < < < < < < < < < | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | The value is a regular expression. Only the arcs in the graph whose names match this pattern are searched for the attribute. [list_end] [para] [call [arg graphName] [method {arc delete}] [arg arc] [opt "[arg arc] ..."]] Remove the specified arcs from the graph. [call [arg graphName] [method {arc exists}] [arg arc]] Return true if the specified [arg arc] exists in the graph. [call [arg graphName] [method {arc flip}] [arg arc]] Reverses the direction of the named [arg arc], i.e. the source and target nodes of the arc are exchanged with each other. [call [arg graphName] [method {arc get}] [arg arc] [arg key]] Returns the value associated with the key [arg key] for the [arg arc]. [call [arg graphName] [method {arc getall}] [arg arc] [opt [arg pattern]]] Returns a dictionary (suitable for use with [lb][cmd {array set}][rb]) for the [arg arc]. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned dictionary. The pattern is a [cmd glob] pattern. [call [arg graphName] [method {arc getunweighted}]] Returns a list containing the names of all arcs in the graph which have no weight associated with them. [call [arg graphName] [method {arc getweight}] [arg arc]] Returns the weight associated with the [arg arc]. Throws an error if the arc has no weight associated with it. [call [arg graphName] [method {arc keys}] [arg arc] [opt [arg pattern]]] Returns a list of keys for the [arg arc]. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned list. The pattern is a [cmd glob] pattern. [call [arg graphName] [method {arc keyexists}] [arg arc] [arg key]] Return true if the specified [arg key] exists for the [arg arc]. [call [arg graphName] [method {arc insert}] [arg start] [arg end] [opt [arg child]]] Insert an arc named [arg child] into the graph beginning at the node [arg start] and ending at the node [arg end]. If the name of the new arc is not specified the system will generate a unique name of the form [emph arc][arg x]. [call [arg graphName] [method {arc lappend}] [arg arc] [arg key] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg arc]. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method {arc rename}] [arg arc] [arg newname]] Renames the arc [arg arc] to [arg newname]. An error is thrown if either the arc does not exist, or a arc with name [arg newname] does exist. The result of the command is the new name of the arc. [call [arg graphName] [method {arc set}] [arg arc] [arg key] [opt [arg value]]] Set or get one of the keyed values associated with an arc. An arc may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key, and returns that value. [call [arg graphName] [method {arc setunweighted}] [opt [arg weight]]] Sets the weight of all arcs without a weight to [arg weight]. Returns the empty string as its result. If not present [arg weight] defaults to [const 0]. [call [arg graphName] [method {arc setweight}] [arg arc] [arg weight]] Sets the weight of the [arg arc] to [arg weight]. Returns [arg weight]. [call [arg graphName] [method {arc unsetweight}] [arg arc]] Removes the weight of the [arg arc], if present. Does nothing otherwise. Returns the empty string. [call [arg graphName] [method {arc hasweight}] [arg arc]] Determines if the [arg arc] has a weight associated with it. The result is a boolean value, [const True] if a weight is defined, and [const False] otherwise. [call [arg graphName] [method {arc source}] [arg arc]] Return the node the given [arg arc] begins at. [call [arg graphName] [method {arc target}] [arg arc]] Return the node the given [arg arc] ends at. [call [arg graphName] [method {arc nodes}] [arg arc]] Return the nodes the given [arg arc] begins and ends at, as a two-element list. [call [arg graphName] [method {arc move-source}] [arg arc] [arg newsource]] Changes the source node of the arc to [arg newsource]. It can be said that the arc rotates around its target node. [call [arg graphName] [method {arc move-target}] [arg arc] [arg newtarget]] Changes the target node of the arc to [arg newtarget]. It can be said that the arc rotates around its source node. [call [arg graphName] [method {arc move}] [arg arc] [arg newsource] [arg newtarget]] Changes both source and target nodes of the arc to [arg newsource], and [arg newtarget] resp. [call [arg graphName] [method {arc unset}] [arg arc] [arg key]] Remove a keyed value from the arc [arg arc]. The method will do nothing if the [arg key] does not exist. [call [arg graphName] [method {arc weights}]] Returns a dictionary whose keys are the names of all arcs which have a weight associated with them, and the values are these weights. [call [arg graphName] [method arcs] [opt "-key [arg key]"] [opt "-value [arg value]"] [opt "-filter [arg cmdprefix]"] [opt "-in|-out|-adj|-inner|-embedding [arg {node node...}]"]] Returns a list of arcs in the graph. If no restriction is specified a list containing all arcs is returned. Restrictions can limit the list of returned arcs based on the nodes that are connected by the arc, on the keyed values associated with the arc, or both. A general filter |
︙ | ︙ | |||
477 478 479 480 481 482 483 | [def "[option -value] [arg value]"] This restriction can only be used in combination with [option -key]. It limits the list of arcs that are returned to those arcs whose associated key [arg key] has the value [arg value]. | < < < < | 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 | [def "[option -value] [arg value]"] This restriction can only be used in combination with [option -key]. It limits the list of arcs that are returned to those arcs whose associated key [arg key] has the value [arg value]. [def "[option -filter] [arg cmdrefix]"] Limit the list of arcs that are returned to those arcs that pass the test. The command in [arg cmdprefix] is called with two arguments, the name of the graph object, and the name of the arc in question. It is executed in the context of the caller and has to return a boolean value. Arcs for which the command returns [const false] are removed from the result list before it is returned to the caller. [list_end] [call [arg graphName] [method lappend] [arg key] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with the graph. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method {node append}] [arg node] [arg key] [arg value]] Appends a [arg value] to one of the keyed values associated with an [arg node]. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method {node attr}] [arg key]] [call [arg graphName] [method {node attr}] [arg key] [option -nodes] [arg list]] [call [arg graphName] [method {node attr}] [arg key] [option -glob] [arg globpattern]] [call [arg graphName] [method {node attr}] [arg key] [option -regexp] [arg repattern]] This method retrieves the value of the attribute named [arg key], for |
︙ | ︙ | |||
543 544 545 546 547 548 549 | The value is a regular expression. Only the nodes in the graph whose names match this pattern are searched for the attribute. [list_end] [para] | < < < < < < < < < < < < < < | 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 | The value is a regular expression. Only the nodes in the graph whose names match this pattern are searched for the attribute. [list_end] [para] [call [arg graphName] [method {node degree}] [opt -in|-out] [arg node]] Return the number of arcs adjacent to the specified [arg node]. If one of the restrictions [option -in] or [option -out] is given only the incoming resp. outgoing arcs are counted. [call [arg graphName] [method {node delete}] [arg node] [opt "[arg node]..."]] Remove the specified nodes from the graph. All of the nodes' arcs will be removed as well to prevent unconnected arcs. [call [arg graphName] [method {node exists}] [arg node]] Return true if the specified [arg node] exists in the graph. [call [arg graphName] [method {node get}] [arg node] [arg key]] Return the value associated with the key [arg key] for the [arg node]. [call [arg graphName] [method {node getall}] [arg node] [opt [arg pattern]]] Returns a dictionary (suitable for use with [lb][cmd {array set}][rb]) for the [arg node]. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned dictionary. The pattern is a [cmd glob] pattern. [call [arg graphName] [method {node keys}] [arg node] [opt [arg pattern]]] Returns a list of keys for the [arg node]. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned list. The pattern is a [cmd glob] pattern. [call [arg graphName] [method {node keyexists}] [arg node] [arg key]] Return true if the specified [arg key] exists for the [arg node]. [call [arg graphName] [method {node insert}] [opt [arg node]...]] Insert one or more nodes into the graph. The new nodes have no arcs connected to them. If no node is specified one node will be inserted, and the system will generate a unique name of the form [emph node][arg x] for it. [call [arg graphName] [method {node lappend}] [arg node] [arg key] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg node]. Returns the new value given to the attribute [arg key]. [call [arg graphName] [method {node opposite}] [arg node] [arg arc]] Return the node at the other end of the specified [arg arc], which has to be adjacent to the given [arg node]. [call [arg graphName] [method {node rename}] [arg node] [arg newname]] Renames the node [arg node] to [arg newname]. An error is thrown if either the node does not exist, or a node with name [arg newname] does exist. The result of the command is the new name of the node. [call [arg graphName] [method {node set}] [arg node] [arg key] [opt [arg value]]] Set or get one of the keyed values associated with a node. A node may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg graphName] [method {node unset}] [arg node] [arg key]] Remove a keyed value from the node [arg node]. The method will do nothing if the [arg key] does not exist. [call [arg graphName] [method nodes] [opt "-key [arg key]"] [opt "-value [arg value]"] [opt "-filter [arg cmdprefix]"] [opt "-in|-out|-adj|-inner|-embedding [arg node] [arg node]..."]] Return a list of nodes in the graph. Restrictions can limit the list of returned nodes based on neighboring nodes, or based on the keyed values associated with the node. The restrictions that involve neighboring nodes have a list of nodes as argument, specified after |
︙ | ︙ | |||
702 703 704 705 706 707 708 | name of the graph object, and the name of the node in question. It is executed in the context of the caller and has to return a boolean value. Nodes for which the command returns [const false] are removed from the result list before it is returned to the caller. [list_end] | < < < < < | 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 | name of the graph object, and the name of the node in question. It is executed in the context of the caller and has to return a boolean value. Nodes for which the command returns [const false] are removed from the result list before it is returned to the caller. [list_end] [call [arg graphName] [method get] [arg key]] Return the value associated with the key [arg key] for the graph. [call [arg graphName] [method getall] [opt [arg pattern]]] Returns a dictionary (suitable for use with [lb][cmd {array set}][rb]) for the whole graph. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned dictionary. The pattern is a [cmd glob] pattern. [call [arg graphName] [method keys] [opt [arg pattern]]] Returns a list of keys for the whole graph. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned list. The pattern is a [cmd glob] pattern. [call [arg graphName] [method keyexists] [arg key]] Return true if the specified [arg key] exists for the whole graph. [call [arg graphName] [method serialize] [opt [arg node]...]] This method serializes the sub-graph spanned up by the [arg node]s. In other words it returns a tcl value completely describing that graph. If no nodes are specified the whole graph will be serialized. |
︙ | ︙ | |||
844 845 846 847 848 849 850 | # # %3 {} {{f 6 {}}} %0 {} {{a 6 {}} {b 9 {}} {c 0 {}}} %1 {} {{d 9 {}}} %2 {} {{e 0 {}}} {} # # This assumes that the graph has neither attribute data nor weighted arcs. }] [para] | < < < < | 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 | # # %3 {} {{f 6 {}}} %0 {} {{a 6 {}} {b 9 {}} {c 0 {}}} %1 {} {{d 9 {}}} %2 {} {{e 0 {}}} {} # # This assumes that the graph has neither attribute data nor weighted arcs. }] [para] [call [arg graphName] [method set] [arg key] [opt [arg value]]] Set or get one of the keyed values associated with a graph. A graph may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg graphName] [method swap] [arg node1] [arg node2]] Swap the position of [arg node1] and [arg node2] in the graph. [call [arg graphName] [method unset] [arg key]] Remove a keyed value from the graph. The method will do nothing if the [arg key] does not exist. [call [arg graphName] [method walk] [arg node] \ [opt "-order [arg order]"] \ [opt "-type [arg type]"] \ [opt "-dir [arg direction]"] \ -command [arg cmd]] |
︙ | ︙ | |||
911 912 913 914 915 916 917 | each node, with the mode of the call ([const enter] or [const leave]) and values [arg graphName] and the name of the current node appended. For a pre-order walk, all nodes are [const enter]ed, for a post-order all nodes are left. In a both-order walk the first visit of a node [const enter]s it, the second visit [const leave]s it. [list_end] | < | 863 864 865 866 867 868 869 870 871 872 873 874 875 876 | each node, with the mode of the call ([const enter] or [const leave]) and values [arg graphName] and the name of the current node appended. For a pre-order walk, all nodes are [const enter]ed, for a post-order all nodes are left. In a both-order walk the first visit of a node [const enter]s it, the second visit [const leave]s it. [list_end] [section {Changes for 2.0}] The following noteworthy changes have occurred: [list_begin enumerated] [enum] |
︙ | ︙ | |||
968 969 970 971 972 973 974 | [para] Beyond the copying of whole graph objects these new API's also enable the transfer of graph objects over arbitrary channels and for easy persistence. | < < < < < < < < | < | < < < < < < < | 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 | [para] Beyond the copying of whole graph objects these new API's also enable the transfer of graph objects over arbitrary channels and for easy persistence. [enum] A new method, [method attr], was added to both [method arc] and [method node] allowing the query and retrieval of attribute data without regard to arc and node relationships. [enum] Both methods [method arcs] and [method nodes] have been extended with the ability to select arcs and nodes based on an arbitrary filtering criterium. [list_end] [vset CATEGORY {struct :: graph}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/graph1.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin {struct::graph_v1} n 1.2.1] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate directed graph objects}] [category {Data structures}] [require Tcl 8.2] [require struct::graph [opt 1.2.1]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*-}] [manpage_begin {struct::graph_v1} n 1.2.1] [keywords cgraph] [keywords graph] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate directed graph objects}] [category {Data structures}] [require Tcl 8.2] [require struct::graph [opt 1.2.1]] [description] |
︙ | ︙ | |||
66 67 68 69 70 71 72 | [call [arg graphName] [method {arc append}] [arg arc] [opt "-key [arg key]"] [arg value]] Appends a [arg value] to one of the keyed values associated with an [arg arc]. If no [arg key] is specified, the key [const data] is assumed. | < < < < < < < < < < < < | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | [call [arg graphName] [method {arc append}] [arg arc] [opt "-key [arg key]"] [arg value]] Appends a [arg value] to one of the keyed values associated with an [arg arc]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {arc delete}] [arg arc] [opt "[arg arc] ..."]] Remove the specified arcs from the graph. [call [arg graphName] [method {arc exists}] [arg arc]] Return true if the specified [arg arc] exists in the graph. [call [arg graphName] [method {arc get}] [arg arc] [opt "-key [arg key]"]] Return the value associated with the key [arg key] for the [arg arc]. If no key is specified, the key [const data] is assumed. [call [arg graphName] [method {arc getall}] [arg arc]] Returns a serialized list of key/value pairs (suitable for use with [lb][cmd {array set}][rb]) for the [arg arc]. [call [arg graphName] [method {arc keys}] [arg arc]] Returns a list of keys for the [arg arc]. [call [arg graphName] [method {arc keyexists}] [arg arc] [opt "-key [arg key]"]] Return true if the specified [arg key] exists for the [arg arc]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {arc insert}] [arg start] [arg end] [opt [arg child]]] Insert an arc named [arg child] into the graph beginning at the node [arg start] and ending at the node [arg end]. If the name of the new arc is not specified the system will generate a unique name of the form [emph arc][arg x]. [call [arg graphName] [method {arc lappend}] [arg arc] [opt "-key [arg key]"] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg arc]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {arc set}] [arg arc] [opt "-key [arg key]"] [opt [arg value]]] Set or get one of the keyed values associated with an arc. If no key is specified, the key [const data] is assumed. Each arc that is added to a graph has the empty string assigned to the key [const data] automatically. An arc may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg graphName] [method {arc source}] [arg arc]] Return the node the given [arg arc] begins at. [call [arg graphName] [method {arc target}] [arg arc]] Return the node the given [arg arc] ends at. [call [arg graphName] [method {arc unset}] [arg arc] [opt "-key [arg key]"]] Remove a keyed value from the arc [arg arc]. If no key is specified, the key [const data] is assumed. [call [arg graphName] [method arcs] [opt "-key [arg key]"] [opt "-value [arg value]"] [opt "-in|-out|-adj|-inner|-embedding [arg nodelist]"]] Return a list of arcs in the graph. If no restriction is specified a list containing all arcs is returned. Restrictions can limit the list of returned arcs based on the nodes that are connected by the arc, on the keyed values associated with the arc, or both. The restrictions |
︙ | ︙ | |||
206 207 208 209 210 211 212 | first. Specifying more than one of them is illegal. At last the restrictions set via [option -key] (and [option -value]) are applied. Specifying more than one [option -key] (and [option -value]) is illegal. | < < < < < < < < < < < | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 | first. Specifying more than one of them is illegal. At last the restrictions set via [option -key] (and [option -value]) are applied. Specifying more than one [option -key] (and [option -value]) is illegal. [call [arg graphName] [method {node append}] [arg node] [opt "-key [arg key]"] [arg value]] Appends a [arg value] to one of the keyed values associated with an [arg node]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {node degree}] [opt -in|-out] [arg node]] Return the number of arcs adjacent to the specified [arg node]. If one of the restrictions [option -in] or [option -out] is given only the incoming resp. outgoing arcs are counted. [call [arg graphName] [method {node delete}] [arg node] [opt "[arg node] ..."]] Remove the specified nodes from the graph. All of the nodes' arcs will be removed as well to prevent unconnected arcs. [call [arg graphName] [method {node exists}] [arg node]] Return true if the specified [arg node] exists in the graph. [call [arg graphName] [method {node get}] [arg node] [opt "-key [arg key]"]] Return the value associated with the key [arg key] for the [arg node]. If no key is specified, the key [const data] is assumed. [call [arg graphName] [method {node getall}] [arg node]] Returns a serialized list of key/value pairs (suitable for use with [lb][cmd {array set}][rb]) for the [arg node]. [call [arg graphName] [method {node keys}] [arg node]] Returns a list of keys for the [arg node]. [call [arg graphName] [method {node keyexists}] [arg node] [opt "-key [arg key]"]] Return true if the specified [arg key] exists for the [arg node]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {node insert}] [opt [arg child]]] Insert a node named [arg child] into the graph. The nodes has no arcs connected to it. If the name of the new child is not specified the system will generate a unique name of the form [emph node][arg x]. [call [arg graphName] [method {node lappend}] [arg node] [opt "-key [arg key]"] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg node]. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method {node opposite}] [arg node] [arg arc]] Return the node at the other end of the specified [arg arc], which has to be adjacent to the given [arg node]. [call [arg graphName] [method {node set}] [arg node] [opt "-key [arg key]"] [opt [arg value]]] Set or get one of the keyed values associated with a node. If no key is specified, the key [const data] is assumed. Each node that is added to a graph has the empty string assigned to the key [const data] automatically. A node may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg graphName] [method {node unset}] [arg node] [opt "-key [arg key]"]] Remove a keyed value from the node [arg node]. If no key is specified, the key [method data] is assumed. [call [arg graphName] [method nodes] [opt "-key [arg key]"] [opt "-value [arg value]"] [opt "-in|-out|-adj|-inner|-embedding [arg nodelist]"]] |
︙ | ︙ | |||
306 307 308 309 310 311 312 | The possible restrictions are the same as for method [method arcs]. The set of nodes to return is computed as the union of all source and target nodes for all the arcs satisfying the restriction as defined for [method arcs]. | < < < < < < < | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 | The possible restrictions are the same as for method [method arcs]. The set of nodes to return is computed as the union of all source and target nodes for all the arcs satisfying the restriction as defined for [method arcs]. [call [arg graphName] [method get] [opt "-key [arg key]"]] Return the value associated with the key [arg key] for the graph. If no key is specified, the key [const data] is assumed. [call [arg graphName] [method getall]] Returns a serialized list of key/value pairs (suitable for use with [lb][cmd {array set}][rb]) for the whole graph. [call [arg graphName] [method keys]] Returns a list of keys for the whole graph. [call [arg graphName] [method keyexists] [opt "-key [arg key]"]] Return true if the specified [arg key] exists for the whole graph. If no [arg key] is specified, the key [const data] is assumed. [call [arg graphName] [method set] [opt "-key [arg key]"] [opt [arg value]]] Set or get one of the keyed values associated with a graph. If no key is specified, the key [const data] is assumed. Each graph has the empty string assigned to the key [const data] automatically. A graph may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg graphName] [method swap] [arg node1] [arg node2]] Swap the position of [arg node1] and [arg node2] in the graph. [call [arg graphName] [method unset] [opt "-key [arg key]"]] Remove a keyed value from the graph. If no key is specified, the key [const data] is assumed. [call [arg graphName] [method walk] [arg node] [opt "-order [arg order]"] [opt "-type [arg type]"] [opt "-dir [arg direction]"] -command [arg cmd]] |
︙ | ︙ | |||
394 395 396 397 398 399 400 | [const leave]) and values [arg graphName] and the name of the current node appended. For a pre-order walk, all nodes are [const enter]ed, for a post-order all nodes are left. In a both-order walk the first visit of a node [const enter]s it, the second visit [const leave]s it. [list_end] | < < < < < | < | < < < < < | 366 367 368 369 370 371 372 373 374 375 | [const leave]) and values [arg graphName] and the name of the current node appended. For a pre-order walk, all nodes are [const enter]ed, for a post-order all nodes are left. In a both-order walk the first visit of a node [const enter]s it, the second visit [const leave]s it. [list_end] [vset CATEGORY {struct :: graph}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/graphops.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::graph::op n 0.11.3] [copyright {2008 Alejandro Paz <[email protected]>}] [copyright {2008 (docs) Andreas Kupries <[email protected]>}] [copyright {2009 Michal Antoniewski <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Operation for (un)directed graph objects}] [category {Data structures}] [require Tcl 8.4] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | [comment {-*- tcl -*-}] [manpage_begin struct::graph::op n 0.11.3] [keywords {adjacency list}] [keywords {adjacency matrix}] [keywords adjacent] [keywords {approximation algorithm}] [keywords arc] [keywords {articulation point}] [keywords {augmenting network}] [keywords {augmenting path}] [keywords bfs] [keywords bipartite] [keywords {blocking flow}] [keywords bridge] [keywords {complete graph}] [keywords {connected component}] [keywords {cut edge}] [keywords {cut vertex}] [keywords degree] [keywords {degree constrained spanning tree}] [keywords diameter] [keywords dijkstra] [keywords distance] [keywords eccentricity] [keywords edge] [keywords {flow network}] [keywords graph] [keywords heuristic] [keywords {independent set}] [keywords isthmus] [keywords {level graph}] [keywords {local searching}] [keywords loop] [keywords matching] [keywords {max cut}] [keywords {maximum flow}] [keywords {minimal spanning tree}] [keywords {minimum cost flow}] [keywords {minimum degree spanning tree}] [keywords {minimum diameter spanning tree}] [keywords neighbour] [keywords node] [keywords radius] [keywords {residual graph}] [keywords {shortest path}] [keywords {squared graph}] [keywords {strongly connected component}] [keywords subgraph] [keywords {travelling salesman}] [keywords vertex] [keywords {vertex cover}] [copyright {2008 Alejandro Paz <[email protected]>}] [copyright {2008 (docs) Andreas Kupries <[email protected]>}] [copyright {2009 Michal Antoniewski <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Operation for (un)directed graph objects}] [category {Data structures}] [require Tcl 8.4] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | [para] Note that the matrix is symmetric. It does not represent the directionality of arcs, only their presence between nodes. It is also unable to represent parallel arcs in [arg g]. | < < | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [para] Note that the matrix is symmetric. It does not represent the directionality of arcs, only their presence between nodes. It is also unable to represent parallel arcs in [arg g]. [call [cmd struct::graph::op::toAdjacencyList] [arg G] [opt [arg options]...]] Procedure creates for input graph [arg G], it's representation as [term "Adjacency List"]. It handles both directed and undirected graphs (default is undirected). It returns dictionary that for each node (key) returns list of nodes adjacent to it. When considering weighted version, for each adjacent node there is also weight of the edge included. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph object} G input] |
︙ | ︙ | |||
84 85 86 87 88 89 90 | Using this option tells the command to put weight information into the result. In that case it is expected that all arcs have a proper weight, and an error is thrown if that is not the case. [list_end][comment {-- options --}] [list_end][comment {-- definitions --}] | < < | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | Using this option tells the command to put weight information into the result. In that case it is expected that all arcs have a proper weight, and an error is thrown if that is not the case. [list_end][comment {-- options --}] [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::kruskal] [arg g]] This command takes the graph [arg g] and returns a list containing the names of the arcs in [arg g] which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Kruskal's algorithm is used to compute the tree or forest. |
︙ | ︙ | |||
108 109 110 111 112 113 114 | weight associated with them. [para] A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already. | < < | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | weight associated with them. [para] A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already. [call [cmd struct::graph::op::prim] [arg g]] This command takes the graph [arg g] and returns a list containing the names of the arcs in [arg g] which span up a minimum weight spanning tree (MST), or, in the case of an un-connected graph, a minimum weight spanning forest (except for the 1-vertex components). Prim's algorithm is used to |
︙ | ︙ | |||
135 136 137 138 139 140 141 | [para] A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already. | < < < < < < < < < < < < < < < | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 | [para] A note regarding the result, the command refrains from explicitly listing the nodes of the MST as this information is implicitly provided in the arcs already. [call [cmd struct::graph::op::isBipartite?] [arg g] [opt [arg bipartvar]]] This command takes the graph [arg g] and returns a boolean value indicating whether it is bipartite ([const true]) or not ([const false]). If the variable [arg bipartvar] is specified the two partitions of the graph are there as a list, if, and only if the graph is bipartit. If it is not the variable, if specified, is not touched. [call [cmd struct::graph::op::tarjan] [arg g]] This command computes the set of [emph {strongly connected}] components (SCCs) of the graph [arg g]. The result of the command is a list of sets, each of which contains the nodes for one of the SCCs of [arg g]. The union of all SCCs covers the whole graph, and no two SCCs intersect with each other. [para] The graph [arg g] is [term acyclic] if all SCCs in the result contain only a single node. The graph [arg g] is [term {strongly connected}] if the result contains only a single SCC containing all nodes of [arg g]. [call [cmd struct::graph::op::connectedComponents] [arg g]] This command computes the set of [emph connected] components (CCs) of the graph [arg g]. The result of the command is a list of sets, each of which contains the nodes for one of the CCs of [arg g]. The union of all CCs covers the whole graph, and no two CCs intersect with each other. [para] The graph [arg g] is [term connected] if the result contains only a single SCC containing all nodes of [arg g]. [call [cmd struct::graph::op::connectedComponentOf] [arg g] [arg n]] This command computes the [emph connected] component (CC) of the graph [arg g] containing the node [arg n]. The result of the command is a sets which contains the nodes for the CC of [arg n] in [arg g]. [para] The command will throw an error if [arg n] is not a node of the graph [arg g]. [call [cmd struct::graph::op::isConnected?] [arg g]] This is a convenience command determining whether the graph [arg g] is [term connected] or not. The result is a boolean value, [const true] if the graph is connected, and [const false] otherwise. [call [cmd struct::graph::op::isCutVertex?] [arg g] [arg n]] This command determines whether the node [arg n] in the graph [arg g] is a [term {cut vertex}] (aka [term {articulation point}]). The result is a boolean value, [const true] if the node is a cut vertex, and [const false] otherwise. [para] The command will throw an error if [arg n] is not a node of the graph [arg g]. [call [cmd struct::graph::op::isBridge?] [arg g] [arg a]] This command determines whether the arc [arg a] in the graph [arg g] is a [term bridge] (aka [term {cut edge}], or [term isthmus]). The result is a boolean value, [const true] if the arc is a bridge, and [const false] otherwise. [para] The command will throw an error if [arg a] is not an arc of the graph [arg g]. [call [cmd struct::graph::op::isEulerian?] [arg g] [opt [arg tourvar]]] This command determines whether the graph [arg g] is [term eulerian] or not. The result is a boolean value, [const true] if the graph is eulerian, and [const false] otherwise. [para] If the graph is eulerian and [arg tourvar] is specified then an euler tour is computed as well and stored in the named variable. The tour is represented by the list of arcs traversed, in the order of traversal. [call [cmd struct::graph::op::isSemiEulerian?] [arg g] [opt [arg pathvar]]] This command determines whether the graph [arg g] is [term semi-eulerian] or not. The result is a boolean value, [const true] if the graph is semi-eulerian, and [const false] otherwise. [para] If the graph is semi-eulerian and [arg pathvar] is specified then an euler path is computed as well and stored in the named variable. The path is represented by the list of arcs traversed, in the order of traversal. [call [cmd struct::graph::op::dijkstra] [arg g] [arg start] [opt [arg options]...]] This command determines distances in the weighted [arg g] from the node [arg start] to all other nodes in the graph. The options specify how to traverse graphs, and the format of the result. |
︙ | ︙ | |||
281 282 283 284 285 286 287 | in the graph. For [const distances] the value is the distance of the node to [arg start], whereas for [const tree] the value is the path from the node to [arg start], excluding the node itself, but including [arg start]. Tree format is the default. [list_end] | < < < < < < | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 | in the graph. For [const distances] the value is the distance of the node to [arg start], whereas for [const tree] the value is the path from the node to [arg start], excluding the node itself, but including [arg start]. Tree format is the default. [list_end] [call [cmd struct::graph::op::distance] [arg g] [arg origin] [arg destination] [opt [arg options]...]] This command determines the (un)directed distance between the two nodes [arg origin] and [arg destination] in the graph [arg g]. It accepts the option [option -arcmode] of [cmd struct::graph::op::dijkstra]. [call [cmd struct::graph::op::eccentricity] [arg g] [arg n] [opt [arg options]...]] This command determines the (un)directed [term eccentricity] of the node [arg n] in the graph [arg g]. It accepts the option [option -arcmode] of [cmd struct::graph::op::dijkstra]. [para] The (un)directed [term eccentricity] of a node is the maximal (un)directed distance between the node and any other node in the graph. [call [cmd struct::graph::op::radius] [arg g] [opt [arg options]...]] This command determines the (un)directed [term radius] of the graph [arg g]. It accepts the option [option -arcmode] of [cmd struct::graph::op::dijkstra]. [para] The (un)directed [term radius] of a graph is the minimal (un)directed [term eccentricity] of all nodes in the graph. [call [cmd struct::graph::op::diameter] [arg g] [opt [arg options]...]] This command determines the (un)directed [term diameter] of the graph [arg g]. It accepts the option [option -arcmode] of [cmd struct::graph::op::dijkstra]. [para] The (un)directed [term diameter] of a graph is the maximal (un)directed [term eccentricity] of all nodes in the graph. [call [cmd struct::graph::op::BellmanFord] [arg G] [arg startnode]] Searching for [sectref {Shortest Path Problem} "shortests paths"] between chosen node and all other nodes in graph [arg G]. Based on relaxation method. In comparison to [cmd struct::graph::op::dijkstra] it doesn't need assumption that all weights on edges in input graph [arg G] have to be positive. |
︙ | ︙ | |||
358 359 360 361 362 363 364 | Dictionary containing for each node (key) distances to each other node in graph [arg G]. [list_end][comment {-- definitions --}] [para] [emph Note:] If algorithm finds a negative cycle, it will return error message. | < < | 380 381 382 383 384 385 386 387 388 389 390 391 392 393 | Dictionary containing for each node (key) distances to each other node in graph [arg G]. [list_end][comment {-- definitions --}] [para] [emph Note:] If algorithm finds a negative cycle, it will return error message. [call [cmd struct::graph::op::Johnsons] [arg G] [opt [arg options]...]] Searching for [sectref {Shortest Path Problem} "shortest paths"] between all pairs of vertices in graph. For sparse graphs asymptotically quicker than [cmd struct::graph::op::FloydWarshall] algorithm. Johnson's algorithm uses [cmd struct::graph::op::BellmanFord] and [cmd struct::graph::op::dijkstra] as subprocedures. [para] |
︙ | ︙ | |||
390 391 392 393 394 395 396 | [list_end][comment {-- arguments --}] [def Options:] [list_begin options] [opt_def -filter] | | < < | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | [list_end][comment {-- arguments --}] [def Options:] [list_begin options] [opt_def -filter] Returns only existing distances, cuts all [term Inf] values for non-existing connections between pairs of nodes. [list_end][comment {-- options --}] [def Result:] Dictionary containing distances between all pairs of vertices. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::FloydWarshall] [arg G]] Searching for [sectref {Shortest Path Problem} "shortest paths"] between all pairs of edges in weighted graphs.[para] Time complexity: [term O(V^3)] - where [term V] is number of vertices.[para] Memory complexity: [term O(V^2)]. [para] |
︙ | ︙ | |||
427 428 429 430 431 432 433 | [def Result:] Dictionary containing shortest distances to each node from each node. [list_end][comment {-- definitions --}] [emph Note:] Algorithm finds solutions dynamically. It compares all possible paths through the graph between each pair of vertices. Graph shouldn't possess any cycle with negative | | | < < | 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 | [def Result:] Dictionary containing shortest distances to each node from each node. [list_end][comment {-- definitions --}] [emph Note:] Algorithm finds solutions dynamically. It compares all possible paths through the graph between each pair of vertices. Graph shouldn't possess any cycle with negative sum of weights (the presence of such cycles means there is no shortest path, since the total weight becomes lower each time the cycle is traversed). [para] On the other hand algorithm can be used to find those cycles - if any shortest distance found by algorithm for any nodes [term v] and [term u] (when [term v] is the same node as [term u]) is negative, that node surely belong to at least one negative cycle. [call [cmd struct::graph::op::MetricTravellingSalesman] [arg G]] Algorithm for solving a metric variation of [sectref {Travelling Salesman Problem} "Travelling salesman problem"]. [term "TSP problem"] is [term NP-Complete], so there is no efficient algorithm to solve it. Greedy methods are getting extremely slow, with the increase in the set of nodes. |
︙ | ︙ | |||
459 460 461 462 463 464 465 | [def Result:] Approximated solution of minimum [term "Hamilton Cycle"] - closed path visiting all nodes, each exactly one time. [list_end][comment {-- definitions --}] [emph Note:] [sectref {Approximation algorithm} "It's 2-approximation algorithm."] | < < | 475 476 477 478 479 480 481 482 483 484 485 486 487 488 | [def Result:] Approximated solution of minimum [term "Hamilton Cycle"] - closed path visiting all nodes, each exactly one time. [list_end][comment {-- definitions --}] [emph Note:] [sectref {Approximation algorithm} "It's 2-approximation algorithm."] [call [cmd struct::graph::op::Christofides] [arg G]] Another algorithm for solving [sectref {Travelling Salesman Problem} "metric [term "TSP problem"]"]. Christofides implementation uses [term "Max Matching"] for reaching better approximation factor. [para] |
︙ | ︙ | |||
489 490 491 492 493 494 495 | [list_end][comment {-- definitions --}] [para] [emph Note:] [sectref {Approximation algorithm} "It's is a 3/2 approximation algorithm. "] | < < | 503 504 505 506 507 508 509 510 511 512 513 514 515 516 | [list_end][comment {-- definitions --}] [para] [emph Note:] [sectref {Approximation algorithm} "It's is a 3/2 approximation algorithm. "] [call [cmd struct::graph::op::GreedyMaxMatching] [arg G]] [term "Greedy Max Matching"] procedure, which finds [sectref {Matching Problem} "maximal matching"] (not maximum) for given graph [arg G]. It adds edges to solution, beginning from edges with the lowest cost. [para] |
︙ | ︙ | |||
512 513 514 515 516 517 518 | [list_end][comment {-- arguments --}] [def Result:] Set of edges - the max matching for graph [arg G]. [list_end][comment {-- definitions --}] | < < | 524 525 526 527 528 529 530 531 532 533 534 535 536 537 | [list_end][comment {-- arguments --}] [def Result:] Set of edges - the max matching for graph [arg G]. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::MaxCut] [arg G] [arg U] [arg V]] Algorithm solving a [sectref {Cut Problems} "Maximum Cut Problem"]. [para] [list_begin definitions] |
︙ | ︙ | |||
545 546 547 548 549 550 551 | [def Result:] Algorithm returns number of edges between found two sets of nodes. [list_end][comment {-- definitions --}] [emph Note:] [term MaxCut] is a [sectref {Approximation algorithm} "2-approximation algorithm."] | < < < < < | 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 | [def Result:] Algorithm returns number of edges between found two sets of nodes. [list_end][comment {-- definitions --}] [emph Note:] [term MaxCut] is a [sectref {Approximation algorithm} "2-approximation algorithm."] [call [cmd struct::graph::op::UnweightedKCenter] [arg G] [arg k]] Approximation algorithm that solves a [sectref {K-Center Problem} "k-center problem"]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Undirected complete graph [arg G], which satisfies triangle inequality.[para] [arg_def {Integer} k input] Positive integer that sets the number of nodes that will be included in [term "k-center"]. [list_end][comment {-- arguments --}] [def Result:] Set of nodes - [arg k] center for graph [arg G]. [list_end][comment {-- definitions --}] [emph Note:] [term UnweightedKCenter] is a [sectref {Approximation algorithm} "2-approximation algorithm."] [call [cmd struct::graph::op::WeightedKCenter] [arg G] [arg nodeWeights] [arg W]] Approximation algorithm that solves a weighted version of [sectref {K-Center Problem} "k-center problem"]. [para] [list_begin definitions] |
︙ | ︙ | |||
597 598 599 600 601 602 603 | [def Result:] Set of nodes, which is solution found by algorithm. [list_end][comment {-- definitions --}] [emph Note:][term WeightedKCenter] is a [sectref {Approximation algorithm} "3-approximation algorithm."] | < < < < < < | < < | 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 | [def Result:] Set of nodes, which is solution found by algorithm. [list_end][comment {-- definitions --}] [emph Note:][term WeightedKCenter] is a [sectref {Approximation algorithm} "3-approximation algorithm."] [call [cmd struct::graph::op::GreedyMaxIndependentSet] [arg G]] A [term "maximal independent set"] is an [term "independent set"] such that adding any other node to the set forces the set to contain an edge. [para] Algorithm for input graph [arg G] returns set of nodes (list), which are contained in Max Independent Set found by algorithm. [call [cmd struct::graph::op::GreedyWeightedMaxIndependentSet] [arg G] [arg nodeWeights]] Weighted variation of [term "Maximal Independent Set"]. It takes as an input argument not only graph [arg G] but also set of weights for all vertices in graph [arg G]. [para] [emph Note:] Read also [term "Maximal Independent Set"] description for more info. [call [cmd struct::graph::op::VerticesCover] [arg G]] [term "Vertices cover"] is a set of vertices such that each edge of the graph is incident to at least one vertex of the set. This 2-approximation algorithm searches for minimum [term "vertices cover"], which is a classical optimization problem in computer science and is a typical example of an [term "NP-hard"] optimization problem that has an approximation algorithm. For input graph [arg G] algorithm returns the set of edges (list), which is Vertex Cover found by algorithm. [call [cmd struct::graph::op::EdmondsKarp] [arg G] [arg s] [arg t]] Improved Ford-Fulkerson's algorithm, computing the [sectref {Flow Problems} "maximum flow"] in given flow network [arg G]. [para] [list_begin definitions] |
︙ | ︙ | |||
663 664 665 666 667 668 669 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge). [list_end][comment {-- definitions --}] [para] | | < < | | 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 | are equal to 0 are not returned ( it is like there was no link in the flow network between nodes connected by such edge). [list_end][comment {-- definitions --}] [para] The general idea of algorithm is finding the shortest augumenting paths in graph [arg G], as long as they exist, and for each path updating the edge's weights along that path, with maximum possible throughput. The final (maximum) flow is found when there is no other augumenting path from source to sink. [para] [emph Note:] Algorithm complexity : [term O(V*E)], where [term V] is the number of nodes and [term E] is the number of edges in graph [term G]. [call [cmd struct::graph::op::BusackerGowen] [arg G] [arg desiredFlow] [arg s] [arg t]] Algorithm finds solution for a [sectref {Flow Problems} "minimum cost flow problem"]. So, the goal is to find a flow, whose max value can be [arg desiredFlow], from source node [arg s] to sink node [arg t] in given flow network [arg G]. That network except throughputs at edges has also defined a non-negative cost on each edge - cost of using that edge when directing flow with that edge ( it can illustrate e.g. fuel usage, time or any other measure dependent on usages ). [para] [list_begin definitions] [def Arguments:] |
︙ | ︙ | |||
706 707 708 709 710 711 712 | Dictionary containing values of used throughputs for each edge ( key ). found by algorithm. [list_end][comment {-- definitions --}] [emph Note:] Algorithm complexity : [term O(V**2*desiredFlow)], where [term V] is the number of nodes in graph [arg G]. | < < | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 | Dictionary containing values of used throughputs for each edge ( key ). found by algorithm. [list_end][comment {-- definitions --}] [emph Note:] Algorithm complexity : [term O(V**2*desiredFlow)], where [term V] is the number of nodes in graph [arg G]. [call [cmd struct::graph::op::ShortestsPathsByBFS] [arg G] [arg s] [arg outputFormat]] Shortest pathfinding algorithm using BFS method. In comparison to [cmd struct::graph::op::dijkstra] it can work with negative weights on edges. Of course negative cycles are not allowed. Algorithm is better than dijkstra for sparse graphs, but also there exist some pathological cases (those cases generally don't appear in practise) that make time complexity increase exponentially with the growth of the number of nodes. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] |
︙ | ︙ | |||
740 741 742 743 744 745 746 | [opt_def paths] When selected [arg outputFormat] is [const paths] - procedure returns dictionary containing for each node [term v], a list of nodes, which is a path between source node [arg s] and node [term v]. [list_end][comment {-- options --}] | < < < < | 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 | [opt_def paths] When selected [arg outputFormat] is [const paths] - procedure returns dictionary containing for each node [term v], a list of nodes, which is a path between source node [arg s] and node [term v]. [list_end][comment {-- options --}] [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::BFS] [arg G] [arg s] [opt [arg outputFormat]...]] Breadth-First Search - algorithm creates the BFS Tree. Memory and time complexity: [term "O(V + E)"], where [term V] is the number of nodes and [term E] is number of edges. |
︙ | ︙ | |||
780 781 782 783 784 785 786 | When selected [option outputFormat] is [option tree] - procedure returns a tree structure ([cmd struct::tree]), which is equivalent to BFS tree found by algorithm. [list_end][comment {-- options --}] [list_end][comment {-- definitions --}] | < < | 769 770 771 772 773 774 775 776 777 778 779 780 781 782 | When selected [option outputFormat] is [option tree] - procedure returns a tree structure ([cmd struct::tree]), which is equivalent to BFS tree found by algorithm. [list_end][comment {-- options --}] [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::MinimumDiameterSpanningTree] [arg G]] The goal is to find for input graph [arg G], the [term "spanning tree"] that has the minimum [term "diameter"] value. [para] |
︙ | ︙ | |||
809 810 811 812 813 814 815 | a better solution. [para] For input graph [arg G] algorithm returns the graph structure ([cmd struct::graph]) that is a spanning tree with minimum diameter found by algorithm. | < < | < < | | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 | a better solution. [para] For input graph [arg G] algorithm returns the graph structure ([cmd struct::graph]) that is a spanning tree with minimum diameter found by algorithm. [call [cmd struct::graph::op::MinimumDegreeSpanningTree] [arg G]] Algorithm finds for input graph [arg G], a spanning tree [term T] with the minimum possible degree. That problem is [term NP-hard], so algorithm is an approximation algorithm. [para] Let [term V] be the set of nodes for graph [arg G] and let [term W] be any subset of [term V]. Lets assume also that [term OPT] is optimal solution and [term ALG] is solution found by algorithm for input graph [arg G]. [para] It can be proven that solution found with the algorithm must fulfil inequality: [para] [term "((|W| + k - 1) / |W|) <= ALG <= 2*OPT + log2(n) + 1"]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Undirected simple graph. [list_end][comment {-- arguments --}] [def Result:] Algorithm returns graph structure, which is equivalent to spanning tree [term T] found by algorithm. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::MaximumFlowByDinic] [arg G] [arg s] [arg t] [arg blockingFlowAlg]] Algorithm finds [sectref {Flow Problems} "maximum flow"] for the flow network represented by graph [arg G]. It is based on the blocking-flow finding methods, which give us different complexities what makes a better fit for different graphs. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Directed graph [arg G] representing the flow network. Each edge should have attribute [term throughput] set with integer value. [arg_def {Node} s input] The source node for the flow network [arg G]. [arg_def {Node} t input] The sink node for the flow network [arg G]. |
︙ | ︙ | |||
884 885 886 887 888 889 890 | [para] [emph Note:] [cmd struct::graph::op::BlockingFlowByDinic] gives [term O(m*n^2)] complexity and [cmd struct::graph::op::BlockingFlowByMKM] gives [term O(n^3)] complexity, where [term n] is the number of nodes and [term m] is the number of edges in flow network [arg G]. | < < | < < | < < < | 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 | [para] [emph Note:] [cmd struct::graph::op::BlockingFlowByDinic] gives [term O(m*n^2)] complexity and [cmd struct::graph::op::BlockingFlowByMKM] gives [term O(n^3)] complexity, where [term n] is the number of nodes and [term m] is the number of edges in flow network [arg G]. [call [cmd struct::graph::op::BlockingFlowByDinic] [arg G] [arg s] [arg t]] Algorithm for given network [arg G] with source [arg s] and sink [arg t], finds a [sectref {Flow Problems} "blocking flow"], which can be used to obtain a [term "maximum flow"] for that network [arg G]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Directed graph [arg G] representing the flow network. Each edge should have attribute [term throughput] set with integer value. [arg_def {Node} s input] The source node for the flow network [arg G]. [arg_def {Node} t input] The sink node for the flow network [arg G]. [list_end][comment {-- arguments --}] [def Result:] Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network [arg G]. [list_end][comment {-- definitions --}] [emph Note:] Algorithm's complexity is [term O(n*m)], where [term n] is the number of nodes and [term m] is the number of edges in flow network [arg G]. [call [cmd struct::graph::op::BlockingFlowByMKM] [arg G] [arg s] [arg t]] Algorithm for given network [arg G] with source [arg s] and sink [arg t], finds a [sectref {Flow Problems} "blocking flow"], which can be used to obtain a [term "maximum flow"] for that [term network] [arg G]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Directed graph [arg G] representing the flow network. Each edge should have attribute [term throughput] set with integer value. [arg_def {Node} s input] The source node for the flow network [arg G]. [arg_def {Node} t input] The sink node for the flow network [arg G]. [list_end][comment {-- arguments --}] [def Result:] Algorithm returns dictionary containing it's blocking flow value for each edge (key) in network [arg G]. [list_end][comment {-- definitions --}] [emph Note:] Algorithm's complexity is [term O(n^2)], where [term n] is the number of nodes in flow network [arg G]. [call [cmd struct::graph::op::createResidualGraph] [arg G] [arg f]] Procedure creates a [term "residual graph"] (or [sectref {Flow Problems} "residual network"] ) for network [arg G] and given flow [arg f]. [para] [list_begin definitions] |
︙ | ︙ | |||
968 969 970 971 972 973 974 | [list_end][comment {-- arguments --}] [def Result:] Procedure returns graph structure that is a [term "residual graph"] created from input flow network [arg G]. [list_end][comment {-- definitions --}] | < < | | 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 | [list_end][comment {-- arguments --}] [def Result:] Procedure returns graph structure that is a [term "residual graph"] created from input flow network [arg G]. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::createAugmentingNetwork] [arg G] [arg f] [arg path]] Procedure creates an [sectref {Flow Problems} "augmenting network"] for a given residual network [arg G] , flow [arg f] and augmenting path [arg path]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] |
︙ | ︙ | |||
994 995 996 997 998 999 1000 | [list_end][comment {-- arguments --}] [def Result:] Algorithm returns graph structure containing the modified augmenting network. [list_end][comment {-- definitions --}] | < < < < | < < | | < < < < < < < < | | < | | | | | | | < | | | < < | | | < < | 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 | [list_end][comment {-- arguments --}] [def Result:] Algorithm returns graph structure containing the modified augmenting network. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::createLevelGraph] [arg Gf] [arg s]] For given residual graph [arg Gf] procedure finds the [sectref {Flow Problems} "level graph"]. [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} Gf input] Residual network, where each edge has it's attribute [term throughput] set with certain value. [arg_def {Node} s input] The source node for the residual network [arg Gf]. [list_end][comment {-- arguments --}] [def Result:] Procedure returns a [term "level graph"] created from input [term "residual network"]. [list_end][comment {-- definitions --}] [call [cmd struct::graph::op::TSPLocalSearching] [arg G] [arg C]] Algorithm is a [term "heuristic of local searching"] for [term "Travelling Salesman Problem"]. For some solution of [term "TSP problem"], it checks if it's possible to find a better solution. As [term "TSP"] is well known NP-Complete problem, so algorithm is a approximation algorithm (with 2 approximation factor). [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Undirected and complete graph with attributes "weight" set on each single edge. [arg_def {List} C input] A list of edges being [term "Hamiltonian cycle"], which is solution of [term "TSP Problem"] for graph [arg G]. [list_end][comment {-- arguments --}] [def Result:] Algorithm returns the best solution for [term "TSP problem"], it was able to find. [list_end][comment {-- definitions --}] [emph Note:] The solution depends on the choosing of the beginning cycle [arg C]. It's not true that better cycle assures that better solution will be found, but practise shows that we should give starting cycle with as small sum of weights as possible. [call [cmd struct::graph::op::TSPLocalSearching3Approx] [arg G] [arg C]] Algorithm is a [term "heuristic of local searching"] for [term "Travelling Salesman Problem"]. For some solution of [term "TSP problem"], it checks if it's possible to find a better solution. As [term "TSP"] is well known NP-Complete problem, so algorithm is a approximation algorithm (with 3 approximation factor). [para] [list_begin definitions] [def Arguments:] [list_begin arguments] [arg_def {Graph Object} G input] Undirected and complete graph with attributes "weight" set on each single edge. [arg_def {List} C input] A list of edges being [term "Hamiltonian cycle"], which is solution of [term "TSP Problem"] for graph [arg G]. [list_end][comment {-- arguments --}] [def Result:] Algorithm returns the best solution for [term "TSP problem"], it was able to find. [list_end][comment {-- definitions --}] [emph Note:] In practise 3-approximation algorithm turns out to be far more effective than 2-approximation, but it gives worser approximation factor. Further heuristics of local searching (e.g. 4-approximation) doesn't give enough boost to square the increase of approximation factor, so 2 and 3 approximations are mainly used. [call [cmd struct::graph::op::createSquaredGraph] [arg G]] X-Squared graph is a graph with the same set of nodes as input graph [arg G], but a different set of edges. X-Squared graph has edge [term (u,v)], if and only if, the distance between [term u] and [term v] nodes is not greater than X and [term "u != v"]. [para] Procedure for input graph [arg G], returns its two-squared graph. [para] [emph Note:] Distances used in choosing new set of edges are considering the number of edges, not the sum of weights at edges. [call [cmd struct::graph::op::createCompleteGraph] [arg G] [arg originalEdges]] For input graph [arg G] procedure adds missing arcs to make it a [term "complete graph"]. It also holds in variable [arg originalEdges] the set of arcs that graph [arg G] possessed before that operation. [list_end] [section "Background theory and terms"] [subsection "Shortest Path Problem"] [list_begin definitions] [def "Definition ([term "single-pair shortest path problem"]):"] Formally, given a weighted graph (let [term V] be the set of vertices, and [term E] a set of edges), and one vertice [term v] of [term V], find a path [term P] from [term v] to a [term "v'"] of V so that the sum of weights on edges along the path is minimal among all paths connecting v to v'. [def "Generalizations:"] [list_begin itemized] [item][term "The single-source shortest path problem"], in which we have to find shortest paths from a source vertex v to all other vertices in the graph. [item][term "The single-destination shortest path problem"], in which we have to find shortest paths from all vertices in the graph to a single destination vertex v. This can be reduced to the single-source shortest path problem by reversing the edges in the graph. [item][term "The all-pairs shortest path problem"], in which we have to find shortest paths between every pair of vertices v, v' in the graph. [list_end][comment {-- itemized --}] [emph "Note:"] The result of [term "Shortest Path problem"] can be [term "Shortest Path tree"], which is a subgraph of a given (possibly weighted) graph constructed so that the distance between a selected root node and all other nodes is minimal. It is a tree because if there are two paths between the root node and some vertex v (i.e. a cycle), we can delete the last edge of the longer path without increasing the distance from the root node to any node in the subgraph. [list_end][comment {-- definitions --}] [subsection "Travelling Salesman Problem"] [list_begin definitions] [def "Definition:"] For given edge-weighted (weights on edges should be positive) graph the goal is to find the cycle that visits each node in graph exactly once ([term "Hamiltonian cycle"]). [def "Generalizations:"] [list_begin itemized] [item][term "Metric TSP"] - A very natural restriction of the [term TSP] is to require that the distances between cities form a [term metric], i.e., they satisfy [term "the triangle inequality"]. That is, for any 3 cities [term A], [term B] and [term C], the distance between [term A] and [term C] must be at most the distance from [term A] to [term B] plus the distance from [term B] to [term C]. Most natural instances of [term TSP] satisfy this constraint. [item][term "Euclidean TSP"] - Euclidean TSP, or [term "planar TSP"], is the [term TSP] with the distance being the ordinary [term "Euclidean distance"]. [term "Euclidean TSP"] is a particular case of [term TSP] with [term "triangle inequality"], since distances in plane obey triangle inequality. However, it seems to be easier than general [term TSP] with [term "triangle inequality"]. For example, [term "the minimum spanning tree"] of the graph associated with an instance of [term "Euclidean TSP"] is a [term "Euclidean minimum spanning tree"], and so can be computed in expected [term "O(n log n)"] time for [term n] points (considerably less than the number of edges). This enables the simple [term "2-approximation algorithm"] for TSP with triangle inequality above to operate more quickly. [item][term "Asymmetric TSP"] - In most cases, the distance between two nodes in the [term TSP] network is the same in both directions. The case where the distance from [term A] to [term B] is not equal to the distance from [term B] to [term A] is called [term "asymmetric TSP"]. A practical application of an [term "asymmetric TSP"] is route optimisation using street-level routing (asymmetric due to one-way streets, slip-roads and motorways). [list_end][comment {-- itemized --}] [list_end][comment {-- definitions --}] [subsection "Matching Problem"] [list_begin definitions] [def "Definition:"] Given a graph [term "G = (V,E)"], a matching or [term "edge-independent set"] [term M] in [term G] is a set of pairwise non-adjacent edges, that is, no two edges share a common vertex. A vertex is [term matched] if it is incident to an edge in the [term "matching M"]. Otherwise the vertex is [term unmatched]. [def "Generalizations:"] [list_begin itemized] [item][term "Maximal matching"] - a matching [term M] of a graph G with the property that if any edge not in [term M] is added to [term M], it is no longer a [term matching], that is, [term M] is maximal if it is not a proper subset of any other [term matching] in graph G. In other words, a [term "matching M"] of a graph G is maximal if every edge in G has a non-empty intersection with at least one edge in [term M]. [item][term "Maximum matching"] - a matching that contains the largest possible number of edges. There may be many [term "maximum matchings"]. The [term "matching number"] of a graph G is the size of a [term "maximum matching"]. Note that every [term "maximum matching"] is [term maximal], but not every [term "maximal matching"] is a [term "maximum matching"]. [item][term "Perfect matching"] - a matching which matches all vertices of the graph. That is, every vertex of the graph is incident to exactly one edge of the matching. Every [term "perfect matching"] is [term maximum] and hence [term maximal]. In some literature, the term [term "complete matching"] is used. A [term "perfect matching"] is also a [term "minimum-size edge cover"]. Moreover, the size of a [term "maximum matching"] is no larger than the size of a [term "minimum edge cover"]. [item][term "Near-perfect matching"] - a matching in which exactly one vertex is unmatched. This can only occur when the graph has an odd number of vertices, and such a [term matching] must be [term maximum]. If, for every vertex in a graph, there is a near-perfect matching that omits only that vertex, the graph is also called [term factor-critical]. [list_end][comment {-- itemized --}] [def "Related terms:"] [list_begin itemized] [item][term "Alternating path"] - given a matching [term M], an [term "alternating path"] is a path in which the edges belong alternatively to the matching and not to the matching. [item][term "Augmenting path"] - given a matching [term M], an [term "augmenting path"] is an [term "alternating path"] that starts from and ends on free (unmatched) vertices. [list_end][comment {-- itemized --}] [list_end][comment {-- definitons --}] [subsection "Cut Problems"] [list_begin definitions] [def "Definition:"] A [term cut] is a partition of the vertices of a graph into two [term "disjoint subsets"]. The [term cut-set] of the [term cut] is the set of edges whose end points are in different subsets of the partition. Edges are said to be crossing the cut if they are in its [term cut-set]. [para] Formally: [list_begin itemized] [item] a [term cut] [term "C = (S,T)"] is a partition of [term V] of a graph [term "G = (V, E)"]. [item] an [term "s-t cut"] [term "C = (S,T)"] of a [term "flow network"] [term "N = (V, E)"] is a cut of [term N] such that [term s] is included in [term S] and [term t] is included in [term T], where [term s] and [term t] are the [term source] and the [term sink] of [term N] respectively. [item] The [term cut-set] of a [term "cut C = (S,T)"] is such set of edges from graph [term "G = (V, E)"] that each edge [term "(u, v)"] satisfies condition that [term u] is included in [term S] and [term v] is included in [term T]. [list_end][comment {-- itemized --}] [para] In an [term "unweighted undirected"] graph, the size or weight of a cut is the number of edges crossing the cut. In a [term "weighted graph"], the same term is defined by the sum of the weights of the edges crossing the cut. [para] In a [term "flow network"], an [term "s-t cut"] is a cut that requires the [term source] and the [term sink] to be in different subsets, and its [term cut-set] only consists of edges going from the [term source's] side to the [term sink's] side. The capacity of an [term "s-t cut"] is defined by the sum of capacity of each edge in the [term cut-set]. [para] The [term cut] of a graph can sometimes refer to its [term cut-set] instead of the partition. [def "Generalizations:"] [list_begin itemized] [item][term "Minimum cut"] - A cut is minimum if the size of the cut is not larger than the size of any other cut. [item][term "Maximum cut"] - A cut is maximum if the size of the cut is not smaller than the size of any other cut. [item][term "Sparsest cut"] - The [term "Sparsest cut problem"] is to bipartition the vertices so as to minimize the ratio of the number of edges across the cut divided by the number of vertices in the smaller half of the partition. [list_end][comment {-- itemized --}] [list_end][comment {-- definitons --}] [subsection "K-Center Problem"] [list_begin definitions] [def "Definitions:"] [list_begin definitions] |
︙ | ︙ | |||
1268 1269 1270 1271 1272 1273 1274 | [arg W]. The goal is to choose such set of nodes [term S] ( which is a subset of [term V] ), that it's total weight is not greater than [arg W] and also function: [term "max_v { min_u { cost(u,v) }}"] has the smallest possible worth ( [term v] is a node in [term V] and [term u] is a node in [term S] ). [list_end][comment {-- definitions --}] [list_end][comment {-- definitions --}] | < < | | | 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 | [arg W]. The goal is to choose such set of nodes [term S] ( which is a subset of [term V] ), that it's total weight is not greater than [arg W] and also function: [term "max_v { min_u { cost(u,v) }}"] has the smallest possible worth ( [term v] is a node in [term V] and [term u] is a node in [term S] ). [list_end][comment {-- definitions --}] [list_end][comment {-- definitions --}] [subsection "Flow Problems"] [list_begin definitions] [def "Definitions:"] [list_begin itemized] [item][term "the maximum flow problem"] - the goal is to find a feasible flow through a single-source, single-sink flow network that is maximum. The [term "maximum flow problem"] can be seen as a special case of more complex network flow problems, such as the [term "circulation problem"]. The maximum value of an [term "s-t flow"] is equal to the minimum capacity of an [term "s-t cut"] in the network, as stated in the [term "max-flow min-cut theorem"]. [para] More formally for flow network [term "G = (V,E)"], where for each edge [term "(u, v)"] we have its throuhgput [term "c(u,v)"] defined. As [term flow] [term F] we define set of non-negative integer attributes [term f(u,v)] assigned to edges, satisfying such conditions: [list_begin enumerated] [enum]for each edge [term "(u, v)"] in [term G] such condition should be satisfied: 0 <= f(u,v) <= c(u,v) [enum]Network [term G] has source node [term s] such that the flow [term F] is equal to the sum of outcoming flow decreased by the sum of incoming flow from that source node [term s]. [enum]Network [term G] has sink node [term t] such that the the [term -F] value is equal to the sum of the incoming flow decreased by the sum of outcoming flow from that sink node [term t]. [enum]For each node that is not a [term source] or [term sink] the sum of incoming flow and sum of outcoming flow should be equal. [list_end][comment {-- enumerated --}] [item][term "the minimum cost flow problem"] - the goal is finding the cheapest possible way of sending a certain amount of flow through a [term "flow network"]. [item][term "blocking flow"] - a [term "blocking flow"] for a [term "residual network"] [term Gf] we name such flow [term b] in [term Gf] that: [list_begin enumerated] |
︙ | ︙ | |||
1311 1312 1313 1314 1315 1316 1317 | [item][term "augmenting network"] - it is a modification of [term "residual network"] considering the new flow values. Structure stays unchanged but values of throughputs and costs at edges are different. [list_end][comment {-- itemized --}] [list_end][comment {-- definitions --}] | < < < | < < | 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 | [item][term "augmenting network"] - it is a modification of [term "residual network"] considering the new flow values. Structure stays unchanged but values of throughputs and costs at edges are different. [list_end][comment {-- itemized --}] [list_end][comment {-- definitions --}] [subsection "Approximation algorithm"] [list_begin definitions] [def "k-approximation algorithm:"] Algorithm is a k-approximation, when for [term ALG] (solution returned by algorithm) and [term OPT] (optimal solution), such inequality is true: [list_begin itemized] [item] for minimalization problems: [term "ALG/OPT <= k" ] [item] for maximalization problems: [term "OPT/ALG <= k" ] [list_end][comment {-- itemized --}] [list_end][comment {-- definitions --}] [section References] [list_begin enum] [enum] [uri http://en.wikipedia.org/wiki/Adjacency_matrix {Adjacency matrix}] [enum] [uri http://en.wikipedia.org/wiki/Adjacency_list {Adjacency list}] [enum] [uri http://en.wikipedia.org/wiki/Kruskal%27s_algorithm {Kruskal's algorithm}] |
︙ | ︙ | |||
1362 1363 1364 1365 1366 1367 1368 | [enum] [uri http://en.wikipedia.org/wiki/Dinic's_algorithm {Dinic's algorithm}] [enum] [uri http://www.csc.kth.se/~viggo/wwwcompendium/node128.html {K-Center problem}] [enum] [uri http://en.wikipedia.org/wiki/Breadth-first_search {BFS}] [enum] [uri http://en.wikipedia.org/wiki/Degree-constrained_spanning_tree {Minimum Degree Spanning Tree}] [enum] [uri http://en.wikipedia.org/wiki/Approximation_algorithm {Approximation algorithm}] [list_end] | < < < < < < | < | < < < < < < < < < < < < < < < | 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 | [enum] [uri http://en.wikipedia.org/wiki/Dinic's_algorithm {Dinic's algorithm}] [enum] [uri http://www.csc.kth.se/~viggo/wwwcompendium/node128.html {K-Center problem}] [enum] [uri http://en.wikipedia.org/wiki/Breadth-first_search {BFS}] [enum] [uri http://en.wikipedia.org/wiki/Degree-constrained_spanning_tree {Minimum Degree Spanning Tree}] [enum] [uri http://en.wikipedia.org/wiki/Approximation_algorithm {Approximation algorithm}] [list_end] [vset CATEGORY {struct :: graph}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/matrix.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::matrix n 2.0.1] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate matrix objects}] [category {Data structures}] [require Tcl 8.2] [require struct::matrix [opt 2.0.1]] [description] | > | 1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*-}] [manpage_begin struct::matrix n 2.0.1] [keywords matrix] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate matrix objects}] [category {Data structures}] [require Tcl 8.2] [require struct::matrix [opt 2.0.1]] [description] |
︙ | ︙ | |||
27 28 29 30 31 32 33 | The matrices here are created empty, i.e. they have neither rows nor columns. The user then has to add rows and columns as needed by his application. A specialty of this structure is the ability to export an array-view onto its contents. Such can be used by tkTable, for example, to link the matrix into the display. [para] | < | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | The matrices here are created empty, i.e. they have neither rows nor columns. The user then has to add rows and columns as needed by his application. A specialty of this structure is the ability to export an array-view onto its contents. Such can be used by tkTable, for example, to link the matrix into the display. [para] The main command of the package is: [list_begin definitions] [call [cmd ::struct::matrix] [opt [arg matrixName]] [opt "[const =]|[const :=]|[const as]|[const deserialize] [arg source]"]] |
︙ | ︙ | |||
72 73 74 75 76 77 78 | is equivalent to [para] [example { ::struct::matrix mymatrix mymatrix = b }] [para] | | < | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | is equivalent to [para] [example { ::struct::matrix mymatrix mymatrix = b }] [para] and [para] [example { ::struct::matrix mymatrix deserialize $b }] [para] is equivalent to [para] [example { ::struct::matrix mymatrix mymatrix deserialize $b }] [list_end] [para] The following commands are possible for matrix objects: |
︙ | ︙ | |||
109 110 111 112 113 114 115 | This operation is in effect equivalent to [para] [example_begin] [arg matrixName] [method deserialize] [lb][arg sourcematrix] [method serialize][rb] [example_end] | < < | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | This operation is in effect equivalent to [para] [example_begin] [arg matrixName] [method deserialize] [lb][arg sourcematrix] [method serialize][rb] [example_end] [call [arg matrixName] [method -->] [arg destmatrix]] This is the reverse assignment operator for matrix objects. It copies the matrix contained in the matrix object [arg matrixName] over the matrix data in the object [arg destmatrix]. The old contents of [arg destmatrix] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg destmatrix] [method deserialize] [lb][arg matrixName] [method serialize][rb] [example_end] [call [arg matrixName] [method {add column}] [opt [arg values]]] Extends the matrix by one column and then acts like [method {set column}] (see below) on this new column if there were [arg values] supplied. Without [arg values] the new cells will be set to the empty string. The new column is appended immediately behind the last |
︙ | ︙ | |||
183 184 185 186 187 188 189 | computation. [call [arg matrixName] [method {delete column}] [arg column]] Deletes the specified column from the matrix and shifts all columns with higher indices one index down. | < < < < < | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | computation. [call [arg matrixName] [method {delete column}] [arg column]] Deletes the specified column from the matrix and shifts all columns with higher indices one index down. [call [arg matrixName] [method {delete columns}] [arg n]] Deletes [arg n] columns from the right of the matrix. The value of [arg n] has to satisfy the constraint "0 < [arg n] < [lb][cmd matrixName] [method columns][rb]" [call [arg matrixName] [method {delete row}] [arg row]] Deletes the specified row from the matrix and shifts all row with higher indices one index down. [call [arg matrixName] [method {delete rows}] [arg n]] Deletes [arg n] rows from the bottom of the matrix. The value of [arg n] has to satisfy the constraint "0 < [arg n] < [lb][cmd matrixName] [method rows][rb]" [call [arg matrixName] [method deserialize] [arg serialization]] This is the complement to [method serialize]. It replaces matrix data in [arg matrixName] with the matrix described by the [arg serialization] value. The old contents of [arg matrixName] are deleted by this operation. [call [arg matrixName] [method destroy]] Destroys the matrix, including its storage space and associated command. [call [arg matrixName] [method {format 2string}] [opt [arg report]]] |
︙ | ︙ | |||
308 309 310 311 312 313 314 | cell [arg (column,row)] is stored in the array using the key [arg column,row]. If the option [option -transpose] is specified the key [arg row,column] will be used instead. It is possible to link the matrix to more than one array. Note that the link is bidirectional, i.e. changes to the array are mirrored in the matrix too. | < < | 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 | cell [arg (column,row)] is stored in the array using the key [arg column,row]. If the option [option -transpose] is specified the key [arg row,column] will be used instead. It is possible to link the matrix to more than one array. Note that the link is bidirectional, i.e. changes to the array are mirrored in the matrix too. [call [arg matrixName] [method links]] Returns a list containing the names of all array variables the matrix was linked to through a call to method [method link]. [call [arg matrixName] [method rowheight] [arg row]] Returns the height of the specified row in lines. This is the highest number of lines spanned by a cell over all cells in the row. [call [arg matrixName] [method rows]] |
︙ | ︙ | |||
359 360 361 362 363 364 365 | Like [method {search all}], but the search is restricted to the specified row. [call [arg matrixName] [method search] [opt -nocase] [opt -exact|-glob|-regexp] [method rect] [arg {column_tl row_tl column_br row_br pattern}]] Like [method {search all}], but the search is restricted to the specified rectangular area of the matrix. | < | 349 350 351 352 353 354 355 356 357 358 359 360 361 362 | Like [method {search all}], but the search is restricted to the specified row. [call [arg matrixName] [method search] [opt -nocase] [opt -exact|-glob|-regexp] [method rect] [arg {column_tl row_tl column_br row_br pattern}]] Like [method {search all}], but the search is restricted to the specified rectangular area of the matrix. [call [arg matrixName] [method serialize] [opt [arg {column_tl row_tl column_br row_br}]]] This method serializes the sub-matrix spanned up by the rectangle specification. In other words it returns a tcl [emph value] completely describing that matrix. If no rectangle is specified the whole matrix will be serialized. |
︙ | ︙ | |||
412 413 414 415 416 417 418 | # | f | # # is # # 3 4 {{a b d g} {c e} {f}} }] [para] | < | 401 402 403 404 405 406 407 408 409 410 411 412 413 414 | # | f | # # is # # 3 4 {{a b d g} {c e} {f}} }] [para] [call [arg matrixName] [method {set cell}] [arg {column row value}]] Sets the value in the cell identified by row and column index to the data in the third argument. [call [arg matrixName] [method {set column}] [arg {column values}]] |
︙ | ︙ | |||
475 476 477 478 479 480 481 | Swaps the contents of the two specified columns. [call [arg matrixName] [method {swap rows}] [arg {row_a row_b}]] Swaps the contents of the two specified rows. | < < | 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 | Swaps the contents of the two specified columns. [call [arg matrixName] [method {swap rows}] [arg {row_a row_b}]] Swaps the contents of the two specified rows. [call [arg matrixName] [method transpose]] Transposes the contents of the matrix, i.e. swaps rows for columns and vice versa. [call [arg matrixName] [method unlink] [arg arrayvar]] Removes the link between the matrix and the specified arrayvariable, if there is one. [list_end] |
︙ | ︙ | |||
540 541 542 543 544 545 546 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m }] | < < < < < | < | < < < < < | 526 527 528 529 530 531 532 533 534 535 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m }] [vset CATEGORY {struct :: matrix}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/matrix1.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin {struct::matrix_v1} n 1.2.1] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate matrix objects}] [category {Data structures}] [require Tcl 8.2] [require struct::matrix [opt 1.2.1]] [description] | > | 1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*-}] [manpage_begin {struct::matrix_v1} n 1.2.1] [keywords matrix] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate matrix objects}] [category {Data structures}] [require Tcl 8.2] [require struct::matrix [opt 1.2.1]] [description] |
︙ | ︙ | |||
202 203 204 205 206 207 208 | cell [arg (column,row)] is stored in the array using the key [arg column,row]. If the option [option -transpose] is specified the key [arg row,column] will be used instead. It is possible to link the matrix to more than one array. Note that the link is bidirectional, i.e. changes to the array are mirrored in the matrix too. | < < | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 | cell [arg (column,row)] is stored in the array using the key [arg column,row]. If the option [option -transpose] is specified the key [arg row,column] will be used instead. It is possible to link the matrix to more than one array. Note that the link is bidirectional, i.e. changes to the array are mirrored in the matrix too. [call [arg matrixName] [method links]] Returns a list containing the names of all array variables the matrix was linked to through a call to method [method link]. [call [arg matrixName] [method rowheight] [arg row]] Returns the height of the specified row in lines. This is the highest number of lines spanned by a cell over all cells in the row. [call [arg matrixName] [method rows]] |
︙ | ︙ | |||
373 374 375 376 377 378 379 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m }] | < < < < < | < | < < < < < | 372 373 374 375 376 377 378 379 380 381 | | |true numeric | | | | +---+-------------------+-------+-------+--------+ % % # alternate way of doing the above % r printmatrix m }] [vset CATEGORY {struct :: matrix}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/pool.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::pool n 1.2.1] [copyright {2002, Erik Leunissen <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate pool objects (of discrete items)}] [category {Data structures}] [require Tcl 8.2] [require struct::pool [opt 1.2.1]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*-}] [manpage_begin struct::pool n 1.2.1] [keywords {discrete items}] [keywords finite] [keywords pool] [keywords struct] [copyright {2002, Erik Leunissen <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate pool objects (of discrete items)}] [category {Data structures}] [require Tcl 8.2] [require struct::pool [opt 1.2.1]] [description] |
︙ | ︙ | |||
18 19 20 21 22 23 24 | Creates a new pool object. If no [arg poolName] is supplied, then the new pool will be named pool[var X], where X is a positive integer. The optional second argument [arg maxsize] has to be a positive integer indicating the maximum size of the pool; this is the maximum number of items the pool may hold. The default for this value is [const 10]. | | | | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | Creates a new pool object. If no [arg poolName] is supplied, then the new pool will be named pool[var X], where X is a positive integer. The optional second argument [arg maxsize] has to be a positive integer indicating the maximum size of the pool; this is the maximum number of items the pool may hold. The default for this value is [const 10]. [para] The pool object has an associated global Tcl command whose name is [arg poolName]. This command may be used to invoke various configuration operations on the report. It has the following general form: [list_begin definitions] [call [cmd poolName] [arg option] [opt [arg "arg arg ..."]]] [arg Option] and the [arg arg]s determine the exact behavior of the command. See section [sectref {POOL OBJECT COMMAND}] for a detailed list of options and their behaviour. [list_end] [list_end] [para] [section {POOLS AND ALLOCATION}] The purpose of the pool command and the pool object command that it generates, is to manage pools of discrete items. Examples of a pool of discrete items are: [list_begin itemized] [item] the seats in a cinema, theatre, train etc.. for which visitors/travelers can make a reservation; [item] |
︙ | ︙ | |||
74 75 76 77 78 79 80 | supposed to be allocated on a more or less regular basis. An item can be allocated only once at a time. An item that is allocated, must be released before it can be re-allocated. While several items in a pool are being allocated and released continuously, the total number of items in the pool remains constant. [para] | | | | < | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | supposed to be allocated on a more or less regular basis. An item can be allocated only once at a time. An item that is allocated, must be released before it can be re-allocated. While several items in a pool are being allocated and released continuously, the total number of items in the pool remains constant. [para] Keeping track of which items are allocated, and by whom, is the purpose of the pool command and its subordinates. [para] [emph {Pool parlance}]: If we say that an item is [term allocated], it means that the item is [term busy], [term owned] or [term occupied]; it is not available anymore. If an item is [term free], it is [term available]. Deallocating an item is equivalent to setting free or releasing an item. The person or entity to which the item has been allotted is said to own the item. [section ITEMS] [emph {Discrete items}] [para] The [cmd pool] command is designed for [emph {discrete items only}]. Note that there are pools where allocation occurs on a non-discrete basis, for example computer |
︙ | ︙ | |||
122 123 124 125 126 127 128 | From the point of view of the manager of a pool, items are equivalent. The manager of a pool is indifferent about which entity/person occupies a given item. However, clients may have preferences for a particular item, based on some item property they know. | | | < | | < | < | | | | | | | < < < | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | From the point of view of the manager of a pool, items are equivalent. The manager of a pool is indifferent about which entity/person occupies a given item. However, clients may have preferences for a particular item, based on some item property they know. [para] [emph Preferences] [para] A future owner may have a preference for a particular item. Preference based allocation is supported (see the [option -prefer] option to the request subcommand). A preference for a particular item is most likely to result from variability among features associated with the items. Note that the pool commands themselves are not designed to manage such item properties. If item properties play a role in an application, they should be managed separately. [section {POOL OBJECT COMMAND}] The following subcommands and corresponding arguments are available to any pool object command. [list_begin definitions] [call [arg poolName] [method add] [arg itemName1] [opt [arg {itemName2 itemName3 ...}]]] This command adds the items on the command line to the pool. If duplicate item names occur on the command line, an error is raised. If one or more of the items already exist in the pool, this also is considered an error. [call [arg poolName] [method clear] [opt [option -force]]] Removes all items from the pool. If there are any allocated items at the time when the command is invoked, an error is raised. This behaviour may be modified through the [option -force] argument. If it is supplied on the command line, the pool will be cleared regardless the allocation state of its items. [call [arg poolName] [method destroy] [opt [option -force]]] Destroys the pool data structure, all associated variables and the associated pool object command. By default, the command checks whether any items are still allocated and raises an error if such is the case. This behaviour may be modified through the argument [option -force]. If it is supplied on the command line, the pool data structure will be destroyed regardless allocation state of its items. [call [arg poolName] [method info] [arg type] [opt [arg arg]]] Returns various information about the pool for further programmatic use. The [arg type] argument indicates the type of information requested. Only the type [const allocID] uses an additional argument. [list_begin definitions] [def "[const allocID] [arg itemName]"] returns the allocID of the item whose name is [arg itemName]. Free items have an allocation id of [const -1]. [def [const allitems]] returns a list of all items in the pool. [def [const allocstate]] Returns a list of key-value pairs, where the keys are the items and the values are the corresponding allocation id's. Free items have an allocation id of [const -1]. [def [const cursize]] returns the current pool size, i.e. the number of items in the pool. [def [const freeitems]] returns a list of items that currently are not allocated. [def [const maxsize]] returns the maximum size of the pool. [list_end] [para] [call [arg poolName] [method maxsize] [opt [arg maxsize]]] Sets or queries the maximum size of the pool, depending on whether the [arg maxsize] argument is supplied or not. If [arg maxsize] is supplied, the maximum size of the pool will be set to that value. If no argument is supplied, the current maximum size of the pool is returned. In this variant, the command is an alias for: [para] [cmd {poolName info maxsize}]. [para] The [arg maxsize] argument has to be a positive integer. [call [arg poolName] [method release] [arg itemName]] Releases the item whose name is [arg itemName] that was allocated previously. An error is raised if the item was not allocated at the time when the command was issued. [call [arg poolName] [method remove] [arg itemName] [opt [option -force]]] Removes the item whose name is [arg itemName] from the pool. If the item was allocated at the time when the command was invoked, an error is raised. This behaviour may be modified through the optional argument [option -force]. If it is supplied on the command line, the item will be removed regardless its allocation state. [call [arg poolName] [method request] itemVar [opt options]] Handles a request for an item, taking into account a possible preference for a particular item. There are two possible outcomes depending on the availability of items: |
︙ | ︙ | |||
272 273 274 275 276 277 278 | item is supplied through the option [option -prefer] (see below), then all requests are honoured as long as items are available. [para] The following options are supported: [list_begin definitions] | | < | | | | | | | | | | | | | | | | | | | | | < < < < < | < | < < < < < | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 | item is supplied through the option [option -prefer] (see below), then all requests are honoured as long as items are available. [para] The following options are supported: [list_begin definitions] [def "[option -allocID] [arg allocID]"] If the request is honoured, an item will be allocated to the entity identified by allocID. If the allocation state of an item is queried, it is this allocation ID that will be returned. If the option [option -allocID] is not supplied, the item will be given to and owned by [const dummyID]. Allocation id's may be anything except the value -1, which is reserved for free items. [def "[option -prefer] [arg preferredItem]"] This option modifies the allocation strategy as follows: If the item whose name is [arg preferredItem] is not allocated at the time when the command is invoked, the request is honoured (return value is 1). If the item was allocated at the time when the command was invoked, the request is denied (return value is 0). [list_end] [list_end] [section EXAMPLES] Two examples are provided. The first one mimics a step by step interactive tclsh session, where each step is explained. The second example shows the usage in a server application that talks to a back-end application. [para] [emph {Example 1}] [para] This example presents an interactive tclsh session which considers the case of a Car rental's collection of cars. Ten steps explain its usage in chronological order, from the creation of the pool, via the most important stages in the usage of a pool, to the final destruction. [para] [emph {Note aside:}] [para] In this example, brand names are used to label the various items. However, a brand name could be regarded as a property of an item. Because the pool command is not designed to manage properties of items, they need to be managed separately. In the latter case the items should be labeled with more neutral names such as: car1, car2, car3 , etc ... and a separate database or array should hold the brand names associated with the car labels. [para] [example { 1. Load the package into an interpreter % package require pool 0.1 2. Create a pool object called `CarPool' with a maximum size of 55 items (cars): % pool CarPool 55 CarPool 4. Add items to the pool: % CarPool add Toyota Trabant Chrysler1 Chrysler2 Volkswagen 5. Somebody crashed the Toyota. Remove it from the pool as follows: % CarPool remove Toyota 6. Acquired a new car for the pool. Add it as follows: % CarPool add Nissan 7. Check whether the pool was adjusted correctly: % CarPool info allitems Trabant Chrysler1 Chrysler2 Volkswagen Nissan }] [para] Suspend the interactive session temporarily, and show the programmatic use of the request subcommand: [para] [example { # Mrs. Swift needs a car. She doesn't have a preference for a # particular car. We'll issue a request on her behalf as follows: if { [CarPool request car -allocID "Mrs. Swift"] } { # request was honoured, process the variable `car' puts "$car has been allocated to [CarPool info allocID $car]." } else { # request was denied puts "No car available." } }] [para] Note how the [cmd if] command uses the value returned by the [method request] subcommand. [para] [example { # Suppose Mr. Wiggly has a preference for the Trabant: if { [CarPool request car -allocID "Mr. Wiggly" -prefer Trabant] } { # request was honoured, process the variable `car' puts "$car has been allocated to [CarPool info allocID $car]." } else { # request was denied puts "The Trabant was not available." } }] [para] Resume the interactive session: [para] [example { 8. When the car is returned then you can render it available by: % CarPool release Trabant 9. When done, you delete the pool. % CarPool destroy Couldn't destroy `CarPool' because some items are still allocated. Oops, forgot that Mrs. Swift still occupies a car. 10. We force the destruction of the pool as follows: % CarPool destroy -force }] [para] [emph {Example 2}] [para] This example describes the case from which the author's need for pool management originated. It is an example of a server application that receives requests from client applications. The client requests are dispatched onto a back-end application before being returned to the client application. In many cases there are a few equivalent instances of back-end applications to which a client request may be passed along. The file descriptors that identify the channels to these back-end instances make up a pool of connections. A particular connection may be allocated to just one client request at a time. [para] [example { # Create the pool of connections (pipes) set maxpipes 10 pool Pipes $maxpipes for {set i 0} {$i < $maxpipes} {incr i} { set fd [open "|backendApplication" w+] Pipes add $fd } # A client request comes in. The request is identified as `clientX'. # Dispatch it onto an instance of a back-end application if { [Pipes request fd -allocID clientX] } { # a connection was allocated # communicate to the back-end application via the variable `fd' puts $fd "someInstruction" # ...... etc. } else { # all connections are currently occupied # store the client request in a queue for later processing, # or return a 'Server busy' message to the client. } }] [vset CATEGORY {struct :: pool}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/prioqueue.man.
1 2 3 4 5 6 7 8 | [manpage_begin struct::prioqueue n 1.4] [moddesc {Tcl Data Structures}] [copyright {2003 Michael Schlenker <[email protected]>}] [titledesc {Create and manipulate prioqueue objects}] [category {Data structures}] [require Tcl 8.2] [require struct::prioqueue [opt 1.4]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 | [manpage_begin struct::prioqueue n 1.4] [keywords {ordered list}] [keywords prioqueue] [keywords {priority queue}] [moddesc {Tcl Data Structures}] [copyright {2003 Michael Schlenker <[email protected]>}] [titledesc {Create and manipulate prioqueue objects}] [category {Data structures}] [require Tcl 8.2] [require struct::prioqueue [opt 1.4]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | [cmd lsort] [arg -decreasing]). [para] Prioqueue names are unrestricted, but may be recognized as options if no priority type is given. | < < < < < < | < | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | [cmd lsort] [arg -decreasing]). [para] Prioqueue names are unrestricted, but may be recognized as options if no priority type is given. [list_begin definitions] [call [cmd ::struct::prioqueue] [opt [option {-ascii|-dictionary|-integer|-real}]] [opt [arg prioqueueName]] ] The [cmd ::struct::prioqueue] command creates a new prioqueue object with an associated global Tcl command whose name is [emph prioqueueName]. This command may be used to invoke various operations on the prioqueue. It has the following general form: [call [arg prioqueueName] [cmd option] [opt [arg {arg arg ...}]]] [cmd option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for prioqueue objects: [call [arg prioqueueName] [cmd clear]] Remove all items from the prioqueue. [call [arg prioqueueName] [cmd remove] [arg item]] Remove the selected item from this priority queue. [call [arg prioqueueName] [cmd destroy]] Destroy the prioqueue, including its storage space and associated command. [call [arg prioqueueName] [cmd get] [opt [arg count]]] Return the front [arg count] items of the prioqueue (but not their priorities) and remove them from the prioqueue. If [arg count] is not specified, it defaults to 1. If [arg count] is 1, the result is a simple string; otherwise, it is a list. If specified, [arg count] must be greater than or equal to 1. If there are no or too few items in the prioqueue, this command will throw an error. [call [arg prioqueueName] [cmd peek] [opt [arg count]]] Return the front [arg count] items of the prioqueue (but not their priorities), without removing them from the prioqueue. If [arg count] is not specified, it defaults to 1. If [arg count] is |
︙ | ︙ | |||
100 101 102 103 104 105 106 | Put the [arg item] or items specified into the prioqueue. [arg prio] must be a valid priority key for this type of prioqueue, otherwise an error is thrown and no item is added. Items are inserted at their priority ranking. Items with equal priority are added in the order they were added. | < < < < < < < < | < | < < < < < | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | Put the [arg item] or items specified into the prioqueue. [arg prio] must be a valid priority key for this type of prioqueue, otherwise an error is thrown and no item is added. Items are inserted at their priority ranking. Items with equal priority are added in the order they were added. [call [arg prioqueueName] [cmd size]] Return the number of items in the prioqueue. [list_end] [vset CATEGORY {struct :: prioqueue}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/queue.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::queue n 1.4.5] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate queue objects}] [category {Data structures}] [require Tcl 8.4] [require struct::queue [opt 1.4.5]] [description] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*-}] [manpage_begin struct::queue n 1.4.5] [keywords graph] [keywords list] [keywords matrix] [keywords pool] [keywords prioqueue] [keywords record] [keywords set] [keywords skiplist] [keywords stack] [keywords tree] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate queue objects}] [category {Data structures}] [require Tcl 8.4] [require struct::queue [opt 1.4.5]] [description] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [list_begin definitions] [call [arg queueName] [cmd option] [opt [arg "arg arg ..."]]] [arg Option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for queue objects: | < < < < < < < < < < < < < | < | < < < < < < | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | [list_begin definitions] [call [arg queueName] [cmd option] [opt [arg "arg arg ..."]]] [arg Option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for queue objects: [call [arg queueName] [cmd clear]] Remove all items from the queue. [call [arg queueName] [cmd destroy]] Destroy the queue, including its storage space and associated command. [call [arg queueName] [cmd get] [opt "[arg count]"]] Return the front [arg count] items of the queue and remove them from the queue. If [arg count] is not specified, it defaults to 1. If [arg count] is 1, the result is a simple string; otherwise, it is a list. If specified, [arg count] must be greater than or equal to 1. If there are not enough items in the queue to fulfull the request, this command will throw an error. [call [arg queueName] [cmd peek] [opt "[arg count]"]] Return the front [arg count] items of the queue, without removing them from the queue. If [arg count] is not specified, it defaults to 1. If [arg count] is 1, the result is a simple string; otherwise, it is a list. If specified, [arg count] must be greater than or equal to 1. If there are not enough items in the queue to fulfull the request, this command will throw an error. [call [arg queueName] [cmd put] [arg item] [opt "[arg "item ..."]"]] Put the [arg item] or items specified into the queue. If more than one [arg item] is given, they will be added in the order they are listed. [call [arg queueName] [cmd unget] [arg item]] Put the [arg item] into the queue, at the front, i.e. before any other items already in the queue. This makes this operation the complement to the method [method get]. [call [arg queueName] [cmd size]] Return the number of items in the queue. [list_end] [vset CATEGORY {struct :: queue}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/record.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*-}] [manpage_begin struct::record n 1.2.1] [copyright {2002, Brett Schwarz <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Define and create records (similar to 'C' structures)}] [category {Data structures}] [require Tcl 8.2] [require struct::record [opt 1.2.1]] [description] The [cmd ::struct::record] package provides a mechanism to group variables together | > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [comment {-*- tcl -*-}] [manpage_begin struct::record n 1.2.1] [keywords {data structures}] [keywords record] [keywords struct] [copyright {2002, Brett Schwarz <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Define and create records (similar to 'C' structures)}] [category {Data structures}] [require Tcl 8.2] [require struct::record [opt 1.2.1]] [description] The [cmd ::struct::record] package provides a mechanism to group variables together as one data structure, similar to a 'C' structure. The members of a record can be variables or other records. However, a record can not contain circular record, i.e. records that contain the same record as a member. [para] This package was structured so that it is very similar to how Tk objects work. Each record definition creates a record object that encompasses that definition. Subsequently, that |
︙ | ︙ | |||
49 50 51 52 53 54 55 | record [arg recordName]. It returns the same format as how the records were defined. [call [cmd {record show}] [arg values] [arg instanceName]] Returns a list of values that are set for the instance [arg instanceName]. The output is a list of key/value pairs. If there | | | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | record [arg recordName]. It returns the same format as how the records were defined. [call [cmd {record show}] [arg values] [arg instanceName]] Returns a list of values that are set for the instance [arg instanceName]. The output is a list of key/value pairs. If there are nested records, then the values of the nested records will itself be a list. [call [cmd {record exists}] [arg record] [arg recordName]] Tests for the existence of a [arg record] with the name [arg recordName]. |
︙ | ︙ | |||
74 75 76 77 78 79 80 | [call [cmd {record delete}] [arg instance] [arg instanceName]] Deletes [arg instance] with the name of [arg instanceName]. It will return an error if the instance does not exist. [list_end] [para] | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | [call [cmd {record delete}] [arg instance] [arg instanceName]] Deletes [arg instance] with the name of [arg instanceName]. It will return an error if the instance does not exist. [list_end] [para] [section {RECORD MEMBERS}] Record members can either be variables, or other records, However, the same record can not be nested witin itself (circular). To define a nested record, you need to specify the [const record] keyword, along the with name of the record, and the name of the instance of that nested record. For example, it would look like this: |
︙ | ︙ | |||
120 121 122 123 124 125 126 | All instances created from this record definition, will initially have 5 as the value for [arg mem2]. If no default is given, then the value will be the empty string. [para] [emph {Getting Values}] [para] | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | All instances created from this record definition, will initially have 5 as the value for [arg mem2]. If no default is given, then the value will be the empty string. [para] [emph {Getting Values}] [para] To get a value of a member, there are several ways to do this. [list_begin enumerated] [enum] To get a member value, then use the instance built-in [method cget] method: [para] [arg instanceName] [method cget] -mem1 |
︙ | ︙ | |||
154 155 156 157 158 159 160 | [list_end] [para] [emph {Setting Values}] [para] | | | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | [list_end] [para] [emph {Setting Values}] [para] To set a value of a member, there are several ways to do this. [list_begin enumerated] [enum] To set a member value, then use the instance built-in [method configure] method: [para] [arg instanceName] [method configure] -mem1 val1 |
︙ | ︙ | |||
179 180 181 182 183 184 185 | [list_end] [para] [emph {Alias access}] [para] | | | | | | | | | | | | | | | | 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 | [list_end] [para] [emph {Alias access}] [para] In the original implementation, access was done by using dot notation similar to how 'C' structures are accessed. However, there was a concensus to make the interface more Tcl like, which made sense. However, the original alias access still exists. It might prove to be helpful to some. [para] Basically, for every member of every instance, an alias is created. This alias is used to get and set values for that member. An example will illustrate the point, using the above defined records: [para] [example_begin] # Create an instance first % myrecord inst1 ::inst1 % # To get a member of an instance, just use the % # alias (it behaves like a Tcl command): % inst1.mem1 % % # To set a member via the alias, just include % # a value (optionally the equal sign - syntactic sugar) % inst1.mem1 = 5 5 % inst1.mem1 5 % # For nested records, just continue with the % # dot notation (note no equal sign) % inst1.mem3.nest1 10 10 % inst1.mem3.nest1 10 % # just the instance by itself gives all % # member/values pairs for that instance % inst1 -mem1 5 -mem2 {} -mem3 {-nest1 10 -nest2 {}} % # and to get all members within the nested record % inst1.mem3 -nest1 10 -nest2 {} % [example_end] [section {RECORD COMMAND}] The following subcommands and corresponding arguments are available to any record command: [list_begin definitions] [call [arg recordName] [method [arg instanceName|#auto]] [opt [arg "-member1 value1 -member2 value2 ..."]]] Using the [arg recordName] object command that was created from the record definition, instances of the record definition can be created. Once a instance is created, then it inherits the members of the record definition, very similar to how objects work. During instance generation, an object command for the instance is created as well, using [arg instanceName]. This object command is used to access the data members of the instance. During the instantiation, values for that instance can be given, [emph but] all values must be given, and be given in key/value pairs. Nested records, need to be in list format. [para] Optionally, [arg #auto] can be used in place of [arg instanceName]. When #auto is used, then a instance name will automatically be generated, of the form recordName<integer>, where <integer> is a unique integer (starting at 0) that is generated. [list_end] [para] [section {INSTANCE COMMAND}] The following subcommands and corresponding arguments are available to any record instance command: [list_begin definitions] [call [arg instanceName] [method cget] [opt [arg "-member1 -member2 ..."]]] Each instance has the sub command [method cget] associated with it. This is very similar to how Tk widget's cget command works. It queries the values of the member for that particular instance. If no arguments are given, then a key/value list is returned. [call [arg instanceName] [method configure] [opt [arg "-member1 value1 -member2 value2 ..."]]] Each instance has the sub command [method configure] associated with it. This is very similar to how Tk widget's configure command works. It sets the values of the particular member for that particular instance. If no arguments are given, then a key/value list is returned. [list_end] [section EXAMPLES] Two examples are provided to give an good illustration on how to use this package. [para] [emph {Example 1}] [para] Probably the most obvious example would be to hold contact information, such as addresses, phone numbers, comments, etc. Since a person can have multiple phone numbers, multiple email addresses, etc, we will use nested records to define these. So, the first thing we do is define the nested records: [para] [example { ## ## This is an interactive example, to see what is ## returned by each command as well. ## % namespace import ::struct::record::* % # define a nested record. Notice that country has default 'USA'. % record define locations { street street2 city state zipcode {country USA} phone } ::locations % # Define the main record. Notice that it uses the location record twice. % record define contacts { first middle last {record locations home} {record locations work} } ::contacts % # Create an instance for the contacts record. % contacts cont1 ::cont1 |
︙ | ︙ | |||
341 342 343 344 345 346 347 | % record show members contacts2 first middle last {record locations home} {record locations work} % record show members contacts first middle last {record locations home} {record locations work} % }] | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | % record show members contacts2 first middle last {record locations home} {record locations work} % record show members contacts first middle last {record locations home} {record locations work} % }] [para] [emph {Example 1}] [para] This next example just illustrates a simple linked list [para] [example { |
︙ | ︙ | |||
381 382 383 384 385 386 387 | % record show instances llist % }] [para] | < < < < < | < | < < < < < | 384 385 386 387 388 389 390 391 392 393 | % record show instances llist % }] [para] [vset CATEGORY {struct :: record}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/skiplist.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::skiplist n 1.3] [copyright {2000 Keith Vetter}] [comment { This software is licensed under a BSD license as described in tcl/tk license.txt file but with the copyright held by Keith Vetter. }] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate skiplists}] | > | 1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*-}] [manpage_begin struct::skiplist n 1.3] [keywords skiplist] [copyright {2000 Keith Vetter}] [comment { This software is licensed under a BSD license as described in tcl/tk license.txt file but with the copyright held by Keith Vetter. }] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate skiplists}] |
︙ | ︙ | |||
48 49 50 51 52 53 54 | The following commands are possible for skiplist objects: [list_begin definitions] [call [arg skiplistName] [method delete] [arg node] [opt [arg node]...]] Remove the specified nodes from the skiplist. | < < < < < < < < < | < | < < < < < | 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | The following commands are possible for skiplist objects: [list_begin definitions] [call [arg skiplistName] [method delete] [arg node] [opt [arg node]...]] Remove the specified nodes from the skiplist. [call [arg skiplistName] [method destroy]] Destroy the skiplist, including its storage space and associated command. [call [arg skiplistName] [method insert] [arg {key value}]] Insert a node with the given [arg key] and [arg value] into the skiplist. If a node with that key already exists, then the that node's value is updated and its node level is returned. Otherwise a new node is created and 0 is returned. [call [arg skiplistName] [method search] [arg node] [opt "[const -key] [arg key]"]] Search for a given key in a skiplist. If not found then 0 is returned. If found, then a two element list of 1 followed by the node's value is retuned. [call [arg skiplistName] [method size]] Return a count of the number of nodes in the skiplist. [call [arg skiplistName] [method walk] [arg cmd]] Walk the skiplist from the first node to the last. At each node, the command [arg cmd] will be evaluated with the key and value of the current node appended. [list_end] [vset CATEGORY {struct :: skiplist}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/stack.man.
1 2 3 4 5 6 7 8 | [manpage_begin struct::stack n 1.5.3] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate stack objects}] [category {Data structures}] [require Tcl 8.4] [require struct::stack [opt 1.5.3]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin struct::stack n 1.5.3] [keywords graph] [keywords matrix] [keywords queue] [keywords tree] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate stack objects}] [category {Data structures}] [require Tcl 8.4] [require struct::stack [opt 1.5.3]] [description] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [list_begin definitions] [call [arg stackName] [cmd option] [opt [arg "arg arg ..."]]] [arg Option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for stack objects: | < < < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | [list_begin definitions] [call [arg stackName] [cmd option] [opt [arg "arg arg ..."]]] [arg Option] and the [arg arg]s determine the exact behavior of the command. The following commands are possible for stack objects: [call [arg stackName] [method clear]] Remove all items from the stack. [call [arg stackName] [method destroy]] Destroy the stack, including its storage space and associated command. [call [arg stackName] [method get]] Returns the whole contents of the stack as a list, without removing them from the stack. [call [arg stackName] [method getr]] |
︙ | ︙ | |||
86 87 88 89 90 91 92 | from the stack. If [arg count] is not specified, it defaults to 1. If [arg count] is 1, the result is a simple string; otherwise, it is a list. If specified, [arg count] must be greater than or equal to 1. If there are not enoughs items on the stack to fulfull the request, this command will throw an error. | < < < < < < < | < | < < < < < | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | from the stack. If [arg count] is not specified, it defaults to 1. If [arg count] is 1, the result is a simple string; otherwise, it is a list. If specified, [arg count] must be greater than or equal to 1. If there are not enoughs items on the stack to fulfull the request, this command will throw an error. [call [arg stackName] [method push] [arg item] [opt [arg item...]]] Push the [arg item] or items specified onto the stack. If more than one [arg item] is given, they will be pushed in the order they are listed. [call [arg stackName] [method size]] Return the number of items on the stack. [list_end] [vset CATEGORY {struct :: stack}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/struct_list.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: struct_list.man,v 1.24 2010/10/05 21:47:25 andreas_kupries Exp $}] [manpage_begin struct::list n 1.8.2] [copyright {2003-2005 by Kevin B. Kenny. All rights reserved}] [copyright {2003-2012 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Procedures for manipulating lists}] [category {Data structures}] [require Tcl 8.4] [require struct::list [opt 1.8.2]] | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: struct_list.man,v 1.24 2010/10/05 21:47:25 andreas_kupries Exp $}] [manpage_begin struct::list n 1.8.2] [keywords assign] [keywords common] [keywords comparison] [keywords diff] [keywords differential] [keywords equal] [keywords equality] [keywords filter] [keywords {first permutation}] [keywords Fisher-Yates] [keywords flatten] [keywords folding] [keywords {full outer join}] [keywords {generate permutations}] [keywords {inner join}] [keywords join] [keywords {left outer join}] [keywords list] [keywords {longest common subsequence}] [keywords map] [keywords {next permutation}] [keywords {outer join}] [keywords permutation] [keywords reduce] [keywords repeating] [keywords repetition] [keywords reshuffle] [keywords reverse] [keywords {right outer join}] [keywords shuffle] [keywords subsequence] [keywords swapping] [copyright {2003-2005 by Kevin B. Kenny. All rights reserved}] [copyright {2003-2012 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Procedures for manipulating lists}] [category {Data structures}] [require Tcl 8.4] [require struct::list [opt 1.8.2]] |
︙ | ︙ | |||
62 63 64 65 66 67 68 | As with [method longestCommonSubsequence], the return value is a list of two lists of equal length. The first sublist is of indices into [arg sequence1], and the second sublist is of indices into [arg sequence2]. Each corresponding pair of indices corresponds to equal elements in the sequences. The sequence approximates the longest common subsequence. | < | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | As with [method longestCommonSubsequence], the return value is a list of two lists of equal length. The first sublist is of indices into [arg sequence1], and the second sublist is of indices into [arg sequence2]. Each corresponding pair of indices corresponds to equal elements in the sequences. The sequence approximates the longest common subsequence. [call [cmd ::struct::list] [method lcsInvert] [arg lcsData] [arg len1] [arg len2]] This command takes a description of a longest common subsequence ([arg lcsData]), inverts it, and returns the result. Inversion means here that as the input describes which parts of the two sequences are |
︙ | ︙ | |||
159 160 161 162 163 164 165 | [item] Also an index equal to the length of the first sequence in an [term added] chunk refers to just behind the end of the sequence. [list_end] | < < | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | [item] Also an index equal to the length of the first sequence in an [term added] chunk refers to just behind the end of the sequence. [list_end] [call [cmd ::struct::list] [method lcsInvert2] [arg lcs1] [arg lcs2] [arg len1] [arg len2]] Similar to [method lcsInvert]. Instead of directly taking the result of a call to [method longestCommonSubsequence] this subcommand expects the indices for the two sequences in two separate lists. [call [cmd ::struct::list] [method lcsInvertMerge] [arg lcsData] [arg len1] [arg len2]] Similar to [method lcsInvert]. It returns essentially the same structure as that command, except that it may contain chunks of type [const unchanged] too. |
︙ | ︙ | |||
196 197 198 199 200 201 202 | {changed {3 3} {2 2}} {unchanged {4 5} {3 4}} {deleted {6 7} {4 5}} {unchanged {8 10} {5 7}} {added {10 11} {8 8}}} }] | < < < < < | < | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | {changed {3 3} {2 2}} {unchanged {4 5} {3 4}} {deleted {6 7} {4 5}} {unchanged {8 10} {5 7}} {added {10 11} {8 8}}} }] [call [cmd ::struct::list] [method lcsInvertMerge2] [arg lcs1] [arg lcs2] [arg len1] [arg len2]] Similar to [method lcsInvertMerge]. Instead of directly taking the result of a call to [method longestCommonSubsequence] this subcommand expects the indices for the two sequences in two separate lists. [call [cmd ::struct::list] [method reverse] [arg sequence]] The subcommand takes a single [arg sequence] as argument and returns a new sequence containing the elements of the input sequence in reverse order. [call [cmd ::struct::list] [method shuffle] [arg list]] The subcommand takes a [arg list] and returns a copy of that list with the elements it contains in random order. Every possible ordering of elements is equally likely to be generated. The Fisher-Yates shuffling algorithm is used internally. [call [cmd ::struct::list] [method assign] [arg sequence] [arg varname] [opt [arg varname]]...] The subcommand assigns the first [var n] elements of the input [arg sequence] to the one or more variables whose names were listed after the sequence, where [var n] is the number of specified |
︙ | ︙ | |||
250 251 252 253 254 255 256 | c d e tclsh> set foo a tclsh> set bar b }] | < < | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 | c d e tclsh> set foo a tclsh> set bar b }] [call [cmd ::struct::list] [method flatten] [opt [option -full]] [opt [option --]] [arg sequence]] The subcommand takes a single [arg sequence] and returns a new sequence where one level of nesting was removed from the input sequence. In other words, the sublists in the input sequence are replaced by their elements. [para] The subcommand will remove any nesting it finds if the option [option -full] is specified. [example { tclsh> ::struct::list flatten {1 2 3 {4 5} {6 7} {{8 9}} 10} 1 2 3 4 5 6 7 {8 9} 10 tclsh> ::struct::list flatten -full {1 2 3 {4 5} {6 7} {{8 9}} 10} 1 2 3 4 5 6 7 8 9 10 }] [call [cmd ::struct::list] [method map] [arg sequence] [arg cmdprefix]] The subcommand takes a [arg sequence] to operate on and a command prefix ([arg cmdprefix]) specifying an operation, applies the command prefix to each element of the sequence and returns a sequence consisting of the results of that application. |
︙ | ︙ | |||
301 302 303 304 305 306 307 | tclsh> # given as list of lists. tclsh> proc projection {n list} {::lindex $list $n} tclsh> ::struct::list map {{a b c} {1 2 3} {d f g}} {projection 1} b 2 f }] | < | 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | tclsh> # given as list of lists. tclsh> proc projection {n list} {::lindex $list $n} tclsh> ::struct::list map {{a b c} {1 2 3} {d f g}} {projection 1} b 2 f }] [call [cmd ::struct::list] [method mapfor] [arg var] [arg sequence] [arg script]] The subcommand takes a [arg sequence] to operate on and a tcl [arg script], applies the script to each element of the sequence and returns a sequence consisting of the results of that application. [para] |
︙ | ︙ | |||
332 333 334 335 336 337 338 | tclsh> # given as list of lists. tclsh> ::struct::list mapfor x {{a b c} {1 2 3} {d f g}} { lindex $x 1 } b 2 f }] | < | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 | tclsh> # given as list of lists. tclsh> ::struct::list mapfor x {{a b c} {1 2 3} {d f g}} { lindex $x 1 } b 2 f }] [call [cmd ::struct::list] [method filter] [arg sequence] [arg cmdprefix]] The subcommand takes a [arg sequence] to operate on and a command prefix ([arg cmdprefix]) specifying an operation, applies the command prefix to each element of the sequence and returns a sequence consisting of all elements of the [arg sequence] for which the command |
︙ | ︙ | |||
368 369 370 371 372 373 374 | [para] [emph Note:] The [method filter] is a specialized application of [method fold] where the result is extended with the current item or not, depending o nthe result of the test. | < | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 | [para] [emph Note:] The [method filter] is a specialized application of [method fold] where the result is extended with the current item or not, depending o nthe result of the test. [call [cmd ::struct::list] [method filterfor] [arg var] [arg sequence] [arg expr]] The subcommand takes a [arg sequence] to operate on and a tcl expression ([arg expr]) specifying a condition, applies the conditionto each element of the sequence and returns a sequence consisting of all elements of the [arg sequence] for which the expression returned [const true]. |
︙ | ︙ | |||
395 396 397 398 399 400 401 | [example { tclsh> # removing all odd numbers from the input tclsh> ::struct::list filterfor x {1 2 3 4 5} {($x % 2) == 0} 2 4 }] | < < | 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | [example { tclsh> # removing all odd numbers from the input tclsh> ::struct::list filterfor x {1 2 3 4 5} {($x % 2) == 0} 2 4 }] [call [cmd ::struct::list] [method split] [arg sequence] [arg cmdprefix] [opt "[arg passVar] [arg failVar]"]] This is a variant of method [method filter], see above. Instead of returning just the elements passing the test we get lists of both passing and failing elements. [para] If no variable names are specified then the result of the command will be a list containing the list of passing elements, and the list of failing elements, in this order. Otherwise the lists of passing and failing elements are stored into the two specified variables, and the result will be a list containing two numbers, the number of elements passing the test, and the number of elements failing, in this order. [para] The interface to the test is the same as used by [method filter]. [call [cmd ::struct::list] [method fold] [arg sequence] [arg initialvalue] [arg cmdprefix]] The subcommand takes a [arg sequence] to operate on, an arbitrary string [arg {initial value}] and a command prefix ([arg cmdprefix]) specifying an operation. |
︙ | ︙ | |||
468 469 470 471 472 473 474 | [example { tclsh> # summing the elements in a list. tclsh> proc + {a b} {expr {$a + $b}} tclsh> ::struct::list fold {1 2 3 4 5} 0 + 15 }] | < < < < | 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 | [example { tclsh> # summing the elements in a list. tclsh> proc + {a b} {expr {$a + $b}} tclsh> ::struct::list fold {1 2 3 4 5} 0 + 15 }] [call [cmd ::struct::list] [method shift] [arg listvar]] The subcommand takes the list contained in the variable named by [arg listvar] and shifts it down one element. After the call [arg listvar] will contain a list containing the second to last elements of the input list. The first element of the ist is returned as the result of the command. Shifting the empty list does nothing. [call [cmd ::struct::list] [method iota] [arg n]] The subcommand returns a list containing the integer numbers in the range [const {[0,n)}]. The element at index [var i] of the list contain the number [const i]. [para] For "[arg n] == [const 0]" an empty list will be returned. [call [cmd ::struct::list] [method equal] [arg a] [arg b]] The subcommand compares the two lists [arg a] and [arg b] for equality. In other words, they have to be of the same length and have to contain the same elements in the same order. If an element is a list the same definition of equality applies recursively. [para] A boolean value will be returned as the result of the command. This value will be [const true] if the two lists are equal, and [const false] else. [call [cmd ::struct::list] [method repeat] [arg size] [arg element1] [opt "[arg element2] [arg element3]..."]] The subcommand creates a list of length "[arg size] * [emph {number of elements}]" by repeating [arg size] times the sequence of elements |
︙ | ︙ | |||
573 574 575 576 577 578 579 | {0 0 0} {0 0 0} {0 0 0} {0 0 0} tclsh> ::struct::list repeatn 0 {3 4} {0 0 0} {0 0 0} {0 0 0} {0 0 0} tclsh> ::struct::list repeatn 0 {3 4 5} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} }] | < | 585 586 587 588 589 590 591 592 593 594 595 596 597 598 | {0 0 0} {0 0 0} {0 0 0} {0 0 0} tclsh> ::struct::list repeatn 0 {3 4} {0 0 0} {0 0 0} {0 0 0} {0 0 0} tclsh> ::struct::list repeatn 0 {3 4 5} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} {{0 0 0} {0 0 0} {0 0 0} {0 0 0}} }] [call [cmd ::struct::list] [method dbJoin] [opt [option -inner]|[option -left]|[option -right]|[option -full]] [opt "[option -keys] [arg varname]"] \{[arg keycol] [arg table]\}...] The method performs a table join according to relational algebra. The execution of any of the possible outer join operation is triggered by the presence of either option [option -left], [option -right], or [option -full]. If none of these options is present a regular inner join will be performed. This can also be triggered by specifying |
︙ | ︙ | |||
624 625 626 627 628 629 630 | [para] The table resulting from the join operation is returned as the result of the command. We use the same representation as described above for the input [arg table]s. | < < < < < < | 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | [para] The table resulting from the join operation is returned as the result of the command. We use the same representation as described above for the input [arg table]s. [call [cmd ::struct::list] [method dbJoinKeyed] [opt [option -inner]|[option -left]|[option -right]|[option -full]] [opt "[option -keys] [arg varname]"] [arg table]...] The operations performed by this method are the same as described above for [method dbJoin]. The only difference is in the specification of the keys to use. Instead of using column indices separate from the table here the keys are provided within the table itself. The row elements in each [arg table] are not the lists of column values, but a two-element list where the second element is the regular list of column values and the first element is the key to use. [call [cmd ::struct::list] [method swap] [arg listvar] [arg i] [arg j]] The subcommand exchanges the elements at the indices [arg i] and [arg j] in the list stored in the variable named by [arg listvar]. The list is modified in place, and also returned as the result of the subcommand. [call [cmd ::struct::list] [method firstperm] [arg list]] This subcommand returns the lexicographically first permutation of the input [arg list]. [call [cmd ::struct::list] [method nextperm] [arg perm]] This subcommand accepts a permutation of a set of elements (provided by [arg perm]) and returns the next permutatation in lexicographic sequence. [para] The algorithm used here is by Donal E. Knuth, see section [sectref REFERENCES] for details. [call [cmd ::struct::list] [method permutations] [arg list]] This subcommand returns a list containing all permutations of the input [arg list] in lexicographic order. [call [cmd ::struct::list] [method foreachperm] [arg var] [arg list] [arg body]] This subcommand executes the script [arg body] once for each permutation of the specified [arg list]. The permutations are visited in lexicographic order, and the variable [arg var] is set to the permutation for which [arg body] is currently executed. The result of |
︙ | ︙ | |||
695 696 697 698 699 700 701 | two files, a quarter of whose lines are blank. This drawback is intrinsic to the algorithm used (see the Reference for details). [para] One approach to dealing with the performance problem that is sometimes effective in practice is arbitrarily to exclude elements that appear | | < | 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 | two files, a quarter of whose lines are blank. This drawback is intrinsic to the algorithm used (see the Reference for details). [para] One approach to dealing with the performance problem that is sometimes effective in practice is arbitrarily to exclude elements that appear more than a certain number of times. This number is provided as the [arg maxOccurs] parameter. If frequent lines are excluded in this manner, they will not appear in the common subsequence that is computed; the result will be the longest common subsequence of infrequent elements. The procedure [method longestCommonSubsequence2] implements this heuristic. It functions as a wrapper around [method longestCommonSubsequence]; it computes the longest common subsequence of infrequent elements, and then subdivides the subsequences that lie between the matches to approximate the true longest common subsequence. [section {TABLE JOIN}] This is an operation from relational algebra for relational databases. [para] |
︙ | ︙ | |||
750 751 752 753 754 755 756 | an empty row of the right table to fit them into the result. [enum] For the right outer join the additional rows are all rows from the right table for which there is no key in the left table. They are joined to an empty row of the left table to fit them into the result. | < | 754 755 756 757 758 759 760 761 762 763 764 765 766 767 | an empty row of the right table to fit them into the result. [enum] For the right outer join the additional rows are all rows from the right table for which there is no key in the left table. They are joined to an empty row of the left table to fit them into the result. [enum] The full outer join combines both left and right outer join. In other words, the additional rows are as defined for left outer join, and right outer join, combined. |
︙ | ︙ | |||
800 801 802 803 804 805 806 | {0 foo} {0 bagel} {0 foo 0 bagel} {1 snarf} full outer join {1 snatz} = {1 snarf 1 snatz} {2 blue} {3 driver} {2 blue {} {}} {{} {} 3 driver} }] | < < < | | < < < < < | < | < < < < < < < < < < < < < < | 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 | {0 foo} {0 bagel} {0 foo 0 bagel} {1 snarf} full outer join {1 snatz} = {1 snarf 1 snatz} {2 blue} {3 driver} {2 blue {} {}} {{} {} 3 driver} }] [section REFERENCES] [list_begin enumerated] [enum] J. W. Hunt and M. D. McIlroy, "An algorithm for differential file comparison," Comp. Sci. Tech. Rep. #41, Bell Telephone Laboratories (1976). Available on the Web at the second author's personal site: [uri http://www.cs.dartmouth.edu/~doug/] [enum] Donald E. Knuth, "Fascicle 2b of 'The Art of Computer Programming' volume 4". Available on the Web at the author's personal site: [uri http://www-cs-faculty.stanford.edu/~knuth/fasc2b.ps.gz]. [list_end] [vset CATEGORY {struct :: list}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/struct_set.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: struct_set.man,v 1.12 2009/01/29 06:16:20 andreas_kupries Exp $}] [manpage_begin struct::set n 2.2.3] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Procedures for manipulating sets}] [category {Data structures}] [require Tcl 8.0] [require struct::set [opt 2.2.3]] [description] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [comment {$Id: struct_set.man,v 1.12 2009/01/29 06:16:20 andreas_kupries Exp $}] [manpage_begin struct::set n 2.2.3] [keywords cardinality] [keywords difference] [keywords emptiness] [keywords exclusion] [keywords inclusion] [keywords intersection] [keywords membership] [keywords set] [keywords {symmetric difference}] [keywords union] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Procedures for manipulating sets}] [category {Data structures}] [require Tcl 8.0] [require struct::set [opt 2.2.3]] [description] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [list_begin definitions] [call [cmd ::struct::set] [method empty] [arg set]] Returns a boolean value indicating if the [arg set] is empty ([const true]), or not ([const false]). | < < < < < < < < < < < < < < < < < < < | < | < < < < < < < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | [list_begin definitions] [call [cmd ::struct::set] [method empty] [arg set]] Returns a boolean value indicating if the [arg set] is empty ([const true]), or not ([const false]). [call [cmd ::struct::set] [method size] [arg set]] Returns an integer number greater than or equal to zero. This is the number of elements in the [arg set]. In other words, its cardinality. [call [cmd ::struct::set] [method contains] [arg set] [arg item]] Returns a boolean value indicating if the [arg set] contains the element [arg item] ([const true]), or not ([const false]). [call [cmd ::struct::set] [method union] [opt [arg set1]...]] Computes the set containing the union of [arg set1], [arg set2], etc., i.e. "[arg set1] + [arg set2] + ...", and returns this set as the result of the command. [call [cmd ::struct::set] [method intersect] [opt [arg set1]...]] Computes the set containing the intersection of [arg set1], [arg set2], etc., i.e. "[arg set1] * [arg set2] * ...", and returns this set as the result of the command. [call [cmd ::struct::set] [method difference] [arg set1] [arg set2]] Computes the set containing the difference of [arg set1] and [arg set2], i.e. ("[arg set1] - [arg set2]") and returns this set as the result of the command. [call [cmd ::struct::set] [method symdiff] [arg set1] [arg set2]] Computes the set containing the symmetric difference of [arg set1] and [arg set2], i.e. ("([arg set1] - [arg set2]) + ([arg set2] - [arg set1])") and returns this set as the result of the command. [call [cmd ::struct::set] [method intersect3] [arg set1] [arg set2]] This command is a combination of the methods [method intersect] and [method difference]. It returns a three-element list containing "[arg set1]*[arg set2]", "[arg set1]-[arg set2]", and "[arg set2]-[arg set1]", in this order. In other words, the intersection of the two parameter sets, and their differences. [call [cmd ::struct::set] [method equal] [arg set1] [arg set2]] Returns a boolean value indicating if the two sets are equal ([const true]) or not ([const false]). [call [cmd ::struct::set] [method include] [arg svar] [arg item]] The element [arg item] is added to the set specified by the variable name in [arg svar]. The return value of the command is empty. This is the equivalent of [cmd lappend] for sets. If the variable named by [arg svar] does not exist it will be created. [call [cmd ::struct::set] [method exclude] [arg svar] [arg item]] The element [arg item] is removed from the set specified by the variable name in [arg svar]. The return value of the command is empty. This is a near-equivalent of [cmd lreplace] for sets. [call [cmd ::struct::set] [method add] [arg svar] [arg set]] All the element of [arg set] are added to the set specified by the variable name in [arg svar]. The return value of the command is empty. This is like the method [method include], but for the addition of a whole set. If the variable named by [arg svar] does not exist it will be created. [call [cmd ::struct::set] [method subtract] [arg svar] [arg set]] All the element of [arg set] are removed from the set specified by the variable name in [arg svar]. The return value of the command is empty. This is like the method [method exclude], but for the removal of a whole set. [call [cmd ::struct::set] [method subsetof] [arg A] [arg B]] Returns a boolean value indicating if the set [arg A] is a true subset of or equal to the set [arg B] ([const true]), or not ([const false]). [list_end] [section REFERENCES] [vset CATEGORY {struct :: set}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/struct_tree.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin struct::tree n 2.1.1] [copyright {2002-2004,2012 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate tree objects}] [category {Data structures}] [require Tcl 8.2] [require struct::tree [opt 2.1.1]] [require struct::list [opt 1.5]] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*-}] [manpage_begin struct::tree n 2.1.1] [keywords breadth-first] [keywords depth-first] [keywords in-order] [keywords node] [keywords post-order] [keywords pre-order] [keywords serialization] [keywords tree] [copyright {2002-2004,2012 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate tree objects}] [category {Data structures}] [require Tcl 8.2] [require struct::tree [opt 2.1.1]] [require struct::list [opt 1.5]] |
︙ | ︙ | |||
94 95 96 97 98 99 100 | is equivalent to [para] [example { ::struct::tree mytree mytree = b }] [para] | | < | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | is equivalent to [para] [example { ::struct::tree mytree mytree = b }] [para] and [para] [example { ::struct::tree mytree deserialize $b }] [para] is equivalent to [para] [example { ::struct::tree mytree mytree deserialize $b }] [call [cmd ::struct::tree::prune]] This command is provided outside of the tree methods, as it is not a tree method per se. It however interacts tightly with the method [method walk]. When used in the walk script it causes the traversal to ignore the children of the node we are currently at. |
︙ | ︙ | |||
165 166 167 168 169 170 171 | This operation is in effect equivalent to [para] [example_begin] [arg treeName] [method deserialize] [lb][arg sourcetree] [method serialize][rb] [example_end] | < < < < | 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | This operation is in effect equivalent to [para] [example_begin] [arg treeName] [method deserialize] [lb][arg sourcetree] [method serialize][rb] [example_end] [call [arg treeName] [method -->] [arg desttree]] This is the reverse assignment operator for tree objects. It copies the tree contained in the tree object [arg treeName] over the tree data in the object [arg desttree]. The old contents of [arg desttree] are deleted by this operation. [para] This operation is in effect equivalent to [para] [example_begin] [arg desttree] [method deserialize] [lb][arg treeName] [method serialize][rb] [example_end] [call [arg treeName] [method ancestors] [arg node]] This method extends the method [method parent] and returns a list containing all ancestor nodes to the specified [arg node]. The immediate ancestor, in other words, parent node, is the first element in that list, its parent the second element, and so on until the root node is reached, making it the last element of the returned list. [call [arg treeName] [method append] [arg node] [arg key] [arg value]] Appends a [arg value] to one of the keyed values associated with an node. Returns the new value given to the attribute [arg key]. [call [arg treeName] [method attr] [arg key]] [call [arg treeName] [method attr] [arg key] [option -nodes] [arg list]] [call [arg treeName] [method attr] [arg key] [option -glob] [arg globpattern]] [call [arg treeName] [method attr] [arg key] [option -regexp] [arg repattern]] This method retrieves the value of the attribute named [arg key], for |
︙ | ︙ | |||
285 286 287 288 289 290 291 | tclsh> lsort [mytree children root filter vol] 0 tclsh> puts ([lsort [mytree children root filter vgt40]]) () }] | < < < < < < < < < < < < < | 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | tclsh> lsort [mytree children root filter vol] 0 tclsh> puts ([lsort [mytree children root filter vgt40]]) () }] [call [arg treeName] [method cut] [arg node]] Removes the node specified by [arg node] from the tree, but not its children. The children of [arg node] are made children of the parent of the [arg node], at the index at which [arg node] was located. [call [arg treeName] [method delete] [arg node] [opt "[arg node] ..."]] Removes the specified nodes from the tree. All of the nodes' children will be removed as well to prevent orphaned nodes. [call [arg treeName] [method depth] [arg node]] Return the number of steps from node [arg node] to the root node. [call [arg treeName] [method descendants] [arg node] [opt "[const filter] [arg cmdprefix]"]] This method extends the method [method children] and returns a list containing all nodes descending from [arg node], and passing the filter, if such was specified. [para] This is actually the same as "[arg treeName] [method children] [option -all]". [method descendants] should be prefered, and "children -all" will be deprecated sometime in the future. [call [arg treeName] [method deserialize] [arg serialization]] This is the complement to [method serialize]. It replaces tree data in [arg treeName] with the tree described by the [arg serialization] value. The old contents of [arg treeName] are deleted by this operation. [call [arg treeName] [method destroy]] Destroy the tree, including its storage space and associated command. [call [arg treeName] [method exists] [arg node]] Returns true if the specified node exists in the tree. [call [arg treeName] [method get] [arg node] [arg key]] Returns the value associated with the key [arg key] for the node [arg node]. [call [arg treeName] [method getall] [arg node] [opt [arg pattern]]] Returns a dictionary (suitable for use with [lb][cmd {array set}][rb]) containing the attribute data for the [arg node]. If the glob [arg pattern] is specified only the attributes whose names match the pattern will be part of the dictionary. [call [arg treeName] [method keys] [arg node] [opt [arg pattern]]] Returns a list of keys for the [arg node]. If the [arg pattern] is specified only the attributes whose names match the pattern will be part of the returned list. The pattern is a [cmd glob] pattern. [call [arg treeName] [method keyexists] [arg node] [arg key]] Return true if the specified [arg key] exists for the [arg node]. [call [arg treeName] [method index] [arg node]] Returns the index of [arg node] in its parent's list of children. For example, if a node has [term nodeFoo], [term nodeBar], and [term nodeBaz] as children, in that order, the index of [term nodeBar] is 1. [call [arg treeName] [method insert] [arg parent] [arg index] [opt "[arg child] [opt "[arg child] ..."]"]] Insert one or more nodes into the tree as children of the node [arg parent]. The nodes will be added in the order they are given. If [arg parent] is [const root], it refers to the root of the tree. The |
︙ | ︙ | |||
403 404 405 406 407 408 409 | form [emph node][var x], where [var x] is a number. If names are specified they must neither contain whitespace nor colons (":"). [para] The return result from this command is a list of nodes added. | < < < < < < < < < < < < | 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 | form [emph node][var x], where [var x] is a number. If names are specified they must neither contain whitespace nor colons (":"). [para] The return result from this command is a list of nodes added. [call [arg treeName] [method isleaf] [arg node]] Returns true if [arg node] is a leaf of the tree (if [arg node] has no children), false otherwise. [call [arg treeName] [method lappend] [arg node] [arg key] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg node]. Returns the new value given to the attribute [arg key]. [call [arg treeName] [method leaves]] Return a list containing all leaf nodes known to the tree. [call [arg treeName] [method move] [arg parent] [arg index] [arg node] [opt "[arg node] ..."]] Make the specified nodes children of [arg parent], inserting them into the parent's child list at the index given by [arg index]. Note that the command will take all nodes out of the tree before inserting them under the new parent, and that it determines the position to place them into after the removal, before the re-insertion. This behaviour is important when it comes to moving one or more nodes to a different index without changing their parent node. [call [arg treeName] [method next] [arg node] ] Return the right sibling of [arg node], or the empty string if [arg node] was the last child of its parent. [call [arg treeName] [method numchildren] [arg node]] Return the number of immediate children of [arg node]. [call [arg treeName] [method nodes]] Return a list containing all nodes known to the tree. [call [arg treeName] [method parent] [arg node]] Return the parent of [arg node]. [call [arg treeName] [method previous] [arg node] ] Return the left sibling of [arg node], or the empty string if [arg node] was the first child of its parent. [call [arg treeName] [method rename] [arg node] [arg newname]] Renames the node [arg node] to [arg newname]. An error is thrown if either the node does not exist, or a node with name [arg newname] does exist. The result of the command is the new name of the node. [call [arg treeName] [method rootname]] Returns the name of the root node of the tree. [call [arg treeName] [method serialize] [opt [arg node]]] This method serializes the sub-tree starting at [arg node]. In other words it returns a tcl [emph value] completely describing the tree starting at [arg node]. |
︙ | ︙ | |||
547 548 549 550 551 552 553 | is {root {} {} a 0 {} d 3 {} e 3 {} b 0 {} c 0 {}} The above assumes that none of the nodes have attributes. }] | < < < < < < < < | 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 | is {root {} {} a 0 {} d 3 {} e 3 {} b 0 {} c 0 {}} The above assumes that none of the nodes have attributes. }] [call [arg treeName] [method set] [arg node] [arg key] [opt [arg value]]] Set or get one of the keyed values associated with a node. A node may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key, and returns it. [call [arg treeName] [method size] [opt [arg node]]] Return a count of the number of descendants of the node [arg node]; if no node is specified, [const root] is assumed. [call [arg treeName] [method splice] [arg parent] [arg from] [opt [arg to]] [opt [arg child]]] Insert a node named [arg child] into the tree as a child of the node [arg parent]. If [arg parent] is [const root], it refers to the root of the tree. The new node will be added to the parent node's child list at the index given by [arg from]. The children of [arg parent] which are in the range of the indices [arg from] and [arg to] are made children of [arg child]. If the value of [arg to] is not specified it defaults to [const end]. If no name is given for [arg child], a name will be generated for the new node. The generated name is of the form [emph node][var x], where [var x] is a number. The return result from this command is the name of the new node. [para] The arguments [arg from] and [arg to] are regular list indices, i.e. the form "end-[var n]" is accepted as well. [call [arg treeName] [method swap] [arg node1] [arg node2]] Swap the position of [arg node1] and [arg node2] in the tree. [call [arg treeName] [method unset] [arg node] [arg key]] Removes a keyed value from the node [arg node]. The method will do nothing if the [arg key] does not exist. [call [arg treeName] [method walk] [arg node] [opt "[option -order] [arg order]"] [opt "[option -type] [arg type]"] [arg loopvar] [arg script]] Perform a breadth-first or depth-first walk of the tree starting at the node [arg node]. The type of walk, breadth-first or depth-first, is determined by the value of [arg type]; [const bfs] indicates breadth-first, [const dfs] indicates depth-first. Depth-first is the |
︙ | ︙ | |||
689 690 691 692 693 694 695 | Note the command [cmd ::struct::tree::prune]. This command can be used in the walk script to force the command to ignore the children of the node we are currently at. It will throw an error if the order of traversal is either [const post] or [const in] as these modes visit the children before their parent, making pruning non-sensical. | < < | 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 | Note the command [cmd ::struct::tree::prune]. This command can be used in the walk script to force the command to ignore the children of the node we are currently at. It will throw an error if the order of traversal is either [const post] or [const in] as these modes visit the children before their parent, making pruning non-sensical. [call [arg treeName] [method walkproc] [arg node] [opt "[option -order] [arg order]"] [opt "[option -type] [arg type]"] [arg cmdprefix]] This method is like method [method walk] in all essentials, except the interface to the user code. This method invokes a command prefix with three additional arguments (tree, node, and action), instead of evaluating a script and passing the node via a loop variable. [list_end] [subsection {Changes for 2.0}] The following noteworthy changes have occurred: |
︙ | ︙ | |||
755 756 757 758 759 760 761 | documentation on the construction of tree objects. [para] Beyond the copying of whole tree objects these new API's also enable the transfer of tree objects over arbitrary channels and for easy persistence. | < | 723 724 725 726 727 728 729 730 731 732 733 734 735 736 | documentation on the construction of tree objects. [para] Beyond the copying of whole tree objects these new API's also enable the transfer of tree objects over arbitrary channels and for easy persistence. [enum] The walker API has been streamlined and made more similar to the command [cmd foreach]. In detail: [list_begin itemized] |
︙ | ︙ | |||
816 817 818 819 820 821 822 | mytree insert root end 1 2 ; # Ditto nodes 1 & 2 mytree insert 0 end 3 ; # Now create node 3 as child of node 0 mytree insert 0 end ; # Create another child of 0, with a # generated name. The name is returned # as the result of the command. }] | < < < < < | < | < < < < < | 783 784 785 786 787 788 789 790 791 792 | mytree insert root end 1 2 ; # Ditto nodes 1 & 2 mytree insert 0 end 3 ; # Now create node 3 as child of node 0 mytree insert 0 end ; # Create another child of 0, with a # generated name. The name is returned # as the result of the command. }] [vset CATEGORY {struct :: tree}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/struct/struct_tree1.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*-}] [manpage_begin {struct::tree_v1} n 1.2.2] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate tree objects}] [category {Data structures}] [require Tcl 8.2] [require struct::tree [opt 1.2.2]] [description] | > | 1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*-}] [manpage_begin {struct::tree_v1} n 1.2.2] [keywords tree] [copyright {2002 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Create and manipulate tree objects}] [category {Data structures}] [require Tcl 8.2] [require struct::tree [opt 1.2.2]] [description] |
︙ | ︙ | |||
51 52 53 54 55 56 57 | [enum] Each node of a tree has a separate collection of attributes and values. This is like an array where every value is a dictionary. [list_end] [para] | < < < < < < < < < < < < | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | [enum] Each node of a tree has a separate collection of attributes and values. This is like an array where every value is a dictionary. [list_end] [para] The following commands are possible for tree objects: [list_begin definitions] [call [arg treeName] [method append] [arg node] [opt "-key [arg key]"] [arg value]] Appends a [arg value] to one of the keyed values associated with an node. If no [arg key] is specified, the key [const data] is assumed. [call [arg treeName] [method children] [arg node]] Return a list of the children of [arg node]. [call [arg treeName] [method cut] [arg node]] Removes the node specified by [arg node] from the tree, but not its children. The children of [arg node] are made children of the parent of the [arg node], at the index at which [arg node] was located. [call [arg treeName] [method delete] [arg node] [opt "[arg node] ..."]] Removes the specified nodes from the tree. All of the nodes' children will be removed as well to prevent orphaned nodes. [call [arg treeName] [method depth] [arg node]] Return the number of steps from node [arg node] to the root node. [call [arg treeName] [method destroy]] Destroy the tree, including its storage space and associated command. [call [arg treeName] [method exists] [arg node]] Returns true if the specified node exists in the tree. [call [arg treeName] [method get] [arg node] [opt "[option -key] [arg key]"]] Return the value associated with the key [arg key] for the node [arg node]. If no key is specified, the key [const data] is assumed. [call [arg treeName] [method getall] [arg node]] Returns a serialized list of key/value pairs (suitable for use with [lb][cmd {array set}][rb]) for the [arg node]. [call [arg treeName] [method keys] [arg node]] Returns a list of keys for the [arg node]. [call [arg treeName] [method keyexists] [arg node] [opt "-key [arg key]"]] Return true if the specified [arg key] exists for the [arg node]. If no [arg key] is specified, the key [const data] is assumed. [call [arg treeName] [method index] [arg node]] Returns the index of [arg node] in its parent's list of children. For example, if a node has [term nodeFoo], [term nodeBar], and [term nodeBaz] as children, in that order, the index of [term nodeBar] is 1. [call [arg treeName] [method insert] [arg parent] [arg index] [opt "[arg child] [opt "[arg child] ..."]"]] Insert one or more nodes into the tree as children of the node [arg parent]. The nodes will be added in the order they are given. If [arg parent] is [const root], it refers to the root of the tree. The |
︙ | ︙ | |||
155 156 157 158 159 160 161 | form [emph node][var x], where [var x] is a number. If names are specified they must neither contain whitespace nor colons (":"). [para] The return result from this command is a list of nodes added. | < < < < < < < < < < < < < | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | form [emph node][var x], where [var x] is a number. If names are specified they must neither contain whitespace nor colons (":"). [para] The return result from this command is a list of nodes added. [call [arg treeName] [method isleaf] [arg node]] Returns true if [arg node] is a leaf of the tree (if [arg node] has no children), false otherwise. [call [arg treeName] [method lappend] [arg node] [opt "-key [arg key]"] [arg value]] Appends a [arg value] (as a list) to one of the keyed values associated with an [arg node]. If no [arg key] is specified, the key [const data] is assumed. [call [arg treeName] [method move] [arg parent] [arg index] [arg node] [opt "[arg node] ..."]] Make the specified nodes children of [arg parent], inserting them into the parent's child list at the index given by [arg index]. Note that the command will take all nodes out of the tree before inserting them under the new parent, and that it determines the position to place them into after the removal, before the re-insertion. This behaviour is important when it comes to moving one or more nodes to a different index without changing their parent node. [call [arg treeName] [method next] [arg node] ] Return the right sibling of [arg node], or the empty string if [arg node] was the last child of its parent. [call [arg treeName] [method numchildren] [arg node]] Return the number of immediate children of [arg node]. [call [arg treeName] [method parent] [arg node]] Return the parent of [arg node]. [call [arg treeName] [method previous] [arg node] ] Return the left sibling of [arg node], or the empty string if [arg node] was the first child of its parent. [call [arg treeName] [method set] [arg node] [opt "[option -key] [arg key]"] [opt [arg value]]] Set or get one of the keyed values associated with a node. If no key is specified, the key [const data] is assumed. Each node that is added to a tree has the value "" assigned to the key [const data] automatically. A node may have any number of keyed values associated with it. If [arg value] is not specified, this command returns the current value assigned to the key; if [arg value] is specified, this command assigns that value to the key. [call [arg treeName] [method size] [opt [arg node]]] Return a count of the number of descendants of the node [arg node]; if no node is specified, [const root] is assumed. [call [arg treeName] [method splice] [arg parent] [arg from] [opt [arg to]] [opt [arg child]]] Insert a node named [arg child] into the tree as a child of the node [arg parent]. If [arg parent] is [const root], it refers to the root of the tree. The new node will be added to the parent node's child list at the index given by [arg from]. The children of [arg parent] which are in the range of the indices [arg from] and [arg to] are made children of [arg child]. If the value of [arg to] is not specified it defaults to [const end]. If no name is given for [arg child], a name will be generated for the new node. The generated name is of the form [emph node][var x], where [var x] is a number. The return result from this command is the name of the new node. [call [arg treeName] [method swap] [arg node1] [arg node2]] Swap the position of [arg node1] and [arg node2] in the tree. [call [arg treeName] [method unset] [arg node] [opt "[option -key] [arg key]"]] Removes a keyed value from the node [arg node]. If no key is specified, the key [const data] is assumed. [call [arg treeName] [method walk] [arg node] [opt "[option -order] [arg order]"] [opt "[option -type] [arg type]"] [option -command] [arg cmd]] Perform a breadth-first or depth-first walk of the tree starting at the node [arg node]. The type of walk, breadth-first or depth-first, is determined by the value of [arg type]; [const bfs] indicates breadth-first, [const dfs] indicates depth-first. Depth-first is the |
︙ | ︙ | |||
307 308 309 310 311 312 313 | walk, the command will be evaluated twice for each node; the action is [const enter] for the first evaluation, and [const leave] for the second. [list_end] [list_end] | < < < < < | < | < < < < < | 283 284 285 286 287 288 289 290 291 292 | walk, the command will be evaluated twice for each node; the action is [const enter] for the first evaluation, and [const leave] for the second. [list_end] [list_end] [vset CATEGORY {struct :: tree}] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/tar/tar.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tar n 0.7] [moddesc {Tar file handling}] [titledesc {Tar file creation, extraction & manipulation}] [category {File formats}] [require Tcl 8.4] [require tar [opt 0.7]] [description] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tar n 0.7] [keywords archive] [keywords {tape archive}] [keywords tar] [moddesc {Tar file handling}] [titledesc {Tar file creation, extraction & manipulation}] [category {File formats}] [require Tcl 8.4] [require tar [opt 0.7]] [description] [para] [list_begin definitions] [call [cmd ::tar::contents] [arg tarball] [opt [option -chan]]] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | foo.jpg {mode 0644 uid 1000 gid 0 size 7580 mtime 811903867 type file linkname {} uname user gname wheel devmajor 0 devminor 0} }] [para] If the option [option -chan] is present [arg tarball] is interpreted as an open channel. It is assumed that the channel was opened for reading, and configured for binary input. The command will [emph not] close the channel. | < | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | foo.jpg {mode 0644 uid 1000 gid 0 size 7580 mtime 811903867 type file linkname {} uname user gname wheel devmajor 0 devminor 0} }] [para] If the option [option -chan] is present [arg tarball] is interpreted as an open channel. It is assumed that the channel was opened for reading, and configured for binary input. The command will [emph not] close the channel. [call [cmd ::tar::untar] [arg tarball] [arg args]] Extracts [arg tarball]. [arg -file] and [arg -glob] limit the extraction to files which exactly match or pattern match the given argument. No error is thrown if no files match. Returns a list of filenames extracted and the file size. The size will be null for non regular files. Leading path seperators are |
︙ | ︙ | |||
90 91 92 93 94 95 96 | }] [para] If the option [option -chan] is present [arg tarball] is interpreted as an open channel. It is assumed that the channel was opened for reading, and configured for binary input. The command will [emph not] close the channel. | < | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | }] [para] If the option [option -chan] is present [arg tarball] is interpreted as an open channel. It is assumed that the channel was opened for reading, and configured for binary input. The command will [emph not] close the channel. [call [cmd ::tar::create] [arg tarball] [arg files] [arg args]] Creates a new tar file containing the [arg files]. [arg files] must be specified as a single argument which is a proper list of filenames. [list_begin options] [opt_def -dereference] |
︙ | ︙ | |||
127 128 129 130 131 132 133 | [list_begin options] [opt_def -dereference] Normally [cmd add] will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead. [opt_def -prefix string] | | | | | | | | < | < < < < < < < < < < < | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | [list_begin options] [opt_def -dereference] Normally [cmd add] will store links as an actual link pointing at a file that may or may not exist in the archive. Specifying this option will cause the actual file point to by the link to be stored instead. [opt_def -prefix string] Normally [cmd add] will store files under exactly the name specified as argument. Specifying a [opt -prefix] causes the [arg string] to be prepended to every name. [opt_def -quick] The only sure way to find the position in the [arg tarball] where new files can be added is to read it from start, but if [arg tarball] was written with a "blocksize" of 1 (as this package does) then one can alternatively find this position by seeking from the end. The [opt -quick] option tells [cmd add] to do the latter. [list_end] [para] [call [cmd ::tar::remove] [arg tarball] [arg files]] Removes [arg files] from the [arg tarball]. No error will result if the file does not exist in the tarball. Directory write permission and free disk space equivalent to at least the size of the tarball will be needed. [example { % ::tar::remove new.tar {file2 file3} % ::tar::contents new.tar file3 }] [list_end] [vset CATEGORY tar] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/tepam/tepam_argument_dialogbox.man.
1 2 3 4 5 6 7 8 9 10 | [manpage_begin tepam::argument_dialogbox n 0.4.1] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {TEPAM argument_dialogbox, reference manual}] [category {Argument entry form, mega widget}] [require Tcl 8.3] [require Tk 8.3] [require tepam [opt 0.4]] [description] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin tepam::argument_dialogbox n 0.4.1] [see_also tepam(n)] [see_also tepam::procedure(n)] [keywords {data entry form}] [keywords {parameter entry form}] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {TEPAM argument_dialogbox, reference manual}] [category {Argument entry form, mega widget}] [require Tcl 8.3] [require Tk 8.3] [require tepam [opt 0.4]] [description] [section "ARGUMENT DIALOGBOX CALL"] TEPAM's [cmd argument_dialogbox] is a flexible and easily usable data entry form generator. Each data entry element of a form is defined via a [emph {data entry item}] that can be provided to [cmd argument_dialogbox] in two formats: [list_begin definitions] [call [cmd tepam::argument_dialogbox] [arg "item_name item_attributes [opt {item_name item_attributes}] [opt {...}]"]] |
︙ | ︙ | |||
51 52 53 54 55 56 57 | ... [cmd -checkbutton] {[arg {-label "Don't use highways" -variable no_highway}]} [cmd \}][rb][example_end] [list_end] The commands [cmd argument_dialogbox] as well as [cmd procedure] are exported from the namespace [namespace tepam]. To use these commands without the [namespace tepam::] namespace prefix, it is sufficient to import them into the main namespace: [example_begin][cmd {namespace import tepam::*}] | | | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | ... [cmd -checkbutton] {[arg {-label "Don't use highways" -variable no_highway}]} [cmd \}][rb][example_end] [list_end] The commands [cmd argument_dialogbox] as well as [cmd procedure] are exported from the namespace [namespace tepam]. To use these commands without the [namespace tepam::] namespace prefix, it is sufficient to import them into the main namespace: [example_begin][cmd {namespace import tepam::*}] set DialogResult [lb][cmd argument_dialogbox] \ -title "Itinerary selection" ...[example_end] The following subsections explain the different argument item types that are accepted by the [cmd argument_dialogbox], classified into three groups. The first data entry item definition format will be used in the remaining document, knowing that this format can always be transformed into the second format by putting all arguments into a single list that is then provided to [cmd argument_dialogbox]. [subsection "Context Definition Items"] |
︙ | ︙ | |||
242 243 244 245 246 247 248 | [def "-listbox [arg list]"] In contrast to the combo box, the list box is always displayed by the [arg listbox] entry widget. Only one element is selectable unless the [arg -multiple_selection] attribute is set. The list box height can be selected with the [arg -height] attribute. If the height is not explicitly defined, the list box height is automatically adapted to the argument dialog box' size. The first example uses a variable to define the available choices: [example_begin]set set AvailableSizes for {set k 0} {$k<16} {incr k} {lappend AvailableSizes [lb]expr 1<<$k[rb]} | | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 | [def "-listbox [arg list]"] In contrast to the combo box, the list box is always displayed by the [arg listbox] entry widget. Only one element is selectable unless the [arg -multiple_selection] attribute is set. The list box height can be selected with the [arg -height] attribute. If the height is not explicitly defined, the list box height is automatically adapted to the argument dialog box' size. The first example uses a variable to define the available choices: [example_begin]set set AvailableSizes for {set k 0} {$k<16} {incr k} {lappend AvailableSizes [lb]expr 1<<$k[rb]} tepam::argument_dialogbox \ [cmd -listbox] {-label "Distance" -variable Distance \ -choicevariable AvailableSizes -default 6 -height 5}[example_end] Here is a multi-element selection example. Please note that also the default selection can contain multiple elements: [example_begin]tepam::argument_dialogbox \ |
︙ | ︙ | |||
362 363 364 365 366 367 368 | -entry {-label "Street number" -variable start_street_nbr -type integer [cmd {-optional 1}]} \[example_end] [def "-type [arg string]"] If the data type is defined with the [arg -type] attribute the argument dialog box will automatically perform a data type check after acknowledging the entered values and before the dialog box is closed. If a type incompatible value is found an error message box appears and the user can correct the value. [para] The argument dialog box accepts all types that have been specified by the TEPAM package and that are also used by [cmd tepam::procedure] (see the [emph {tepam::procedure reference manual}]). [para] | | | 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 | -entry {-label "Street number" -variable start_street_nbr -type integer [cmd {-optional 1}]} \[example_end] [def "-type [arg string]"] If the data type is defined with the [arg -type] attribute the argument dialog box will automatically perform a data type check after acknowledging the entered values and before the dialog box is closed. If a type incompatible value is found an error message box appears and the user can correct the value. [para] The argument dialog box accepts all types that have been specified by the TEPAM package and that are also used by [cmd tepam::procedure] (see the [emph {tepam::procedure reference manual}]). [para] Some entry widgets like the file and directory widgets, as well as the color and font widgets are specifying automatically the default data type if no type has been specified explicitly with the [arg -type] attribute. [example_begin]tepam::argument_dialogbox \ [cmd -entry] {-label "Street number" -variable start_street_nbr [cmd {-type integer}]} \[example_end] [def "-range [arg string]"] Values can be constrained with the [arg -range] attribute. The valid range is defined with a list containing the minimum valid value and a maximum valid value. [para] The [arg -range] attribute has to be used only for numerical arguments, like integers and doubles. |
︙ | ︙ | |||
448 449 450 451 452 453 454 | All widgets containing a selection list ([cmd -listbox], [cmd -disjointlistbox], [cmd -font]) as well as the multi line [cmd -text] widget are accepting the [arg -height] attribute that defines the number of displayed rows of the selection lists. [example_begin]tepam::argument_dialogbox \ -listbox {-label "Text size" -variable Size \ -choices {8 9 10 12 15 18} -default 12 [cmd {-height 3}]}[example_end] If the no height has been explicitly specified the height of the widget will be dynamically adapted to the argument dialog box' size. [list_end] | < | 451 452 453 454 455 456 457 458 459 460 461 462 463 464 | All widgets containing a selection list ([cmd -listbox], [cmd -disjointlistbox], [cmd -font]) as well as the multi line [cmd -text] widget are accepting the [arg -height] attribute that defines the number of displayed rows of the selection lists. [example_begin]tepam::argument_dialogbox \ -listbox {-label "Text size" -variable Size \ -choices {8 9 10 12 15 18} -default 12 [cmd {-height 3}]}[example_end] If the no height has been explicitly specified the height of the widget will be dynamically adapted to the argument dialog box' size. [list_end] [section "APPLICATION SPECIFIC ENTRY WIDGETS"] An application specific entry widget can be made available to the argument dialog box by adding a dedicated procedure to the [namespace tepam] namespace. This procedure has three arguments; the first one is the widget path, the second one a subcommand and the third argument has various purposes: [example_begin][arg proc] tepam::ad_form(<WidgetName>) {W Command {Par ""}} { [arg {upvar Option Option; # if required}] [arg {variable argument_dialogbox; # if required}] |
︙ | ︙ | |||
471 472 473 474 475 476 477 | [cmd Argument_dialogbox] takes care about the [arg -label] and [arg -text] attributes for all entry widgets. For any data entry widget it creates a frame into which the data entry widget components can be placed. The path to this frame is provided via the [arg W] argument. [para] The entry widget procedure has to support 3 mandatory and an optional command that are selected via the argument [arg Command]: [list_begin definitions] [def [arg create]] | | | 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 | [cmd Argument_dialogbox] takes care about the [arg -label] and [arg -text] attributes for all entry widgets. For any data entry widget it creates a frame into which the data entry widget components can be placed. The path to this frame is provided via the [arg W] argument. [para] The entry widget procedure has to support 3 mandatory and an optional command that are selected via the argument [arg Command]: [list_begin definitions] [def [arg create]] The entry widget is called a first time with the command [arg create] to build the data entry widget. [para] The frames that are made available by [cmd argument_dialogbox] for the entry widgets are by default only extendable in the X direction. To make them also extendable in the Y direction, for example for extendable list boxes, the command [cmd {ad_form(make_expandable) $W}] has to be executed when an entry widget is built. [def [arg set_choice]] The entry widget procedure is only called with the [arg set_choice] command if the [arg -choices] or [arg -choicevariable] has been specified. The command is therefore only relevant for list and combo boxes. [para] The available selection list that is either specified with the [arg -choices] or [arg -choicevariable] attribute is provided via the [arg Par] argument to the entry widget procedure. This list can be used to initialize an available choice list. |
︙ | ︙ | |||
528 529 530 531 532 533 534 | [def "[var last_parameters]"] This array variable is only used by an argument dialog box if its context has been specified via the [arg -context] attribute. The argument dialog box' position and size as well as its entered data are stored inside this variable if the data are acknowledged and the form is closed. This allows the form to restore its previous state once it is called another time. [para] To reuse the saved parameters not just in the actual application session but also in another one, it is sufficient to store the [var last_parameter] array variable contents in a configuration file which is loaded the next time an application is launched. [list_end] | < < < | 530 531 532 533 534 535 536 537 | [def "[var last_parameters]"] This array variable is only used by an argument dialog box if its context has been specified via the [arg -context] attribute. The argument dialog box' position and size as well as its entered data are stored inside this variable if the data are acknowledged and the form is closed. This allows the form to restore its previous state once it is called another time. [para] To reuse the saved parameters not just in the actual application session but also in another one, it is sufficient to store the [var last_parameter] array variable contents in a configuration file which is loaded the next time an application is launched. [list_end] [manpage_end] |
Changes to modules/tepam/tepam_introduction.man.
1 2 3 4 5 6 7 8 | [manpage_begin tepam n 0.4.1] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}] [category {Procedures, arguments, parameters, options}] [description] [para] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [manpage_begin tepam n 0.4.1] [see_also tepam::argument_dialogbox(n)] [see_also tepam::procedure(n)] [keywords {argument integrity}] [keywords {argument validation}] [keywords arguments] [keywords {entry mask}] [keywords {parameter entry form}] [keywords procedure] [keywords subcommand] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {An introduction into TEPAM, Tcl's Enhanced Procedure and Argument Manager}] [category {Procedures, arguments, parameters, options}] [description] [para] |
︙ | ︙ | |||
86 87 88 89 90 91 92 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } }]}[example_end] | | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | foreach var {mtype font level fg bg no_border log_file text} { if {[info exists $var]} { puts " $var=[set $var]" } } }]}[example_end] A call of procedure that has been declared in this way will first invoke the TEPAM argument manager, before the procedure body is executed. The argument manager parses the provided arguments, validates them, completes them eventually with some default values, and makes them finally available to the procedure body as local variables. In case an argument is missing or has a wrong type, the argument manager generates an error message that explains the reason for the error. [para] As the example above shows, the TEPAM command [cmd procedure] accepts subcommand definitions as procedure name and allows defining much more information than just the argument list inside the procedure header. The procedure body on the other hand is identical between a command declared with [cmd proc] and a command declared with [cmd procedure]. [para] The procedure header allows defining in addition to the arguments some procedure attributes, like a description, information concerning the return value, etc. This information is basically used for the automatic generation of comprehensive help and usage texts. [para] A list of argument definition statements assigned to the [arg -args] argument is defining the procedure arguments. Each argument definition statement starts with the argument name, optionally followed by some argument attributes. [para] |
︙ | ︙ | |||
140 141 142 143 144 145 146 | [example_begin][cmd {display message}] "The document hasn't yet been saved!" [emph {-> display message: mtype=Warning font=Arial 10 italic fg=black no_border=0 text={The document hasn't yet been saved!}}] | | | | | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 | [example_begin][cmd {display message}] "The document hasn't yet been saved!" [emph {-> display message: mtype=Warning font=Arial 10 italic fg=black no_border=0 text={The document hasn't yet been saved!}}] [cmd {display message}] -fg red -bg black "Please save first the document" [emph {-> display message: mtype=Warning font=Arial 10 italic fg=red bg=black no_border=0 text={Please save first the document}}] [cmd {display message}] -mtype Error -no_border "Why is here no border?" [emph {-> display message: mtype=Error font=Arial 10 italic fg=black no_border=1 text={Why is here no border?}}] [cmd {display message}] -font {Courier 12} -level 10 \ "Is there enough space?" "Reduce otherwise the font size!" [emph {-> display message: mtype=Warning font=Courier 12 level=10 fg=black no_border=0 text={Is there enough space?} {Reduce otherwise the font size!}}][example_end] The next lines show how wrong arguments are recognized. The [arg text] argument that is mandatory is missing in the first procedure call: [example_begin][cmd {display message}] -font {Courier 12} [emph { -> display message: Required argument is missing: text}][example_end] Only known arguments are accepted: [example_begin][cmd {display message}] -category warning Hello [emph { -> display message: Argument '-category' not known}][example_end] Argument types are automatically checked and an error message is generated in case the argument value has not the expected type: [example_begin][cmd {display message}] -fg MyColor "Hello" [emph { -> display message: Argument 'fg' requires type 'color'. \ Provided value: 'MyColor'}][example_end] Selection choices have to be respected ... [example_begin][cmd {display message}] -mtype Fatal Hello [emph { -> display message: Argument (mtype) has to be one of the \ following elements: Info, Warning, Error}][example_end] ... as well as valid value ranges: [example_begin][cmd {display message}] -level 12 Hello [emph { -> display message: Argument (level) has to be between 1 and 10}][example_end] [section "INTERACTIVE PROCEDURE CALLS"] The most intuitive way to call the procedure is using an form that allows specifying all arguments interactively. This form will automatically be generated if the declared procedure is called with the [arg -interactive] flag. [example_begin][cmd {display message}] -interactive[example_end] The generated form contains for each argument a data entry widget that is adapted to the argument type. Check buttons are used to specify flags, radio boxes for tiny choice lists, disjoint list boxes for larger choice lists and files, directories, fonts and colors can be selected with dedicated browsers. [para] After acknowledging the specified argument data via an OK button, the entered data are first validated, before the provided arguments are transformed into local variables and the procedure body is executed. In case the entered data are invalid, a message appears and the user can correct them until they are valid. [para] The procedure calls can optionally be logged in a variable. This is for example useful to get the command call lines of interactively called procedures. [section "FLEXIBLE ARGUMENT DIALOG BOX"] |
︙ | ︙ | |||
228 229 230 231 232 233 234 | [para] Many entry widget types are available: Beside the simple generic entries, there are different kinds of list and combo boxes available, browsers for existing and new files and directories, check and radio boxes and buttons, as well as color and font pickers. If necessary, additional entry widgets can be defined. [para] The attribute list contains pairs of attribute names and attribute data. The primary attribute is [arg -variable] used to specify the variable in the calling context into which the entered data has to be stored. Another often used attribute is [arg -label] that allows adding a label to the data entry widget. Other attributes are available that allow specifying default values, the expected data types, valid data ranges, etc. [para] The next example of a more complex argument dialog box provides a good overview about the different available entry widget types and parameter attributes. The example contains also some formatting instructions like [arg -frame] and [arg -sep] which allows organizing the different entry widgets in frames and sections: [example_begin]set ChoiceList {"Choice 1" "Choice 2" "Choice 3" "Choice 4" "Choice 5" "Choice 6"} | | | | | | | | 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 | [para] Many entry widget types are available: Beside the simple generic entries, there are different kinds of list and combo boxes available, browsers for existing and new files and directories, check and radio boxes and buttons, as well as color and font pickers. If necessary, additional entry widgets can be defined. [para] The attribute list contains pairs of attribute names and attribute data. The primary attribute is [arg -variable] used to specify the variable in the calling context into which the entered data has to be stored. Another often used attribute is [arg -label] that allows adding a label to the data entry widget. Other attributes are available that allow specifying default values, the expected data types, valid data ranges, etc. [para] The next example of a more complex argument dialog box provides a good overview about the different available entry widget types and parameter attributes. The example contains also some formatting instructions like [arg -frame] and [arg -sep] which allows organizing the different entry widgets in frames and sections: [example_begin]set ChoiceList {"Choice 1" "Choice 2" "Choice 3" "Choice 4" "Choice 5" "Choice 6"} set Result [lb][cmd tepam::argument_dialogbox] \ [cmd -title] "System configuration" \ [cmd -context] test_1 \ [cmd -frame] {-label "Entries"} \ [cmd -entry] {-label Entry1 -variable Entry1} \ [cmd -entry] {-label Entry2 -variable Entry2 -default "my default"} \ [cmd -frame] {-label "Listbox & combobox"} \ [cmd -listbox] {-label "Listbox, single selection" -variable Listbox1 \ -choices {1 2 3 4 5 6 7 8} -default 1 -height 3} \ [cmd -listbox] {-label "Listbox, multiple selection" -variable Listbox2 -choicevariable ChoiceList -default {"Choice 2" "Choice 3"} -multiple_selection 1 -height 3} \ [cmd -disjointlistbox] {-label "Disjoined listbox" -variable DisJntListbox -choicevariable ChoiceList \ -default {"Choice 3" "Choice 5"} -height 3} \ [cmd -combobox] {-label "Combobox" -variable Combobox \ -choices {1 2 3 4 5 6 7 8} -default 3} \ [cmd -frame] {-label "Checkbox, radiobox and checkbutton"} \ [cmd -checkbox] {-label Checkbox -variable Checkbox -choices {bold italic underline} -choicelabels {Bold Italic Underline} \ -default italic} \ [cmd -radiobox] {-label Radiobox -variable Radiobox -choices {bold italic underline} -choicelabels {Bold Italic Underline} \ -default underline} \ [cmd -checkbutton] {-label CheckButton -variable Checkbutton -default 1} \ [cmd -frame] {-label "Files & directories"} \ [cmd -existingfile] {-label "Input file" -variable InputFile} \ [cmd -file] {-label "Output file" -variable OutputFile} \ [cmd -sep] {} \ |
︙ | ︙ | |||
273 274 275 276 277 278 279 | [example_begin]if {$Result=="cancel"} { puts "Canceled" } else { # $Result=="ok" puts "Arguments: " foreach Var { Entry1 Entry2 | | | 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | [example_begin]if {$Result=="cancel"} { puts "Canceled" } else { # $Result=="ok" puts "Arguments: " foreach Var { Entry1 Entry2 Listbox1 Listbox2 DisJntListbox Combobox Checkbox Radiobox Checkbutton InputFile OutputFile InputDirectory OutputDirectory Color Font } { puts " $Var: '[lb]set $Var[rb]'" } } |
︙ | ︙ | |||
297 298 299 300 301 302 303 | Checkbutton: '1' InputFile: 'c:\tepam\in.txt' OutputFile: 'c:\tepam\out.txt' InputDirectory: 'c:\tepam\input' OutputDirectory: 'c:\tepam\output' Color: 'red' Font: 'Courier 12 italic'}][example_end] | < < < < | 306 307 308 309 310 311 312 313 | Checkbutton: '1' InputFile: 'c:\tepam\in.txt' OutputFile: 'c:\tepam\out.txt' InputDirectory: 'c:\tepam\input' OutputDirectory: 'c:\tepam\output' Color: 'red' Font: 'Courier 12 italic'}][example_end] [manpage_end] |
Changes to modules/tepam/tepam_procedure.man.
1 2 3 4 5 6 7 8 | [manpage_begin tepam::procedure n 0.4.1] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {TEPAM procedure, reference manual}] [category {Procedures, arguments, parameters, options}] [require Tcl 8.3] [require tepam [opt 0.4]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin tepam::procedure n 0.4.1] [see_also tepam(n)] [see_also tepam::argument_dialogbox(n)] [keywords {argument integrity}] [keywords {argument validation}] [keywords arguments] [keywords procedure] [keywords subcommand] [copyright {2009/2010, Andreas Drollinger}] [moddesc {Tcl's Enhanced Procedure and Argument Manager}] [titledesc {TEPAM procedure, reference manual}] [category {Procedures, arguments, parameters, options}] [require Tcl 8.3] [require tepam [opt 0.4]] |
︙ | ︙ | |||
95 96 97 98 99 100 101 | [list_begin definitions] [call [cmd "tepam::procedure"] \ [arg name] \ [arg attributes] \ [arg body]] [list_end] | | | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | [list_begin definitions] [call [cmd "tepam::procedure"] \ [arg name] \ [arg attributes] \ [arg body]] [list_end] The TEPAM procedure declaration syntax is demonstrated by the following example: [example_begin][fun tepam::procedure] {display message} { -short_description "Displays a simple message box" -description "This procedure allows displaying a configurable\ message box. The default message type that is\ |
︙ | ︙ | |||
168 169 170 171 172 173 174 | puts "Message: [var {$text}]" }[example_end] [list_end] The commands [cmd procedure] as well as [cmd argument_dialogbox] are exported from the namespace [namespace tepam]. To use these commands without the [namespace tepam::] namespace prefix, it is sufficient to import them into the main namespace: [example_begin][cmd {namespace import tepam::*}] | | | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | puts "Message: [var {$text}]" }[example_end] [list_end] The commands [cmd procedure] as well as [cmd argument_dialogbox] are exported from the namespace [namespace tepam]. To use these commands without the [namespace tepam::] namespace prefix, it is sufficient to import them into the main namespace: [example_begin][cmd {namespace import tepam::*}] [cmd procedure] {display_message} { -args { ...[example_end] [subsection "Procedure Attributes"] The first group of procedure attributes is not affecting the behavior of the declared procedure. These attributes are just used for the purpose of documentation and help text generation: |
︙ | ︙ | |||
196 197 198 199 200 201 202 | The [emph -return] attribute allows defining the expected return value of a procedure (used for documentation purposes). [def "-example [arg string]"] A help text or manual page of a procedure can be enriched with eventual examples, using the [emph -example] attribute. [list_end] The following attributes are not relevant for the documentation and help text generation, but they affect the behavior of the declared procedure: | | | | 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 | The [emph -return] attribute allows defining the expected return value of a procedure (used for documentation purposes). [def "-example [arg string]"] A help text or manual page of a procedure can be enriched with eventual examples, using the [emph -example] attribute. [list_end] The following attributes are not relevant for the documentation and help text generation, but they affect the behavior of the declared procedure: [list_begin definitions] [def "-named_arguments_first [const 0]|[const 1]"] This attribute defines the calling style of a procedure. TEPAM uses by default the [emph "named arguments first, unnamed arguments later"] style (Tcl). This default behavior can globally be changed by setting the variable [var tepam::named_arguments_first] to [const 0]. This global calling style can be changed individually for a procedure with the procedure's [arg -named_arguments_first] attribute. [def "-auto_argument_name_completion [const 0]|[const 1]"] The declared procedures will by default automatically try to match eventually abbreviated argument names to the defined arguments names. This default behavior can globally be changed by setting the variable [var tepam::auto_argument_name_completion] to [const 0]. This global setting of the automatic argument name completion can be changed individually for a procedure with the [arg -auto_argument_name_completion] procedure attribute. [def "-interactive_display_format [const extended]|[const short]"] A procedure declared with the TEPAM [fun procedure] command can always be called with the [var -interactive] option. By doing so, a graphical form will be generated that allows specifying all procedure argument values. There are two display modes for these interactive forms. While the [emph extended] mode is more adapted for small procedure argument sets, the [const short] form is more adequate for huge procedure argument sets. [para] The choice to use short or extended forms can be globally configured via the variable [var tepam::interactive_display_format]. This global setting can then be changed individually for a procedure with the [arg -interactive_display_format] procedure attribute. [def "-args [arg list]"] The procedure's arguments are declared via the [arg -args] attribute. An argument is defined via a list having as first element the argument name, followed by eventual argument attributes. All these argument definition lists are packaged themselves into a global list that is assigned to the procedure's [arg -args] attribute. [para] The argument definition syntax will be described more in detail in the following sub section. [list_end] The following attribute allows controlling the logging settings for an individual procedure: [list_begin definitions] [def "-command_log [const 0]|[const 1]|[const \"interactive\"]"] This argument configures the logging of the procedure calls into the list variable [var tepam::ProcedureCallLogList]. The default configuration defined by the variable [var tepam::command_log] will be used if this argument is not defined in a procedure declaration. [para] Setting this argument to [const 0] will disable any procedure call loggings, setting it to [const 1] will log any procedure calls and setting it to [const "interactive"] will log just the procedures that are called interactively (procedures called with the [const -interactive] flag). |
︙ | ︙ | |||
246 247 248 249 250 251 252 | } { }[example_end] Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes. The argument definition syntax can be formalized in the following way: [example_begin]tepam::procedure <name> { -args [cmd {{ | | | | 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 | } { }[example_end] Each of the procedure arguments is declared with a list that has as first element the argument name, followed by eventual attributes. The argument definition syntax can be formalized in the following way: [example_begin]tepam::procedure <name> { -args [cmd {{ {<argument_name_1> <arg_attr_name_1a> <arg_attr_value_1a> \ <arg_attr_name_1b> <arg_attr_value_1b> ...} {<argument_name_2> <arg_attr_name_2a> <arg_attr_value_2a> \ <arg_attr_name_2b> <arg_attr_value_2b> ...} ... }}] } <body>[example_end] The argument names and attributes have to be used in the following way: |
︙ | ︙ | |||
302 303 304 305 306 307 308 | [def "[arg \"-\"] or [arg \"\"]"] A blank argument name (either '-' or [emph '']) starts a comment for the following arguments. [example_begin]tepam::procedure {print_time} { -interactive_display_format short -args { {hours -type integer -description "Hour"} {minutes -type integer -description "Minute"} | | | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | [def "[arg \"-\"] or [arg \"\"]"] A blank argument name (either '-' or [emph '']) starts a comment for the following arguments. [example_begin]tepam::procedure {print_time} { -interactive_display_format short -args { {hours -type integer -description "Hour"} {minutes -type integer -description "Minute"} [cmd {{- The following arguments are optional:}}] {seconds -type integer -default 0 -description "Seconds"} {milliseconds -type integer -default 0 -description "Milliseconds"} } } { puts "${hour}h${minutes}:[lb]expr $seconds+0.001*$milliseconds[rb]" }[example_end] Argument comments are basically used in the graphical argument definition forms that are created if a procedure is called interactively. [def [arg "\"#*\""]] An argument definition list that starts with '#' is considered as a section comment. The argument definition list will be trimmed from the '#' characters and the remaining string will be used as section comment. [para] Section comments can be used to structure visually the argument definition code. Section comments are also used to structure the generated help texts and the interactive argument definition forms. [example_begin]tepam::procedure {complex_multiply} { -description "This function perform a complex multiplication" -args { [cmd {{#### First complex number ####}}] {-r0 -type double -description "First number's real part"} {-i0 -type double -description "First number's imaginary part"} [cmd {{#### Second complex number ####}}] {-r1 -type double -description "Second number's real part"} {-i1 -type double -description "Second number's imaginary part"} } } { return [lb]expr $r0*$r1 - $i0*$i1[rb] }[example_end] [list_end] [def "Argument attributes ([emph {<arg_attr_name_<mn>> <arg_attr_value_<mn>>}])"] The following argument attributes are supported: [list_begin definitions] [def "-description [arg string]"] The description argument attribute is used for documentation purpose. Interactive argument definition forms use this attribute to provide explanations for an argument. [def "-type [arg type]"] The type argument attribute allows assigning the argument either to a predefined data type, or to an application specific data type. The argument values that are provided during a procedure call are automatically checked with respect to the defined argument type. [para] The section [sectref {ARGUMENT TYPES}] provides a list of predefined data types and explains how application specific types can be specified. [para] The argument type [emph none] has a special meaning. An argument that has the type [emph none] is handled as a [arg flag]. A flag is always optional and its related variable contains the logical value [const 1] if the flag has been defined during the procedure call, or otherwise [const 0]. |
︙ | ︙ | |||
380 381 382 383 384 385 386 | Another argument constraint can be defined with the [arg -range] attribute. The valid range is defined with a list containing the minimum valid value and a maximum valid value. The [arg -range] attribute has to be used only for numerical arguments, like integers and doubles. [def "-validatecommand [arg script]"] Eventual more complex argument value validations can be performed via specific validation commands that are assigned to the [arg -validatecommand] attribute. The provided validation command can be a complete script in which the pattern [emph %P] is replaced by the argument value that has to be validated. An example of a validation command declaration is: [example_begin]tepam::procedure {display_message} { -args { | | | | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 | Another argument constraint can be defined with the [arg -range] attribute. The valid range is defined with a list containing the minimum valid value and a maximum valid value. The [arg -range] attribute has to be used only for numerical arguments, like integers and doubles. [def "-validatecommand [arg script]"] Eventual more complex argument value validations can be performed via specific validation commands that are assigned to the [arg -validatecommand] attribute. The provided validation command can be a complete script in which the pattern [emph %P] is replaced by the argument value that has to be validated. An example of a validation command declaration is: [example_begin]tepam::procedure {display_message} { -args { {text -type string -description "Message text" \ [cmd {-validatecommand "IllegalWordDetector %P"}]} } { }[example_end] [def "-widget [arg string]"] The widgets that allow defining the different arguments in case of an interactive procedure call are normally selected automatically in function of the argument type. The [arg -widget] attribute allows specifying explicitly a certain widget type for an argument. [para] [def "-auxargs [arg list]"] In case a procedure is called interactively, additional argument attributes can be provided to the interactive argument definition form via the [emph -auxargs] attribute that is itself a list of attribute name/attribute value pairs: [example_begin]-auxargs {-<arg_attr_name_1a> <arg_attr_value_1a> \ -<arg_attr_name_1b> <arg_attr_value_1b> ... }[example_end] For example, if a procedure takes as argument a file name it may be beneficial to specify the required file type for the interactive argument definition form. This information can be provided via the [emph -auxargs] attribute to the argument definition form: [example_begin]tepam::procedure LoadPicture { -args { {FileName -type existingfile -description "Picture file" \ [cmd {-auxargs {-filetypes {{"GIF" {*.gif}} {"JPG" {*.jpg}} }}}]} } } { }[example_end] [def "-auxargs_commands [arg script]"] If the auxiliary argument attributes are not static but have to be dynamically adaptable, the [emph -auxargs_commands] allows defining them via commands that are executed during a procedure call. A list of pairs of auxiliary attribute names and commands has to be provided to the [emph -auxargs_commands] attribute. The provided commands are executed in the context of the calling procedure. [example_begin]-auxargs_commands {-<arg_attr_name_1a> <arg_attr_command_1a> \ -<arg_attr_name_1b> <arg_attr_command_1b> ... }[example_end] [list_end] [list_end] |
︙ | ︙ | |||
492 493 494 495 496 497 498 | [example_begin]tepam::procedure flag_test { -args { [cmd {{-flag -type none -description "This is a flag"}}] } } { puts [cmd {$flag}] } | | | | 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 | [example_begin]tepam::procedure flag_test { -args { [cmd {{-flag -type none -description "This is a flag"}}] } } { puts [cmd {$flag}] } flag_test [emph {-> 0}] flag_test -flag [emph {-> 1}][example_end] [para] Since no argument value has to be provided to a flag, also no data check is performed for this argument type. [item] [type string][para] [type String] is a generic argument data type. Any data string can be provided to a string type argument and no data type checks are therefore performed. The string type allows defining single line strings during the interactive procedure calls. |
︙ | ︙ | |||
646 647 648 649 650 651 652 | puts "$mtype: [lb]join $text[rb]" }[example_end] ... can for example be called in the following ways: [example_begin][cmd {display_message Info "It is PM 7:00."}] [emph {-> Info: It is PM 7:00.}] | | | | | < | | | | 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 | puts "$mtype: [lb]join $text[rb]" }[example_end] ... can for example be called in the following ways: [example_begin][cmd {display_message Info "It is PM 7:00."}] [emph {-> Info: It is PM 7:00.}] [cmd {display_message Info "It is PM 7:00." "You should go home."}] [emph {-> Info: It is PM 7:00. You should go home.}][example_end] The nice thing is that unnamed arguments can also be called as named arguments, which can be handy, for example if the exact specified argument order is not known to a user: [example_begin][cmd {display_message -mtype Info -text "It is PM 7:00."}] [emph {-> Info: It is PM 7:00.}] [cmd {display_message -text "It is PM 7:00." -mtype Info}] [emph {-> Info: It is PM 7:00.}] [cmd {display_message -mtype Info -text "It is PM 7:00." -text "You should go home."}] [emph {-> Info: It is PM 7:00. You should go home.}] [cmd {display_message -text "It is PM 7:00." -text "You should go home." -mtype Info}] [emph {-> Info: It is PM 7:00. You should go home.}][example_end] [subsection "Named Arguments"] Named arguments have to be provided to a procedure in form of a parameter pairs composed by the argument names and the argument values. The order how they are provided during a procedure call is irrelevant and has not to match with the argument specification order. [para] The following declared procedure ... [example_begin]tepam::procedure {display_message} { -args { {-mtype -choices {Info Warning Error}} {-text -type string -multiple} } } { puts "$mtype: [lb]join $text[rb]" }[example_end] ... can be called in the following ways: [example_begin][cmd {display_message -mtype Info -text "It is PM 7:00."}] [emph {-> Info: It is PM 7:00.}] [cmd {display_message -text "It is PM 7:00." -mtype Info}] [emph {-> Info: It is PM 7:00.}] [cmd {display_message -mtype Info -text "It is PM 7:00." -text "You should go home."}] [emph {-> Info: It is PM 7:00. You should go home.}] [cmd {display_message -text "It is PM 7:00." -text "You should go home." -mtype Info}] [emph {-> Info: It is PM 7:00. You should go home.}][example_end] Also named arguments that have not the [emph -multiple] attribute can be provided multiple times. Only the last provided argument will be retained in such a case: [example_begin][cmd {display_message -mtype Info -text "It is PM 7:00." -mtype Warning}] [emph {-> Warning: It is PM 7:00.}][example_end] |
︙ | ︙ | |||
734 735 736 737 738 739 740 | [example_begin]my_proc [cmd {-n1 N1 -n2 N2 -n1 M1 U1 U2}] [emph {-> n1:'M1', n2:'N2', u1:'U1', u2:'U2'}][example_end] The name of the first unnamed argument has therefore not to start with the '-' character. The unnamed argument is otherwise considered as name of another named argument. This is especially important if the first unnamed argument is given by a variable that can contain any character strings: [example_begin]my_proc [cmd {-n1 N1 -n2 N2 "->" "<-"}] [emph {-> my_proc: Argument '->' not known}] | | | | 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 | [example_begin]my_proc [cmd {-n1 N1 -n2 N2 -n1 M1 U1 U2}] [emph {-> n1:'M1', n2:'N2', u1:'U1', u2:'U2'}][example_end] The name of the first unnamed argument has therefore not to start with the '-' character. The unnamed argument is otherwise considered as name of another named argument. This is especially important if the first unnamed argument is given by a variable that can contain any character strings: [example_begin]my_proc [cmd {-n1 N1 -n2 N2 "->" "<-"}] [emph {-> my_proc: Argument '->' not known}] set U1 "->" my_proc -n1 N1 -n2 N2 $U1 U2}] my_proc: Argument '->' not known[example_end] The '--' flag allows separating unambiguously the unnamed arguments from the named arguments. All data after the '--' flag will be considered as unnamed argument: [example_begin]my_proc [cmd {-n1 N1 -n2 N2 -- "->" "<-"}] [emph {-> n1:'N1', n2:'N2', u1:'->', u2:'<-'}] set U1 "->" my_proc [cmd {-n1 N1 -n2 N2 -- $U1 U2}] [emph {-> n1:'N1', n2:'N2', u1:'->', u2:'<-'}][example_end] [subsection "Named Arguments First, Unnamed Arguments Later (Tcl Style)"] The Tk calling style will be chosen if a procedure is defined while the variable [var tepam::named_arguments_first] is set to 0, or if the procedure attribute [arg -named_arguments_first] has been set to 0. The following procedure will be used in this section to illustrate this calling style: |
︙ | ︙ | |||
773 774 775 776 777 778 779 | [example_begin]my_proc [cmd {U1 U2 -n1 N1 -n2 N2}] [emph {-> n1:'N1', n1:'N1', u1:'U1', u2:'U2'}][example_end] The argument parser will assign to each defined unnamed argument a value before it switches to read the named arguments. This default behavior changes a bit if there are unnamed arguments that are optional or that can take multiple values. [para] An argument value will only be assigned to an unnamed argument that is optional (that has either the [arg -optional] attribute or that has a default value), if the value is not beginning with the '-' character or if no named arguments are defined. The value that starts with '-' is otherwise considered as the name of a named argument. [para] | | | 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 | [example_begin]my_proc [cmd {U1 U2 -n1 N1 -n2 N2}] [emph {-> n1:'N1', n1:'N1', u1:'U1', u2:'U2'}][example_end] The argument parser will assign to each defined unnamed argument a value before it switches to read the named arguments. This default behavior changes a bit if there are unnamed arguments that are optional or that can take multiple values. [para] An argument value will only be assigned to an unnamed argument that is optional (that has either the [arg -optional] attribute or that has a default value), if the value is not beginning with the '-' character or if no named arguments are defined. The value that starts with '-' is otherwise considered as the name of a named argument. [para] Argument values are assigned to an argument that has the [arg -multiple] attribute as long as the parameter value doesn't starts with the '-' character. [para] Values that start with the '-' character can therefore not be assigned to optional unnamed arguments, which restricts the usage of the Tcl procedure calling style. The Tk style may be preferable in some cases, since it allows separating unambiguously the named arguments from the unnamed ones with the '--' flag. [para] Let's explore in a bit less theoretically the ways how the previously defined procedure can be called: The first example calls the procedure without any parameters, which leads to an error since [arg u1] is a mandatory argument: [example_begin]my_proc [emph {-> my_proc: Required argument is missing: u1}][example_end] |
︙ | ︙ | |||
821 822 823 824 825 826 827 | [example_begin]my_proc [cmd {-- -n1 N1}] [emph {-> n1:'N1', n2:'', u1:'--', u2:''}][example_end] But the '--' flag is simply ignored if the argument parser has started to handle the named arguments: [example_begin]my_proc [cmd {U1 -- -n1 N1}] [emph {-> n1:'N1', n2:'', u1:'U1', u2:''}] | | < < < | 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 | [example_begin]my_proc [cmd {-- -n1 N1}] [emph {-> n1:'N1', n2:'', u1:'--', u2:''}][example_end] But the '--' flag is simply ignored if the argument parser has started to handle the named arguments: [example_begin]my_proc [cmd {U1 -- -n1 N1}] [emph {-> n1:'N1', n2:'', u1:'U1', u2:''}] my_proc [cmd {U1 -n1 N1 -- -n2 N2}] [emph {-> n1:'N1', n2:'N2', u1:'U1', u2:''}][example_end] [subsection "Raw Argument List"] It may be necessary sometimes that the procedure body is able to access the entire list of arguments provided during a procedure call. This can happen via the [var args] variable that contains always the unprocessed argument list: [example_begin]tepam::procedure {display_message} { -args { {-mtype -choices {Warning Error} -default Warning} {text -type string -multiple} } } { puts "args: [cmd {$args}]" } display_message -mtype Warning "It is 7:00" [emph {-> args: -mtype Warning {It is 7:00}}][example_end] [manpage_end] |
Changes to modules/term/ansi_cattr.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::attr n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {ANSI attribute sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [require term::ansi::code::attr [opt 0.1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::attr n 0.1] [keywords ansi] [keywords {attribute control}] [keywords {color control}] [keywords control] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {ANSI attribute sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [require term::ansi::code::attr [opt 0.1]] |
︙ | ︙ | |||
68 69 70 71 72 73 74 | [call [cmd ::term::ansi::code::attr::nounderline]] Underscore off. [call [cmd ::term::ansi::code::attr::noblink]] Blink off. [call [cmd ::term::ansi::code::attr::norevers]] Reverse off. [call [cmd ::term::ansi::code::attr::nohidden]] Hidden off. [call [cmd ::term::ansi::code::attr::nostrike]] Strike-through off. [call [cmd ::term::ansi::code::attr::reset]] Reset all attributes to their default values. [list_end] | < < < | < < | < < < < < | 73 74 75 76 77 78 79 80 81 82 83 | [call [cmd ::term::ansi::code::attr::nounderline]] Underscore off. [call [cmd ::term::ansi::code::attr::noblink]] Blink off. [call [cmd ::term::ansi::code::attr::norevers]] Reverse off. [call [cmd ::term::ansi::code::attr::nohidden]] Hidden off. [call [cmd ::term::ansi::code::attr::nostrike]] Strike-through off. [call [cmd ::term::ansi::code::attr::reset]] Reset all attributes to their default values. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ansi_cctrl.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::ctrl n 0.1] [copyright {2006-2008 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {ANSI control sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [require term::ansi::code::ctrl [opt 0.1.1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::ctrl n 0.1] [keywords ansi] [keywords {attribute control}] [keywords {color control}] [keywords control] [keywords terminal] [copyright {2006-2008 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {ANSI control sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [require term::ansi::code::ctrl [opt 0.1.1]] |
︙ | ︙ | |||
78 79 80 81 82 83 84 | [list_begin definitions] [def A] United Kingdom Set [def B] ASCII Set [def 0] Special Graphics [def 1] Alternate Character ROM Standard Character Set [def 2] Alternate Character ROM Special Graphics [list_end] | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | [list_begin definitions] [def A] United Kingdom Set [def B] ASCII Set [def 0] Special Graphics [def 1] Alternate Character ROM Standard Character Set [def 2] Alternate Character ROM Special Graphics [list_end] [call [cmd ::term::ansi::code::ctrl::sda] [arg arg]...] Set Display Attributes. The arguments are the code sequences for the possible attributes, as provided by the package [package term::ansi::code::attr]. For convenience this package also provides additional commands each setting a single specific attribute. |
︙ | ︙ | |||
185 186 187 188 189 190 191 | Initialize default and alternate fonts to ASCII and box graphics. [call [cmd ::term::ansi::code::ctrl::showat] [arg row] [arg col] [arg text]] Format the block of text for display at the specified location. [list_end] | < < < | < < | < < < < < | 189 190 191 192 193 194 195 196 197 198 199 | Initialize default and alternate fonts to ASCII and box graphics. [call [cmd ::term::ansi::code::ctrl::showat] [arg row] [arg col] [arg text]] Format the block of text for display at the specified location. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ansi_cmacros.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::macros n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Macro sequences}] [category {Terminal control}] [require Tcl 8.4] [require textutil::repeat] [require textutil::tabify] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code::macros n 0.1] [keywords ansi] [keywords control] [keywords frame] [keywords menu] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Macro sequences}] [category {Terminal control}] [require Tcl 8.4] [require textutil::repeat] [require textutil::tabify] |
︙ | ︙ | |||
43 44 45 46 47 48 49 | red text. The result is returned as the result of the command. [para] The description, [arg menu], is a dictionary mapping from menu label to command character. | < < < < | < < | < < < < < | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | red text. The result is returned as the result of the command. [para] The description, [arg menu], is a dictionary mapping from menu label to command character. [call [cmd ::term::ansi::code::macros::frame] [arg string]] The paragraph of text contained in the string is padded with spaces at the right margin, after normalizing internal tabs, and then put into a frame made of box-graphics. The result is returned as the result of the command. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ansi_code.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Helper for control sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::code n 0.1] [keywords control] [keywords declare] [keywords define] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Helper for control sequences}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::code [opt 0.1]] [description] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | [call [cmd ::term::ansi::code::const] [arg name] [arg code]] This command defines a procedure [arg name] which returns the control sequence [arg code]. [list_end] | < | < < | < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | [call [cmd ::term::ansi::code::const] [arg name] [arg code]] This command defines a procedure [arg name] which returns the control sequence [arg code]. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ansi_ctrlu.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::ctrl::unix n 0.1.1] [copyright {2006-2011 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Control operations and queries}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::ctrl::unix [opt 0.1.1]] [description] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::ctrl::unix n 0.1.1] [keywords ansi] [keywords columns] [keywords control] [keywords cooked] [keywords {input mode}] [keywords lines] [keywords raw] [keywords rows] [keywords terminal] [copyright {2006-2011 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Control operations and queries}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::ctrl::unix [opt 0.1.1]] [description] |
︙ | ︙ | |||
60 61 62 63 64 65 66 | [call [cmd ::term::ansi::ctrl::unix::rows]] This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display. [list_end] | < < < | < < | < < < < < < | 69 70 71 72 73 74 75 76 77 78 79 | [call [cmd ::term::ansi::ctrl::unix::rows]] This command queries the terminal connected to the standard input for the number of rows (aka lines) available for display. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ansi_send.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::send n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Output of ANSI control sequences to terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::send [opt 0.1]] [description] This package provides commands to send ANSI terminal control sequences to a terminal. All commands come in two variants, one for sending to any channel, the other for sending to [emph stdout]. [para] The commands are defined using the control sequences provided by the package [package term::ansi::code::ctrl]. They have the same arguments as the commands they are based on, with the exception of the variant for sending to any channel. Their first argument is always a channel handle, then followed by the original arguments. Below we will list only the variant sending to [emph stdout]. | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::ansi::send n 0.1] [keywords {character output}] [keywords control] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Output of ANSI control sequences to terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::ansi::send [opt 0.1]] [description] This package provides commands to send ANSI terminal control sequences to a terminal. All commands come in two variants, one for sending to any channel, the other for sending to [emph stdout]. [para] The commands are defined using the control sequences provided by the package [package term::ansi::code::ctrl]. They have the same arguments as the commands they are based on, with the exception of the variant for sending to any channel. Their first argument is always a channel handle, then followed by the original arguments. Below we will list only the variant sending to [emph stdout]. [list_begin definitions] [call [cmd ::term::ansi::send::import] [opt [arg ns]] [arg ...]] Imports the commands of this package into the namespace [arg ns]. If not specified it defaults to [emph send]. Note that this default is a relative namespace name, i.e. the actual namespace will be created under the current namespace. |
︙ | ︙ | |||
127 128 129 130 131 132 133 | Enter Graphics Mode. [call [cmd ::term::ansi::send::lg]] Exit Graphics Mode. | < | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | Enter Graphics Mode. [call [cmd ::term::ansi::send::lg]] Exit Graphics Mode. [call [cmd ::term::ansi::send::scs0] [arg tag]] [call [cmd ::term::ansi::send::scs1] [arg tag]] Select Character Set. [para] Choose which character set is used for default (scs0) and alternate font (scs1). |
︙ | ︙ | |||
149 150 151 152 153 154 155 | [list_begin definitions] [def A] United Kingdom Set [def B] ASCII Set [def 0] Special Graphics [def 1] Alternate Character ROM Standard Character Set [def 2] Alternate Character ROM Special Graphics [list_end] | < | 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | [list_begin definitions] [def A] United Kingdom Set [def B] ASCII Set [def 0] Special Graphics [def 1] Alternate Character ROM Standard Character Set [def 2] Alternate Character ROM Special Graphics [list_end] [call [cmd ::term::ansi::send::sda] [arg arg]...] Set Display Attributes. The arguments are the code sequences for the possible attributes, as provided by the package [package term::ansi::code::attr]. For convenience this package also provides additional commands each setting a single specific attribute. |
︙ | ︙ | |||
257 258 259 260 261 262 263 | [call [cmd ::term::ansi::send::showat] [arg row] [arg col] [arg text]] Show the block of text at the specified location. [list_end] | < | < < | < < < < < < < < | 257 258 259 260 261 262 263 264 265 266 | [call [cmd ::term::ansi::send::showat] [arg row] [arg col] [arg text]] Show the block of text at the specified location. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/imenu.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::interact::menu n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Terminal widget, menu}] [category {Terminal control}] [require Tcl 8.4] [require term::interact::menu [opt 0.1]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::interact::menu n 0.1] [keywords control] [keywords menu] [keywords terminal] [keywords {text display}] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Terminal widget, menu}] [category {Terminal control}] [require Tcl 8.4] [require term::interact::menu [opt 0.1]] [description] |
︙ | ︙ | |||
47 48 49 50 51 52 53 | completed. See section [sectref Interaction] for a description of the possible interaction. [para] The method returns the symbolic action of the menu item selected by the user at the end of the interaction. | < | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | completed. See section [sectref Interaction] for a description of the possible interaction. [para] The method returns the symbolic action of the menu item selected by the user at the end of the interaction. [call [arg object] [method done]] This method can be used by user supplied actions to terminate the interaction with the object. [call [arg object] [method clear]] |
︙ | ︙ | |||
143 144 145 146 147 148 149 | [def Enter/Return] The interaction with the object is terminated. [list_end] | | < | < < < < < < < < < < < | 146 147 148 149 150 151 152 153 154 155 | [def Enter/Return] The interaction with the object is terminated. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/ipager.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::interact::pager n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Terminal widget, paging}] [category {Terminal control}] [require Tcl 8.4] [require term::interact::pager [opt 0.1]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::interact::pager n 0.1] [keywords control] [keywords pager] [keywords terminal] [keywords {text display}] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Terminal widget, paging}] [category {Terminal control}] [require Tcl 8.4] [require term::interact::pager [opt 0.1]] [description] |
︙ | ︙ | |||
57 58 59 60 61 62 63 | from the terminal. [call [arg object] [method text] [arg text]] This method can be used to change the text shown by the pager. The pager will reset the dispay to show the first line of the text at the top. | < | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | from the terminal. [call [arg object] [method text] [arg text]] This method can be used to change the text shown by the pager. The pager will reset the dispay to show the first line of the text at the top. [call [arg object] [method configure]] [call [arg object] [method configure] [arg option]] [call [arg object] [method configure] [arg option] [arg value]...] [call [arg object] [method cget] [arg option]] Standard methods to retrieve and configure the options of the pager. |
︙ | ︙ | |||
142 143 144 145 146 147 148 | [def Enter/Return] The interaction with the object is terminated. [list_end] | | < | < < < < < < < < < < < | 145 146 147 148 149 150 151 152 153 154 | [def Enter/Return] The interaction with the object is terminated. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/receive.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::receive n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General input from terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::receive [opt 0.1]] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::receive n 0.1] [keywords {character input}] [keywords control] [keywords {get character}] [keywords listener] [keywords receiver] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General input from terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::receive [opt 0.1]] [description] |
︙ | ︙ | |||
23 24 25 26 27 28 29 | If not specified [arg chan] defaults to [const stdin]. [para] It is the responsibility of the caller to make sure that the channel can provide single characters. On unix this can be done, for example, by using the command of package [package term::ansi::ctrl::unix]. | < | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | If not specified [arg chan] defaults to [const stdin]. [para] It is the responsibility of the caller to make sure that the channel can provide single characters. On unix this can be done, for example, by using the command of package [package term::ansi::ctrl::unix]. [call [cmd ::term::receive::listen] [arg cmd] [opt [arg chan]]] This command sets up a filevent listener for the channel with handle [arg chan] and invokes the command prefix [arg cmd] whenever characters have been received, or EOF was reached. |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [para] If not specified [arg chan] defaults to [const stdin]. [list_end] | < | < < | < < < < < < < < < | 68 69 70 71 72 73 74 75 76 77 | [para] If not specified [arg chan] defaults to [const stdin]. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/term.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General terminal control}] [category {Terminal control}] [require Tcl 8.4] [require term [opt 0.1]] [description] It is planned to have this package provide highlevel general terminal control commands, in the vein of ncurses or similar packages. Currently nothing has been implemented however. I.e. this package is empty. It can be loaded, yet provides nothing. | > > < | < < | < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term n 0.1] [keywords control] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General terminal control}] [category {Terminal control}] [require Tcl 8.4] [require term [opt 0.1]] [description] It is planned to have this package provide highlevel general terminal control commands, in the vein of ncurses or similar packages. Currently nothing has been implemented however. I.e. this package is empty. It can be loaded, yet provides nothing. [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/term_bind.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::receive::bind n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Keyboard dispatch from terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::receive::bind [opt 0.1]] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::receive::bind n 0.1] [keywords {character input}] [keywords control] [keywords dispatcher] [keywords listener] [keywords receiver] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {Keyboard dispatch from terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::receive::bind [opt 0.1]] [description] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | This method adds an additional mapping from the string [arg str] to the action [arg cmd]. The mapping will take effect immediately should the processor be in a prefix of [arg str], or at the next reset operation. The action is a command prefix and will be invoked with one argument appended to it, the character sequence causing the invokation. It is executed in the global namespace. | < < < < < < < | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | This method adds an additional mapping from the string [arg str] to the action [arg cmd]. The mapping will take effect immediately should the processor be in a prefix of [arg str], or at the next reset operation. The action is a command prefix and will be invoked with one argument appended to it, the character sequence causing the invokation. It is executed in the global namespace. [call [arg object] [method default] [arg cmd]] This method defines a default action [arg cmd] which will be invoked whenever an unknown character sequence is encountered. The command prefix is handled in the same as the regular action defined via method [method map]. [call [arg object] [method listen] [opt [arg chan]]] This methods sets up a filevent listener for the channel with handle [arg chan] and invokes the dispatcher object whenever characters have been received, or EOF was reached. [para] If not specified [arg chan] defaults to [const stdin]. [call [arg object] [method unlisten] [opt [arg chan]]] This methods removes the filevent listener for the channel with handle [arg chan]. [para] If not specified [arg chan] defaults to [const stdin]. [call [arg object] [method reset]] This method resets the character processor to the beginning of the tree. [call [arg object] [method next] [arg char]] This method causes the character processor to process the character [arg c]. This may simply advance the internal state, or invoke an associated action for a recognized sequence. [call [arg object] [method process] [arg str]] This method causes the character processor to process the character sequence [arg str], advancing the internal state and invoking action as necessary. This is a callback for [method listen]. [call [arg object] [method eof]] This method causes the character processor to handle EOF on the input. This is currently no-op. This is a callback for [method listen]. |
︙ | ︙ | |||
116 117 118 119 120 121 122 | its prefix. [para] In other words, the set of recognized strings has to form a [term {prefix code}]. | < | < < | < < < < < < < < < | 115 116 117 118 119 120 121 122 123 124 | its prefix. [para] In other words, the set of recognized strings has to form a [term {prefix code}]. [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/term/term_send.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::send n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General output to terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::send [opt 0.1]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin term::send n 0.1] [keywords {character output}] [keywords control] [keywords terminal] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Terminal control}] [titledesc {General output to terminals}] [category {Terminal control}] [require Tcl 8.4] [require term::send [opt 0.1]] [description] |
︙ | ︙ | |||
24 25 26 27 28 29 30 | [call [cmd ::term::send::wr] [arg str]] This convenience command is like [cmd ::term::send::wrch], except that the destination channel is fixed to [emph stdout]. [list_end] | < | < < | < < < < < < < < | 27 28 29 30 31 32 33 34 35 36 | [call [cmd ::term::send::wr] [arg str]] This convenience command is like [cmd ::term::send::wrch], except that the destination channel is fixed to [emph stdout]. [list_end] [vset CATEGORY term] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/adjust.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::adjust n 0.7.1] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to adjust, indent, and undent paragraphs}] [category {Text processing}] [require Tcl 8.2] [require textutil::adjust [opt 0.7.1]] [description] | > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [manpage_begin textutil::adjust n 0.7.1] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords adjusting] [keywords formatting] [keywords hyphenation] [keywords indenting] [keywords justification] [keywords paragraph] [keywords string] [keywords TeX] [keywords undenting] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to adjust, indent, and undent paragraphs}] [category {Text processing}] [require Tcl 8.2] [require textutil::adjust [opt 0.7.1]] [description] |
︙ | ︙ | |||
48 49 50 51 52 53 54 | [para] The following options may be used after the [arg string] parameter, and change the way the command places a [emph real] line in a [emph logical] line. | < < | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | [para] The following options may be used after the [arg string] parameter, and change the way the command places a [emph real] line in a [emph logical] line. [list_begin options] [opt_def -full [arg boolean]] If set to [const false] (default), trailing space characters are deleted before returning the string. If set to [const true], any trailing space characters are left in the string. [opt_def -hyphenate [arg boolean]] If set to [const false] (default), no hyphenation will be done. If set to [const true], the command will try to hyphenate the last word of a line. [emph Note]: Hyphenation patterns must be loaded prior, using the command [cmd ::textutil::adjust::readPatterns]. [opt_def -justify [const center|left|plain|right]] Sets the justification of the returned string to either [const left] (default), [const center], [const plain] or [const right]. The justification means that any line in the returned string but the last one is build according to the value. |
︙ | ︙ | |||
114 115 116 117 118 119 120 | [opt_def -length [arg integer]] Set the length of the [emph logical] line in the string to [arg integer]. [arg integer] must be a positive integer value. Defaults to [const 72]. | < < | 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | [opt_def -length [arg integer]] Set the length of the [emph logical] line in the string to [arg integer]. [arg integer] must be a positive integer value. Defaults to [const 72]. [opt_def -strictlength] [arg boolean]] If set to [const false] (default), a line can exceed the specified [option -length] if a single word is longer than [option -length]. If set to [const true], words that are longer than [option -length] are split so that no line exceeds the specified [option -length]. [list_end] [call [cmd ::textutil::adjust::readPatterns] [arg filename]] Loads the internal storage for hyphenation patterns with the contents of the file [arg filename]. This has to be done prior to calling command [cmd ::textutil::adjust::adjust] with "[option -hyphenate] [const true]", or the hyphenation process will not work correctly. |
︙ | ︙ | |||
152 153 154 155 156 157 158 | Use this command to query the package for the full path name of the hyphenation file [arg filename] coming with the package. Only the filenames found in the list returned by [cmd ::textutil::adjust::listPredefined] are legal arguments for this command. | < < | < | < < < < < < < < < < < < < | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | Use this command to query the package for the full path name of the hyphenation file [arg filename] coming with the package. Only the filenames found in the list returned by [cmd ::textutil::adjust::listPredefined] are legal arguments for this command. [call [cmd ::textutil::adjust::indent] [arg string] [arg prefix] [opt [arg skip]]] Each line in the [arg string] is indented by adding the string [arg prefix] at its beginning. The modified string is returned as the result of the command. [para] If [arg skip] is specified the first [arg skip] lines are left untouched. The default for [arg skip] is [const 0], causing the modification of all lines. Negative values for [arg skip] are treated like [const 0]. In other words, [arg skip] > [const 0] creates a hanging indentation. [para] Together with [cmd ::textutil::adjust::adjust] it is possible to create properly wrapped paragraphs with arbitrary indentations. [call [cmd ::textutil::adjust::undent] [arg string]] The command computes the common prefix for all lines in [arg string] consisting solely out of whitespace, removes this from each line and returns the modified string. [para] Lines containing only whitespace are always reduced to completely empty lines. They and empty lines are also ignored when computing the prefix to remove. [para] Together with [cmd ::textutil::adjust::adjust] it is possible to create properly wrapped paragraphs with arbitrary indentations. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/expander.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin textutil::expander n 1.3.1] [copyright {William H. Duquette, http://www.wjduquette.com/expand}] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to process templates and expand text.}] [category {Documentation tools}] [require Tcl 8.2] [require textutil::expander [opt 1.3.1]] [description] | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin textutil::expander n 1.3.1] [see_also {[uri}] [see_also http://www.wjduquette.com/expand] [see_also regexp] [see_also split] [see_also string] [keywords string] [keywords {template processing}] [keywords {text expansion}] [copyright {William H. Duquette, http://www.wjduquette.com/expand}] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to process templates and expand text.}] [category {Documentation tools}] [require Tcl 8.2] [require textutil::expander [opt 1.3.1]] [description] [para] The Tcl [cmd subst] command is often used to support a kind of template processing. Given a string with embedded variables or function calls, [cmd subst] will interpolate the variable and function values, returning the new string: |
︙ | ︙ | |||
98 99 100 101 102 103 104 | [para] The following commands are possible for expander objects: [list_begin definitions] | < < < < < < < < < | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 | [para] The following commands are possible for expander objects: [list_begin definitions] [call [arg expanderName] [method cappend] [arg text]] Appends a string to the output in the current context. This command should rarely be used by macros or application code. [call [arg expanderName] [method cget] [arg varname]] Retrieves the value of variable [arg varname], defined in the current context. [call [arg expanderName] [method cis] [arg cname]] Determines whether or not the name of the current context is [arg cname]. [call [arg expanderName] [method cname]] Returns the name of the current context. [call [arg expanderName] [method cpop] [arg cname]] Pops a context from the context stack, returning all accumulated output in that context. The context must be named [arg cname], or an error results. [call [arg expanderName] [method ctopandclear]] Returns the output currently captured in the topmost context and clears that buffer. This is similar to a combination of [method cpop] followed by [method cpush], except that internal state (brackets) is preserved here. [call [arg expanderName] [method cpush] [arg cname]] Pushes a context named [arg cname] onto the context stack. The context must be popped by [method cpop] before expansion ends or an error results. [call [arg expanderName] [method cset] [arg varname] [arg value]] Sets variable [arg varname] to [arg value] in the current context. [call [arg expanderName] [method cvar] [arg varname]] Retrieves the internal variable name of context variable [arg varname]; this allows the variable to be passed to commands like [cmd lappend]. [call [arg expanderName] [method errmode] [arg newErrmode]] Sets the macro expansion error mode to one of [const nothing], [const macro], [const error], or [const fail]; the default value is [const fail]. The value determines what the expander does if an error is detected during expansion of a macro. |
︙ | ︙ | |||
195 196 197 198 199 200 201 | Returns the current evaluation command, which defaults to [cmd {uplevel #0}]. If specified, [arg newEvalCmd] will be saved for future use and then returned; it must be a Tcl command expecting one additional argument: the macro to evaluate. | < < < < < < < | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 | Returns the current evaluation command, which defaults to [cmd {uplevel #0}]. If specified, [arg newEvalCmd] will be saved for future use and then returned; it must be a Tcl command expecting one additional argument: the macro to evaluate. [call [arg expanderName] [method expand] [arg string] [opt [arg brackets]]] Expands the input string, replacing embedded macros with their expanded values, and returns the expanded string. [para] If [arg brackets] is given, it must be a list of two strings; the items will be used as the left and right macro expansion bracket sequences for this expansion only. [call [arg expanderName] [method lb] [opt [arg newbracket]]] Returns the current value of the left macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If [arg newbracket] is specified, it becomes the new bracket, and is returned. [call [arg expanderName] [method rb] [opt [arg newbracket]]] Returns the current value of the right macro expansion bracket; this is for use as or within a macro, when the bracket needs to be included in the output text. If [arg newbracket] is specified, it becomes the new bracket, and is returned. [call [arg expanderName] [method reset]] Resets all expander settings to their initial values. Unusual results are likely if this command is called from within a call to [method expand]. [call [arg expanderName] [method setbrackets] [arg {lbrack rbrack}]] Sets the left and right macro expansion brackets. This command is for use as or within a macro, or to permanently change the bracket definitions. By default, the brackets are [const [lb]] and [const [rb]], but any non-empty string can be used; for example, [const <] and [const >] or [const (*] and [const *)] or even [const Hello,] and [const World!]. [call [arg expanderName] [method textcmd] [opt [arg newTextCmd]]] Returns the current command for processing plain text, which defaults to the empty string, meaning [emph identity]. If specified, [arg newTextCmd] will be saved for future use and then returned; it must be a Tcl command expecting one additional argument: the text to process. The expander object will this command for all plain text it encounters, giving the user of the object the ability to process all plain text in some standard way before writing it to the output. The object expects that the command returns the processed plain text. [para] [emph Note] that the combination of "[cmd textcmd] [arg plaintext]" is run through the [arg evalcmd] for the actual evaluation. In other words, the [arg textcmd] is treated as a special macro implicitly surrounding all plain text in the template. [call [arg expanderName] [method where]] Returns a three-element list containing the current character position, line, and column the expander is at in the processing of the current input string. |
︙ | ︙ | |||
302 303 304 305 306 307 308 | Howdy % proc place {} {return "World"} % ::myexp expand {[set greeting], [place]!} Howdy, World! % }] | < | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 | Howdy % proc place {} {return "World"} % ::myexp expand {[set greeting], [place]!} Howdy, World! % }] [subsection {Embedding Macros}] An expander macro is simply a Tcl script embedded within a text string. Expander evaluates the script in the global context, and replaces it with its result string. For example, [para] |
︙ | ︙ | |||
329 330 331 332 333 334 335 | Hi, World! What's up, World! And that's just a small sample! % }] | < | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 | Hi, World! What's up, World! And that's just a small sample! % }] [subsection {Writing Macro Commands}] More typically, [emph {macro commands}] are used to create a markup language. A macro command is just a Tcl command that returns an output string. For example, expand can be used to implement a generic document markup language that can be retargeted to HTML or any other output format: |
︙ | ︙ | |||
351 352 353 354 355 356 357 | % }] [para] The above definitions of [cmd bold] and [cmd /bold] returns HTML, but such commands can be as complicated as needed; they could, for example, decide what to return based on the desired output format. | < | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 | % }] [para] The above definitions of [cmd bold] and [cmd /bold] returns HTML, but such commands can be as complicated as needed; they could, for example, decide what to return based on the desired output format. [subsection {Changing the Expansion Brackets}] By default, embedded macros are enclosed in square brackets, [const [lb]] and [const [rb]]. If square brackets need to be included in the output, the input can contain the [cmd lb] and |
︙ | ︙ | |||
389 390 391 392 393 394 395 | [example { % ::myexp setbrackets "\\[" "\\]" % ::myexp expand {<bold>This is boldface</bold>} {< >} <b>This is boldface</b> % }] | < < | 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 | [example { % ::myexp setbrackets "\\[" "\\]" % ::myexp expand {<bold>This is boldface</bold>} {< >} <b>This is boldface</b> % }] [subsection {Customized Macro Expansion}] By default, macros are evaluated using the Tcl [cmd {uplevel #0}] command, so that the embedded code executes in the global context. The application can provide a different evaluation command using [method evalcmd]; this allows the application to use a safe interpreter, for example, or even to evaluated something other than Tcl code. There is one caveat: to be recognized as valid, a macro must return 1 when passed to Tcl's "info complete" command. [para] For example, the following code "evaluates" each macro by returning the macro text itself. [para] [example { proc identity {macro} {return $macro} ::myexp evalcmd identity }] [subsection {Using the Context Stack}] Often it's desirable to define a pair of macros which operate in some way on the plain text between them. Consider a set of macros for adding footnotes to a web page: one could have implement something like this: |
︙ | ︙ | |||
513 514 515 516 517 518 519 | or [method cname]. [section HISTORY] [cmd expander] was written by William H. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool. | < | < < | < < < < < < < < < | 499 500 501 502 503 504 505 506 507 508 | or [method cname]. [section HISTORY] [cmd expander] was written by William H. Duquette; it is a repackaging of the central algorithm of the expand macro processing tool. [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/repeat.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::repeat n 0.7.1] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to repeat strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil::repeat [opt 0.7]] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin textutil::repeat n 0.7.1] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords blanks] [keywords repetition] [keywords string] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to repeat strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil::repeat [opt 0.7]] [description] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [call [cmd ::textutil::repeat::blank] [arg num]] A convenience command. Returns a string of [arg num] spaces. [list_end] | | < | < < < < < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | [call [cmd ::textutil::repeat::blank] [arg num]] A convenience command. Returns a string of [arg num] spaces. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/tabify.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::tabify n 0.7] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to (un)tabify strings}] [category {Text processing}] [require Tcl 8.2] [require textutil::tabify [opt 0.7]] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin textutil::tabify n 0.7] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords formatting] [keywords string] [keywords tabstops] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to (un)tabify strings}] [category {Text processing}] [require Tcl 8.2] [require textutil::tabify [opt 0.7]] [description] |
︙ | ︙ | |||
17 18 19 20 21 22 23 | [call [cmd ::textutil::tabify::tabify] [arg string] [opt [arg num]]] Tabify the [arg string] by replacing any substring of [arg num] space chars by a tabulation and return the result as a new string. [arg num] defaults to 8. | < < < | < | < < < < < < < < < < < < | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | [call [cmd ::textutil::tabify::tabify] [arg string] [opt [arg num]]] Tabify the [arg string] by replacing any substring of [arg num] space chars by a tabulation and return the result as a new string. [arg num] defaults to 8. [call [cmd ::textutil::tabify::tabify2] [arg string] [opt [arg num]]] Similar to [cmd ::textutil::tabify] this command tabifies the [arg string] and returns the result as a new string. A different algorithm is used however. Instead of replacing any substring of [arg num] spaces this command works more like an editor. [arg num] defaults to 8. [para] Each line of the text in [arg string] is treated as if there are tabstops every [arg num] columns. Only sequences of space characters containing more than one space character and found immediately before a tabstop are replaced with tabs. [call [cmd ::textutil::tabify::untabify] [arg string] [opt [arg num]]] Untabify the [arg string] by replacing any tabulation char by a substring of [arg num] space chars and return the result as a new string. [arg num] defaults to 8. [call [cmd ::textutil::tabify::untabify2] [arg string] [opt [arg num]]] Untabify the [arg string] by replacing any tabulation char by a substring of at most [arg num] space chars and return the result as a new string. Unlike [cmd textutil::tabify::untabify] each tab is not replaced by a fixed number of space characters. The command overlays each line in the [arg string] with tabstops every [arg num] columns instead and replaces tabs with just enough space characters to reach the next tabstop. This is the complement of the actions taken by [cmd ::textutil::tabify::tabify2]. [arg num] defaults to 8. [para] There is one asymmetry though: A tab can be replaced with a single space, but not the other way around. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/textutil.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil n 0.7.1] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to manipulate texts and strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil [opt 0.7.1]] [description] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [manpage_begin textutil n 0.7.1] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords formatting] [keywords hyphenation] [keywords indenting] [keywords paragraph] [keywords {regular expression}] [keywords string] [keywords TeX] [keywords trimming] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to manipulate texts and strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil [opt 0.7.1]] [description] |
︙ | ︙ | |||
63 64 65 66 67 68 69 | trailing spaces are ignored before returning the string (see [option -full] option below). The following options may be used after the [arg string] parameter, and change the way the command place a [emph real] line in a [emph logical] line. | < < | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | trailing spaces are ignored before returning the string (see [option -full] option below). The following options may be used after the [arg string] parameter, and change the way the command place a [emph real] line in a [emph logical] line. [list_begin definitions] [def "-full [arg boolean]"] If set to [const false], any trailing space chars are deleted before returning the string. If set to [const true], any trailing space chars are left in the string. Default to [const false]. [def "[option -hyphenate] [arg boolean]"] if set to [const false], no hyphenation will be done. If set to [const true], the last word of a line is tried to be hyphenated. Defaults to [const false]. Note: hyphenation patterns must be loaded prior, using the command [cmd ::textutil::adjust::readPatterns]. [def "[option -justify] [const center|left|plain|right]"] Set the justification of the returned string to [const center], [const left], [const plain] or [const right]. By default, it is set to [const left]. The justification means that any line in the returned |
︙ | ︙ | |||
129 130 131 132 133 134 135 | [def "[option -length] [arg integer]"] Set the length of the [emph logical] line in the string to [arg integer]. [arg integer] must be a positive integer value. Defaults to [const 72]. | < < | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | [def "[option -length] [arg integer]"] Set the length of the [emph logical] line in the string to [arg integer]. [arg integer] must be a positive integer value. Defaults to [const 72]. [def "[option -strictlength] [arg boolean]"] If set to [const false], a line can exceed the specified [option -length] if a single word is longer than [option -length]. If set to [const true], words that are longer than [option -length] are split so that no line exceeds the specified [option -length]. Defaults to [const false]. [list_end] [call [cmd ::textutil::adjust::readPatterns] [arg filename]] Loads the internal storage for hyphenation patterns with the contents of the file [arg filename]. This has to be done prior to calling command [cmd ::textutil::adjust] with |
︙ | ︙ | |||
171 172 173 174 175 176 177 | Use this command to query the package for the full path name of the hyphenation file [arg filename] coming with the package. Only the filenames found in the list returned by [cmd ::textutil::adjust::listPredefined] are legal arguments for this command. | < < < | 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 | Use this command to query the package for the full path name of the hyphenation file [arg filename] coming with the package. Only the filenames found in the list returned by [cmd ::textutil::adjust::listPredefined] are legal arguments for this command. [call [cmd ::textutil::indent] [arg string] [arg prefix] [opt [arg skip]]] Each line in the [arg string] indented by adding the string [arg prefix] at its beginning. The modified string is returned as the result of the command. [para] If [arg skip] is specified the first [arg skip] lines are left untouched. The default for [arg skip] is [const 0], causing the modification of all lines. Negative values for [arg skip] are treated like [const 0]. In other words, [arg skip] > [const 0] creates a hanging indentation. [para] Together with [cmd ::textutil::adjust] it is possible to create properly wrapped paragraphs with arbitrary indentations. [call [cmd ::textutil::undent] [arg string]] The command computes the common prefix for all lines in [arg string] consisting solely out of whitespace, removes this from each line and returns the modified string. [para] Lines containing only whitespace are always reduced to completely empty lines. They and empty lines are also ignored when computing the prefix to remove. [para] Together with [cmd ::textutil::adjust] it is possible to create properly wrapped paragraphs with arbitrary indentations. [call [cmd ::textutil::splitn] [arg string] [opt [arg len]]] This command splits the given [arg string] into chunks of [arg len] characters and returns a list containing these chunks. The argument [arg len] defaults to [const 1] if none is specified. A negative length is not allowed and will cause the command to throw an |
︙ | ︙ | |||
234 235 236 237 238 239 240 | additional element. If the [arg string] is empty the result is the empty list, like for [cmd split]. If [arg regexp] is empty the [arg string] is split at every character, like [cmd split] does. The regular expression [arg regexp] defaults to "[lb]\\t \\r\\n[rb]+". | < < < < | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | additional element. If the [arg string] is empty the result is the empty list, like for [cmd split]. If [arg regexp] is empty the [arg string] is split at every character, like [cmd split] does. The regular expression [arg regexp] defaults to "[lb]\\t \\r\\n[rb]+". [call [cmd ::textutil::tabify] [arg string] [opt [arg num]]] Tabify the [arg string] by replacing any substring of [arg num] space chars by a tabulation and return the result as a new string. [arg num] defaults to 8. [call [cmd ::textutil::tabify2] [arg string] [opt [arg num]]] Similar to [cmd ::textutil::tabify] this command tabifies the [arg string] and returns the result as a new string. A different algorithm is used however. Instead of replacing any substring of [arg num] spaces this command works more like an editor. [arg num] defaults to 8. [para] Each line of the text in [arg string] is treated as if there are tabstops every [arg num] columns. Only sequences of space characters containing more than one space character and found immediately before a tabstop are replaced with tabs. [call [cmd ::textutil::trim] [arg string] [opt [arg regexp]]] Remove in [arg string] any leading and trailing substring according to the regular expression [arg regexp] and return the result as a new string. This apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". [call [cmd ::textutil::trimleft] [arg string] [opt [arg regexp]]] Remove in [arg string] any leading substring according to the regular expression [arg regexp] and return the result as a new string. This apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, |
︙ | ︙ | |||
295 296 297 298 299 300 301 | apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". | < < < < < < | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". [call [cmd ::textutil::trimPrefix] [arg string] [arg prefix]] Removes the [arg prefix] from the beginning of [arg string] and returns the result. The [arg string] is left unchanged if it doesn't have [arg prefix] at its beginning. [call [cmd ::textutil::trimEmptyHeading] [arg string]] Looks for empty lines (including lines consisting of only whitespace) at the beginning of the [arg string] and removes it. The modified string is returned as the result of the command. [call [cmd ::textutil::untabify] [arg string] [opt [arg num]]] Untabify the [arg string] by replacing any tabulation char by a substring of [arg num] space chars and return the result as a new string. [arg num] defaults to 8. [call [cmd ::textutil::untabify2] [arg string] [opt [arg num]]] Untabify the [arg string] by replacing any tabulation char by a substring of at most [arg num] space chars and return the result as a new string. Unlike [cmd textutil::untabify] each tab is not replaced by a fixed number of space characters. The command overlays each line in the [arg string] with tabstops every [arg num] columns instead and replaces tabs with just enough space characters to reach the next tabstop. This is the complement of the actions taken by [cmd ::textutil::tabify2]. [arg num] defaults to 8. [para] There is one asymmetry though: A tab can be replaced with a single space, but not the other way around. [call [cmd ::textutil::strRepeat] [arg "text num"]] The implementation depends on the core executing the package. Used [cmd "string repeat"] if it is present, or a fast tcl implementation if it is not. Returns a string containing the [arg text] repeated [arg num] times. The repetitions are joined without characters between them. A value of [arg num] <= 0 causes the command to return an empty string. [call [cmd ::textutil::blank] [arg num]] A convenience command. Returns a string of [arg num] spaces. [call [cmd ::textutil::chop] [arg string]] |
︙ | ︙ | |||
370 371 372 373 374 375 376 | [call [cmd ::textutil::uncap] [arg string]] The complementary operation to [cmd ::textutil::cap]. Forces the first character of [arg string] to lower case and returns the modified string. | < | < | < < < < < < < < < < < < < | 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 | [call [cmd ::textutil::uncap] [arg string]] The complementary operation to [cmd ::textutil::cap]. Forces the first character of [arg string] to lower case and returns the modified string. [call [cmd ::textutil::longestCommonPrefixList] [arg list]] [call [cmd ::textutil::longestCommonPrefix] [opt [arg string]...]] Computes the longest common prefix for either the [arg string]s given to the command, or the strings specified in the single [arg list], and returns it as the result of the command. [para] If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/textutil_split.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::split n 0.7] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to split texts}] [category {Text processing}] [require Tcl 8.2] [require textutil::split [opt 0.7]] [description] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [manpage_begin textutil::split n 0.7] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords {regular expression}] [keywords split] [keywords string] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to split texts}] [category {Text processing}] [require Tcl 8.2] [require textutil::split [opt 0.7]] [description] |
︙ | ︙ | |||
38 39 40 41 42 43 44 | empty list, like for [cmd split]. If [arg regexp] is empty the [arg string] is split at every character, like [cmd split] does. The regular expression [arg regexp] defaults to "[lb]\\t \\r\\n[rb]+". [list_end] | | < | < < < < < < < < < < < < | 44 45 46 47 48 49 50 51 52 53 | empty list, like for [cmd split]. If [arg regexp] is empty the [arg string] is split at every character, like [cmd split] does. The regular expression [arg regexp] defaults to "[lb]\\t \\r\\n[rb]+". [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/textutil_string.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::string n 0.7] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to manipulate texts and strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil::string [opt 0.7]] [description] | > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [manpage_begin textutil::string n 0.7] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords capitalize] [keywords chop] [keywords {common prefix}] [keywords formatting] [keywords prefix] [keywords string] [keywords uncapitalize] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to manipulate texts and strings.}] [category {Text processing}] [require Tcl 8.2] [require textutil::string [opt 0.7]] [description] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | [call [cmd ::textutil::string::uncap] [arg string]] The complementary operation to [cmd ::textutil::string::cap]. Forces the first character of [arg string] to lower case and returns the modified string. | < | < | < < < < < < < < < < < < < | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | [call [cmd ::textutil::string::uncap] [arg string]] The complementary operation to [cmd ::textutil::string::cap]. Forces the first character of [arg string] to lower case and returns the modified string. [call [cmd ::textutil::string::longestCommonPrefixList] [arg list]] [call [cmd ::textutil::string::longestCommonPrefix] [opt [arg string]...]] Computes the longest common prefix for either the [arg string]s given to the command, or the strings specified in the single [arg list], and returns it as the result of the command. [para] If no strings were specified the result is the empty string. If only one string was specified, the string itself is returned, as it is its own longest common prefix. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/textutil/trim.man.
1 2 3 4 5 6 7 8 | [manpage_begin textutil::trim n 0.7] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to trim strings}] [category {Text processing}] [require Tcl 8.2] [require textutil::trim [opt 0.7]] [description] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin textutil::trim n 0.7] [see_also regexp(n)] [see_also split(n)] [see_also string(n)] [keywords prefix] [keywords {regular expression}] [keywords string] [keywords trimming] [moddesc {Text and string utilities, macro processing}] [titledesc {Procedures to trim strings}] [category {Text processing}] [require Tcl 8.2] [require textutil::trim [opt 0.7]] [description] |
︙ | ︙ | |||
23 24 25 26 27 28 29 | substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". | < | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". [call [cmd ::textutil::trim::trimleft] [arg string] [opt [arg regexp]]] Remove in [arg string] any leading substring according to the regular expression [arg regexp] and return the result as a new string. This apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string |
︙ | ︙ | |||
46 47 48 49 50 51 52 | apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". | < < | < | < < < < < < < < < < < < | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | apply on any [emph line] in the string, that is any substring between 2 newline chars, or between the beginning of the string and a newline, or between a newline and the end of the string, or, if the string contain no newline, between the beginning and the end of the string. The regular expression [arg regexp] defaults to "[lb] \\t[rb]+". [call [cmd ::textutil::trim::trimPrefix] [arg string] [arg prefix]] Removes the [arg prefix] from the beginning of [arg string] and returns the result. The [arg string] is left unchanged if it doesn't have [arg prefix] at its beginning. [call [cmd ::textutil::trim::trimEmptyHeading] [arg string]] Looks for empty lines (including lines consisting of only whitespace) at the beginning of the [arg string] and removes it. The modified string is returned as the result of the command. [list_end] [vset CATEGORY textutil] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/tie/tie.man.
1 2 3 4 5 6 7 8 | [manpage_begin tie n 1.1] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Array persistence}] [category {Programming tools}] [require Tcl 8.4] [require tie [opt 1.1]] [description] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin tie n 1.1] [keywords array] [keywords database] [keywords file] [keywords metakit] [keywords persistence] [keywords tie] [keywords untie] [copyright {2004-2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Array persistence}] [category {Programming tools}] [require Tcl 8.4] [require tie [opt 1.1]] [description] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | [subsection {TIE API}] This section describes the basic API used to establish and remove ties between Tcl array variables and data sources. This interface is the only one a casual user has to be concerned about. The following sections about the various internal interfaces can be safely skipped. | < | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | [subsection {TIE API}] This section describes the basic API used to establish and remove ties between Tcl array variables and data sources. This interface is the only one a casual user has to be concerned about. The following sections about the various internal interfaces can be safely skipped. [list_begin definitions] [call [cmd ::tie::tie] [arg arrayvarname] [arg options]... [arg dstype] [arg dsname]...] This command establishes a tie between the Tcl array whose name is provided by the argument [arg arrayvarname] and the |
︙ | ︙ | |||
99 100 101 102 103 104 105 | [para] This option and the option [option -save] exclude each other. If neither this nor option [option -save] are specified then this option is assumed as default. | < < | 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | [para] This option and the option [option -save] exclude each other. If neither this nor option [option -save] are specified then this option is assumed as default. [opt_def -save] The Tcl array for the new tie is [term saved] to the [term {data source}], and the previously existing contents of the [term {data source}] are erased. [para] This option and the option [option -open] exclude each other. If neither this nor option [option -open] are specified then option [option -open] is assumed as default. [opt_def -merge] Using this option prevents the erasure of any previously existing content and merges the data instead. It can be specified in conjunction with either [option -open] or [option -save]. They determine how data existing in both Tcl array and |
︙ | ︙ | |||
138 139 140 141 142 143 144 | When used with [option -save] data in the Tcl array has precedence. In other words, for duplicates the data in the Tcl array is saved into the [term {data source}]. [list_end] [para] | < | 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | When used with [option -save] data in the Tcl array has precedence. In other words, for duplicates the data in the Tcl array is saved into the [term {data source}]. [list_end] [para] [call [cmd ::tie::untie] [arg arrayvarname] [opt [arg token]]] This command dissolves one or more ties associated with the Tcl array named by [arg arrayvarname]. If no [arg token] is specified then all ties to that Tcl array are dissolved. Otherwise only the tie the token stands for is removed, if it is actually connected to the array. Trying to remove a specific tie not belonging to the provided |
︙ | ︙ | |||
163 164 165 166 167 168 169 | After the command returns none of changes made to the array will be saved to the [term {data source}] anymore. [para] The result of the command is an empty string. | < < < < < < | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | After the command returns none of changes made to the array will be saved to the [term {data source}] anymore. [para] The result of the command is an empty string. [list_begin arguments] [arg_def varname arrayname in] The name of a Tcl array variable which may have ties. [arg_def handle token in] A handle representing a specific tie. This argument is optional. [list_end] [para] [call [cmd ::tie::info] [method ties] [arg arrayvarname]] This command returns a list of ties associated with the Tcl array variable named by [arg arrayvarname]. The result list will be empty if the variable has no ties associated with it. [call [cmd ::tie::info] [method types]] This command returns a dictionary of registered types, and the class commands they are associated with. [call [cmd ::tie::info] [method type] [arg dstype]] This command returns the fully resolved class command for a type name. This means that the command will follow a chain of type definitions ot its end. [list_end] [subsection {STANDARD DATA SOURCE TYPES}] This package provides the six following types as examples and standard data sources. [list_begin definitions] [def [const log]] This [term {data source}] does not maintain any actual data, nor persistence. It does not accept any identifying arguments. All changes are simply logged to [const stdout]. [def [const array]] This [term {data source}] uses a regular Tcl array as the origin of the persistent data. It accepts a single identifying argument, the name of this Tcl array. All changes are mirrored to that array. [def [const remotearray]] This [term {data source}] is similar to [const array]. The difference is that the Tcl array to which we are mirroring is not directly accessible, but through a [cmd send]-like command. |
︙ | ︙ | |||
275 276 277 278 279 280 281 | The Tcl array is in a remote interpreter in a different thread of this process. [list_end] [para] | < | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 | The Tcl array is in a remote interpreter in a different thread of this process. [list_end] [para] [def [const file]] This [term {data source}] uses a single file as origin of the persistent data. It accepts a single identifying argument, the path to this file. The file has to be both readable and writable. It may not exist, the [term {data source}] will create it in that case. This (and only this) situation will require that the directory for the file |
︙ | ︙ | |||
299 300 301 302 303 304 305 | If the file exists when the tie using it is set up, then it will be compacted, i.e. superfluous operations are removed, if the operations log stored in it contains either at least one operation clearing the whole array, or at least 1.5 times more operations than entries in the loaded array. | < < < < | 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | If the file exists when the tie using it is set up, then it will be compacted, i.e. superfluous operations are removed, if the operations log stored in it contains either at least one operation clearing the whole array, or at least 1.5 times more operations than entries in the loaded array. [def [const growfile]] This [term {data source}] is like [const file] in terms of the storage medium for the array data, and how it is configured. In constrast to the former it however assumes and ensures that the tied array will never shrink. I.e. the creation of new array entries, and the modification of existing entries is allowed, but the deletion of entries is not, and causes the data source to throw errors. [para] This restriction allows us to simplify both file format and access to the file radically. For one, the file is read only once and the internal cache cannot be invalidated. Second, writing data is reduced to a simple append, and no compaction step is necessary. The format of the contents is the string representation of a dictionary which can be incrementally extended forever at the end. [def [const dsource]] This [term {data source}] uses an explicitly specified [term {data source object}] as the source for the persistent data. It accepts a single identifying argument, the command prefix, i.e. object command. [para] To use this type it is necessary to know how the framework manages ties and what [sectref dso {data source objects}] are. [para] All changes are delegated to the specified object. [list_end] [section {CREATING NEW DATA SOURCES}] This section is of no interest to the casual user of ties. Only developers wishing to create new data sources have to know the information provided herein. [subsection {DATA SOURCE OBJECTS} dso] All ties are represented internally by an in-memory object which mediates between the tie framework and the specific [term {data source}], like an array, file, etc. This is the [term {data source object}]. |
︙ | ︙ | |||
379 380 381 382 383 384 385 | [term {data source object}] itself, and this object is outside of the scope of the tie framework and not managed by it. In other words, this type allows the creation of ties which talk to pre-existing [term {data source object}]s, and these objects will survive the removal of the ties using them as well. | < < | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 | [term {data source object}] itself, and this object is outside of the scope of the tie framework and not managed by it. In other words, this type allows the creation of ties which talk to pre-existing [term {data source object}]s, and these objects will survive the removal of the ties using them as well. [subsection {REGISTERING A NEW DATA SOURCE CLASS}] After a [sectref dsc {data source class}] has been written it is necessary to register it as a new type with the framework. [list_begin definitions] [call [cmd ::tie::register] [arg dsclasscmd] [const as] [arg dstype]] Using this command causes the tie framework to remember the class command [arg dsclasscmd] of a [sectref dsc {data source class}] under the type name [arg dstype]. [para] After the call the argument [arg dstype] of the basic user command [cmd ::tie::tie] will accept [arg dstype] as a type name and translate it internally to the appropriate class command for the creation of [sectref dso {data source objects}] for the new [term {data source}]. [list_end] [subsection {DATA SOURCE CLASS} dsc] Each data source class is represented by a single command, also called the [term {class command}], or [term {object creation command}]. Its syntax is |
︙ | ︙ | |||
464 465 466 467 468 469 470 | [call [cmd ds] [method names]] This command has to return a list containing the names of all keys found in the [term {data source}] the object talks to. This is equivalent to [cmd {array names}]. | < < < < < < < | 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 | [call [cmd ds] [method names]] This command has to return a list containing the names of all keys found in the [term {data source}] the object talks to. This is equivalent to [cmd {array names}]. [call [cmd ds] [method size]] This command has to return an integer number specifying the number of keys found in the [term {data source}] the object talks to. This is equivalent to [cmd {array size}]. [call [cmd ds] [method get]] This command has to return a dictionary containing the data found in the [term {data source}] the object talks to. This is equivalent to [cmd {array get}]. [call [cmd ds] [method set] [arg dict]] This command takes a dictionary and adds its contents to the data source the object talks to. This is equivalent to [cmd {array set}]. [call [cmd ds] [method unset] [opt [arg pattern]]] This command takes a pattern and removes all elements whose keys matching it from the [term {data source}]. If no pattern is specified it defaults to [const *], causing the removal of all elements. This is nearly equivalent to [cmd {array unset}]. [call [cmd ds] [method setv] [arg index] [arg value]] This command has to save the [arg value] in the [term {data source}] the object talks to, under the key [arg index]. [para] The result of the command is ignored. If an error is thrown then this error will show up as error of the set operation which caused the method call. [call [cmd ds] [method unsetv] [arg index]] This command has to remove the value under the key [arg index] from the [term {data source}] the object talks to. [para] The result of the command is ignored. If an error is thrown then this error will show up as error of the unset operation which caused the method call. [call [cmd ds] [method getv] [arg index]] This command has to return the value for the key [arg index] in the [term {data source}] the object talks to. [list_end] |
︙ | ︙ | |||
543 544 545 546 547 548 549 | ----------- ----------- set a($idx) $val ds setv idx val unset a($idx) ds unsetv idx $a($idx) ds getv idx ----------- ----------- }] | < | < < | < < < < < < < < | 526 527 528 529 530 531 532 533 534 535 | ----------- ----------- set a($idx) $val ds setv idx val unset a($idx) ds unsetv idx $a($idx) ds getv idx ----------- ----------- }] [vset CATEGORY tie] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/tie/tie_std.man.
1 2 3 4 5 6 7 8 | [manpage_begin tie n 1.1] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Array persistence, standard data sources}] [category {Programming tools}] [require Tcl 8.4] [require tie::std::log [opt 1.1]] [require tie::std::array [opt 1.1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [manpage_begin tie n 1.1] [keywords array] [keywords database] [keywords file] [keywords metakit] [keywords persistence] [keywords tie] [keywords untie] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {Tcl Data Structures}] [titledesc {Array persistence, standard data sources}] [category {Programming tools}] [require Tcl 8.4] [require tie::std::log [opt 1.1]] [require tie::std::array [opt 1.1]] |
︙ | ︙ | |||
19 20 21 22 23 24 25 | [para] They are automatically loaded and registered by [package tie] when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so. | < | < < | < < < < < < < < | 26 27 28 29 30 31 32 33 34 35 | [para] They are automatically loaded and registered by [package tie] when it itself is requested, and as such there is no need to request them on their own, although it is possible to do so. [vset CATEGORY tie] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/tiff/tiff.man.
1 2 3 4 5 6 7 8 | [manpage_begin tiff n 0.2.1] [copyright {2005-2006, Aaron Faupell <[email protected]>}] [moddesc {TIFF image manipulation}] [titledesc {TIFF reading, writing, and querying and manipulation of meta data}] [category {File formats}] [require Tcl 8.2] [require tiff [opt 0.2.1]] [description] | > > > | 1 2 3 4 5 6 7 8 9 10 11 | [manpage_begin tiff n 0.2.1] [keywords image] [keywords tif] [keywords tiff] [copyright {2005-2006, Aaron Faupell <[email protected]>}] [moddesc {TIFF image manipulation}] [titledesc {TIFF reading, writing, and querying and manipulation of meta data}] [category {File formats}] [require Tcl 8.2] [require tiff [opt 0.2.1]] [description] |
︙ | ︙ | |||
162 163 164 165 166 167 168 | [list_begin enumerated] [enum] Cannot write exif ifd [enum] Reading limited to uncompressed 8 bit rgb and 8 bit palletized images [enum] Writing limited to uncompressed 8 bit rgb [list_end] | < | < < | < < < < < < < < | 165 166 167 168 169 170 171 172 173 174 | [list_begin enumerated] [enum] Cannot write exif ifd [enum] Reading limited to uncompressed 8 bit rgb and 8 bit palletized images [enum] Writing limited to uncompressed 8 bit rgb [list_end] [vset CATEGORY tiff] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/connect.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::connect n 0.2] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Connection setup}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::connect [opt 0.2]] [description] | > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::connect n 0.2] [keywords active] [keywords channel] [keywords connection] [keywords passive] [keywords secure] [keywords ssl] [keywords tls] [keywords transfer] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Connection setup}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::connect [opt 0.2]] [description] [para] This package provides objects holding enough information to enable them to either actively connect to a counterpart, or to passively wait for a connection from said counterpart. I.e. any object created by this packages is always in one of two |
︙ | ︙ | |||
57 58 59 60 61 62 63 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] | < < | < | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::connect] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions][comment ----methods] [call [arg objectName] [method destroy]] This method destroys the object. This is safe to do for an [term active] object when a connection has been started, as the completion callback is synchronous. For a [term passive] object currently waiting for its partner to establish the connection however this is not safe and will cause errors later on, when the connection setup completes and tries to access the now missing data structures of the destroyed object. [call [arg objectName] [method connect] [arg command]] This method starts the connection setup per the configuration of the object. When the connection is established the callback [arg command] will be invoked with one additional argument, the channel handle of the socket over which data can be transfered. |
︙ | ︙ | |||
144 145 146 147 148 149 150 | One possibility for this is the use of SSL/TLS. See the option [option -socketcmd] and section [sectref {Secure connections}] for information on how to do this. [list_end][comment ----mode-behaviour] [list_end][comment ----methods] | < < | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | One possibility for this is the use of SSL/TLS. See the option [option -socketcmd] and section [sectref {Secure connections}] for information on how to do this. [list_end][comment ----mode-behaviour] [list_end][comment ----methods] [subsection Options] Connection objects support the set of options listed below. [list_begin options] [include include/connect_options.inc] [list_end] [vset OBJCREATE {transfer::connect C}] [include include/secure.inc] [vset CATEGORY transfer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/copyops.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::copy n 0.2] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data transfer foundation}] [category {Transfer module}] [require Tcl 8.4] [require transfer::copy [opt 0.2]] [description] | > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::copy n 0.2] [keywords channel] [keywords copy] [keywords transfer] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data transfer foundation}] [category {Transfer module}] [require Tcl 8.4] [require transfer::copy [opt 0.2]] [description] [para] This package provides a number of commands for the asynchronous of information contained in either a string or channel. The main point of this package is that the commands here provide a nicer callback API than the builtin command [cmd fcopy], making the use of these facilities simpler than the builtin. |
︙ | ︙ | |||
41 42 43 44 45 46 47 | [def [const string]] The argument [arg data] contains a string and this is the information to be transfered. [list_end] | < < < < < | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | [def [const string]] The argument [arg data] contains a string and this is the information to be transfered. [list_end] [call [cmd transfer::copy::chan] [arg channel] [arg outchannel] \ [opt [arg options]...]] This command is a shorter and more direct form for the command [cmd {transfer::copy::do chan}]. [call [cmd transfer::copy::string] [arg string] [arg outchannel] \ [opt [arg options]...]] This command is a shorter and more direct form for the command [cmd {transfer::copy::do string}]. [call [cmd transfer::copy::doChan] [arg channel] [arg outchannel] \ [arg optvar]] This command is an alternate form of [cmd transfer::copy::chan] which reads its options out of the array variable named by [arg optvar] instead of from a variable length argument list. [call [cmd transfer::copy::doString] [arg string] [arg outchannel] \ [arg optvar]] This command is an alternate form of [cmd transfer::copy::string] which reads its options out of the array variable named by [arg optvar] instead of from a variable length argument list. [call [cmd transfer::copy::options] [arg outchannel] [arg optionlist] \ [arg optvar]] This command is the option processor used by all the commands above which read their options from a variable length argument list. It first reads default settings from the channel handle [arg outchannel], |
︙ | ︙ | |||
97 98 99 100 101 102 103 | This option specifies the size of the chunks to transfer in one operation. It is optional and defaults to the value of [option -buffersize] as configured for the output channel. [para] If specified its value has to be an integer number greater than zero. | < | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | This option specifies the size of the chunks to transfer in one operation. It is optional and defaults to the value of [option -buffersize] as configured for the output channel. [para] If specified its value has to be an integer number greater than zero. [opt_def -command [arg commandprefix]] This option specifies the completion callback of the operation. This option has to be specified. An error will be thrown if it is not, or if the empty list was specified as argument to it. |
︙ | ︙ | |||
126 127 128 129 130 131 132 | [para] Its value has to be a command prefix, see above, [option -command] for a more detailed explanation. When the callback is invoked a single additional arguments is appended to the prefix. This argument is the number of bytes which were transfered so far. | < | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | [para] Its value has to be a command prefix, see above, [option -command] for a more detailed explanation. When the callback is invoked a single additional arguments is appended to the prefix. This argument is the number of bytes which were transfered so far. [opt_def -size [arg int]] This option specifies the number of bytes to read from the input data and transfer. It is optional and defaults to "Transfer everything". Its value has to be an integer number and any value less than zero has the same meaning, i.e. to transfer all available data. Any other value |
︙ | ︙ | |||
158 159 160 161 162 163 164 | of the output channel before the transfer are saved, and restored at the end of a transfer, regardless of its success or failure. None of these options are required, and they default to the settings of the output channel if not specified. [list_end][comment options] [list_end][comment definitions/api] | < | 153 154 155 156 157 158 159 160 161 162 163 | of the output channel before the transfer are saved, and restored at the end of a transfer, regardless of its success or failure. None of these options are required, and they default to the settings of the output channel if not specified. [list_end][comment options] [list_end][comment definitions/api] [vset CATEGORY transfer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/ddest.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::data::destination n 0.2] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data destination}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::data::destination [opt 0.2]] [description] | > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::data::destination n 0.2] [keywords channel] [keywords copy] [keywords {data destination}] [keywords transfer] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data destination}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::data::destination [opt 0.2]] [description] [para] This package provides objects mainly describing the destination of a data transfer. They are also able to initiate the reception of information from a channel into the described destination. [section API] [list_begin definitions] [call [cmd transfer::data::destination] \ [arg objectName] \ |
︙ | ︙ | |||
38 39 40 41 42 43 44 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] | < < < < < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::data::destination] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object. Doing so while the object is busy with the reception of information from a channel will cause errors later on, when the reception completes and tries to access the now missing data structures of the destroyed object. [call [arg objectName] [method put] [arg chunk]] The main receptor method. Saves the received [arg chunk] of data into the configured destination. It has to be called for each piece of data received. [call [arg objectName] [method done]] The secondary receptor method. Finalizes the receiver. It has to be called when the receiving channel signals EOF. Afterward neither itself nor method [method put] can be called anymore. [call [arg objectName] [method valid] [arg msgvar]] This method checks the configuration of the object for validity. It returns a boolean flag as result, whose value is [const True] if the object is valid, and [const False] otherwise. In the latter case the variable whose name is stored in [arg msgvar] is set to an error |
︙ | ︙ | |||
104 105 106 107 108 109 110 | When the reception completes the command prefix [arg done] is invoked, with the number of received characters appended to it as the sole additional argument. [list_end] | < < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | When the reception completes the command prefix [arg done] is invoked, with the number of received characters appended to it as the sole additional argument. [list_end] [subsection Options] All data destinations support the options listed below. It should be noted that all are semi-exclusive, each specifying a different type of destination and associated information. If these options are specified more than once then the last option specified is used to actually configure the object. [list_begin options] [include include/ddest_options.inc] [list_end] [vset CATEGORY transfer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/dsource.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::data::source n 0.2] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::copy [opt 0.2]] [require transfer::data::source [opt 0.2]] [description] | > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::data::source n 0.2] [keywords channel] [keywords copy] [keywords {data source}] [keywords transfer] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::copy [opt 0.2]] [require transfer::data::source [opt 0.2]] [description] [para] This package provides objects mainly describing the origin of some data to transfer. They are also able to initiate transfers of the described information to a channel using the foundation package [package transfer::copy]. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd transfer::data::source] \ |
︙ | ︙ | |||
41 42 43 44 45 46 47 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] | < < < | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::data::source] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object. Doing so while a transfer initiated by the object is active is safe as all data required for the transfer itself was copied, and the completion of the transfer will not try to access the initiating object anymore. i.e. the transfer is completely separate from the source object itself. [call [arg objectName] [method type]] This method returns a string describing the type of the data the object is refering to. The possible values and their meanings are: [list_begin definitions] |
︙ | ︙ | |||
101 102 103 104 105 106 107 | object refers to, through which the data can be accessed. The method throws an error if the type is [const undefined]. For type [const string] the returned result is the data itself, whereas for type [const channel] the returned result is the handle of the channel containing the data. | < < | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | object refers to, through which the data can be accessed. The method throws an error if the type is [const undefined]. For type [const string] the returned result is the data itself, whereas for type [const channel] the returned result is the handle of the channel containing the data. [call [arg objectName] [method size]] This method returns a value depending on the type of the data the object refers to, the size of the data. The method throws an error if the type is [const undefined]. Return of a negative value signals that the object is unable to determine an absolute size upfront (like for data in a channel). [call [arg objectName] [method valid] [arg msgvar]] This method checks the configuration of the object for validity. It returns a boolean flag as result, whose value is [const True] if the object is valid, and [const False] otherwise. In the latter case the variable whose name is stored in [arg msgvar] is set to an error |
︙ | ︙ | |||
136 137 138 139 140 141 142 | The [arg blocksize] specifies the size of the chunks to transfer in one go. See the option [option -blocksize] of command [cmd transfer::copy::do] in the package [package transfer::copy]. [list_end] | < < < | 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | The [arg blocksize] specifies the size of the chunks to transfer in one go. See the option [option -blocksize] of command [cmd transfer::copy::do] in the package [package transfer::copy]. [list_end] [subsection Options] All data sources support the options listed below. It should be noted that the first four options are semi-exclusive, each specifying a different type of data source and associated content. If these options are specified more than once then the last option specified is used to actually configure the object. [list_begin options] [include include/dsource_options.inc] [list_end] [vset CATEGORY transfer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/receiver.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::receiver n 0.2] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::data::destination [opt 0.2]] [require transfer::connect [opt 0.2]] [require transfer::receiver [opt 0.2]] [description] | > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::receiver n 0.2] [keywords channel] [keywords copy] [keywords {data destination}] [keywords receiver] [keywords secure] [keywords ssl] [keywords tls] [keywords transfer] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::data::destination [opt 0.2]] [require transfer::connect [opt 0.2]] [require transfer::receiver [opt 0.2]] [description] [para] This package pulls data destinations and connection setup together into a combined object for the reception of information coming in over a socket. These objects understand all the options from objects created by the packages [package transfer::data::destination] and [package transfer::connect]. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd transfer::receiver] \ |
︙ | ︙ | |||
84 85 86 87 88 89 90 | [para] [vset RETURNER command] [vset OBJECT {if it was set}] [vset QUALIFIER {internal receiver}] [include include/connect_result_ref.inc] | < < < < < < | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | [para] [vset RETURNER command] [vset OBJECT {if it was set}] [vset QUALIFIER {internal receiver}] [include include/connect_result_ref.inc] [call [cmd transfer::receiver] [method {stream file}] \ [arg path] [arg host] [arg port] [opt [arg arg]...]] This method is like [method {stream channel}], except that the received data is written to the file [arg path], replacing any prior content. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::receiver] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] |
︙ | ︙ | |||
147 148 149 150 151 152 153 | destination is invalid, or if no completion callback was specified. [para] [vset RETURNER method] [vset OBJECT {for an object configured}] [vset QUALIFIER {}] [include include/connect_result_ref.inc] | < | 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | destination is invalid, or if no completion callback was specified. [para] [vset RETURNER method] [vset OBJECT {for an object configured}] [vset QUALIFIER {}] [include include/connect_result_ref.inc] [call [arg objectName] [method busy]] This method returns a boolean value telling us whether a reception is in progress ([const True]), or not ([const False]). [list_end] |
︙ | ︙ |
Changes to modules/transfer/tqueue.man.
1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::copy::queue n 0.1] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Queued transfers}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require struct::queue [opt 1.4]] [require transfer::copy [opt 0.2]] [require transfer::copy::queue [opt 0.1]] [description] | > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::copy::queue n 0.1] [keywords channel] [keywords copy] [keywords queue] [keywords transfer] [copyright {2006 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Queued transfers}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require struct::queue [opt 1.4]] [require transfer::copy [opt 0.2]] [require transfer::copy::queue [opt 0.1]] [description] [para] This package provides objects which serialize transfer requests for a single channel by means of a fifo queue. Accumulated requests are executed in order of entrance, with the first request reaching an idle object starting the execution in general. New requests can be added while the object is active and are defered until all requests entered |
︙ | ︙ | |||
59 60 61 62 63 64 65 | [package transfer::copy]. Note how just prepending the request with [cmd transfer::copy::do] and inserting a channel handle in between [arg data] and [arg options] easily transforms it from a pure data structure into a command whose evaluation will perform the request. | < | 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | [package transfer::copy]. Note how just prepending the request with [cmd transfer::copy::do] and inserting a channel handle in between [arg data] and [arg options] easily transforms it from a pure data structure into a command whose evaluation will perform the request. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd transfer::copy::queue] \ [arg objectName] \ |
︙ | ︙ | |||
87 88 89 90 91 92 93 | The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command. | < < < < < < < < < | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::copy::queue] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object. Doing so while the object is busy will cause errors later on, when the currently executed request completes and tries to access the now missing data structures of the destroyed object. [call [arg objectName] [method busy]] This method returns a boolean value telling us if the object is currently serving a request (i.e. [term busy], value [const True]), or not (i.e. [term idle], value [const False]). [call [arg objectName] [method pending]] This method returns the number of requests currently waiting in the queue for their execution. A request currently served is not counted as waiting. [call [arg objectName] [method put] [arg request]] This method enters the transfer [arg request] into the object's queue of waiting requests. If the object is [term idle] it will become [term busy], immediately servicing the request. Otherwise servicing the new request will be defered until all preceding requests have been served. [list_end] [section Options] The only option known is [option -on-status-change]. It is optional and defaults to the empty list, disabling the reporting of status changes. Otherwise its argument is a command prefix which is invoked whenever the internal status of the object changed. The callback is invoked with two additional arguments, the result of the methods [method pending] and [method busy], in this order. This allows any user to easily know, for example, when the object has processed all outstanding requests. [section Use] A possible application of this package and class is within a HTTP 1.1 server, managing the results waiting for transfer to the client. [para] It should be noted that in this application the system also needs an additional data structure which keeps track of outstanding results as they may come back in a different order than the requests from the client, and releases them to the actual queue in the proper order. [vset CATEGORY transfer] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/transfer/transmitter.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::transmitter n 0.2] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::copy [opt 0.2]] [require transfer::data::source [opt 0.2]] [require transfer::connect [opt 0.2]] [require transfer::transmitter [opt 0.2]] [description] | > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin transfer::transmitter n 0.2] [keywords channel] [keywords copy] [keywords {data source}] [keywords secure] [keywords ssl] [keywords tls] [keywords transfer] [keywords transmitter] [copyright {2006-2009 Andreas Kupries <[email protected]>}] [moddesc {Data transfer facilities}] [titledesc {Data source}] [category {Transfer module}] [require Tcl 8.4] [require snit [opt 1.0]] [require transfer::copy [opt 0.2]] [require transfer::data::source [opt 0.2]] [require transfer::connect [opt 0.2]] [require transfer::transmitter [opt 0.2]] [description] [para] This package pulls data sources and connection setup together into a combined object for the transmission of information over a socket. These objects understand all the options from objects created by the packages [package transfer::data::source] and [package transfer::connect]. [section API] [subsection {Package commands}] [list_begin definitions] [call [cmd transfer::transmitter] \ |
︙ | ︙ | |||
42 43 44 45 46 47 48 | The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command. | < | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | The object command will be created under the current namespace if the [arg objectName] is not fully qualified, and in the specified namespace otherwise. The fully qualified name of the object command is returned as the result of the command. [call [cmd transfer::transmitter] [method {stream channel}] \ [arg chan] [arg host] [arg port] [opt [arg arg]...]] This method creates a fire-and-forget transfer for the data contained in the channel [arg chan], starting at the current seek location. The channel is configured to use binary translation and encoding for the |
︙ | ︙ | |||
83 84 85 86 87 88 89 | [para] [vset RETURNER command] [vset OBJECT {if it was set}] [vset QUALIFIER {internal transmitter}] [include include/connect_result_ref.inc] | < < < < | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | [para] [vset RETURNER command] [vset OBJECT {if it was set}] [vset QUALIFIER {internal transmitter}] [include include/connect_result_ref.inc] [call [cmd transfer::transmitter] [method {stream file}] \ [arg path] [arg host] [arg port] [opt [arg arg]...]] This method is like [method {stream channel}], except that the data contained in the file [arg path] is transfered. [list_end] [subsection {Object command}] All objects created by the [cmd ::transfer::transmitter] command have the following general form: [list_begin definitions] [call [arg objectName] [method method] [opt [arg "arg arg ..."]]] The method [method method] and its [arg arg]'uments determine the exact behavior of the command. See section [sectref {Object methods}] for the detailed specifications. [list_end] [subsection {Object methods}] [list_begin definitions] [call [arg objectName] [method destroy]] This method destroys the object. Doing so while a transmission is in progress will cause errors later on, when the transmission completes and tries to access the now missing data structures of the destroyed object. [call [arg objectName] [method start]] This method initiates the data transmission, setting up the connection first and then copying the information. The method will throw an error if a transmission is already/still in |
︙ | ︙ | |||
144 145 146 147 148 149 150 | [para] [vset RETURNER method] [vset OBJECT {for an object configured}] [vset QUALIFIER {}] [include include/connect_result_ref.inc] | < < | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | [para] [vset RETURNER method] [vset OBJECT {for an object configured}] [vset QUALIFIER {}] [include include/connect_result_ref.inc] [call [arg objectName] [method busy]] This method returns a boolean value telling us whether a transmission is in progress ([const True]), or not ([const False]). [list_end] [subsection Options] All transmitter objects support the union of the options supported by their connect and data source components, plus two of their own. See also the documentation for the packages |
︙ | ︙ |
Changes to modules/treeql/treeql.man.
1 2 3 4 5 6 7 8 9 10 | [comment {-*- tcl -*- doctools manpage}] [comment ===========================================] [manpage_begin treeql n 1.3.1] [copyright {2004 Colin McCormack <[email protected]>}] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {Tree Query Language}] [titledesc {Query tree objects}] [category {Data structures}] [require Tcl 8.2] [require snit] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [comment ===========================================] [manpage_begin treeql n 1.3.1] [keywords Cost] [keywords DOM] [keywords {structured queries}] [keywords tree] [keywords {tree query language}] [keywords TreeQL] [keywords XPath] [keywords XSLT] [copyright {2004 Colin McCormack <[email protected]>}] [copyright {2004 Andreas Kupries <[email protected]>}] [moddesc {Tree Query Language}] [titledesc {Query tree objects}] [category {Data structures}] [require Tcl 8.2] [require snit] |
︙ | ︙ | |||
26 27 28 29 30 31 32 | [para] [package treeql], the package, is a fairly thin query facility over tree-structured data types. It implements an ordered set of nodes (really a list) which are generated and filtered through the application of TreeQL operators to each node in turn. | < | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | [para] [package treeql], the package, is a fairly thin query facility over tree-structured data types. It implements an ordered set of nodes (really a list) which are generated and filtered through the application of TreeQL operators to each node in turn. [comment ===========================================] [section API] [subsection {TreeQL CLASS API}] The command [cmd treeql] is a [package snit]::type which implements |
︙ | ︙ | |||
83 84 85 86 87 88 89 | [para] The operations of the TreeQL available for this are explained in the section about [sectref {The Tree Query Language}]. This section also explains the term [term {node set}] used above. [list_end] | < | 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | [para] The operations of the TreeQL available for this are explained in the section about [sectref {The Tree Query Language}]. This section also explains the term [term {node set}] used above. [list_end] [subsection {TreeQL OBJECT API}] As [package treeql] has been implemented in [package snit] all the standard methods of [package snit]-based classes are available to the user and therefore not listed here. Please read the documentation for [package snit] for what they are and what functionality they provide |
︙ | ︙ | |||
184 185 186 187 188 189 190 | }] [para] The operators of the TreeQL language available for this are explained in the section about [sectref {The Tree Query Language}]. This section also explains the term [term {node set}] used above. | < < < | 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | }] [para] The operators of the TreeQL language available for this are explained in the section about [sectref {The Tree Query Language}]. This section also explains the term [term {node set}] used above. [call [arg qo] [method result]] This method returns a list containing the current node set. [call [arg qo] [method discard]] This method returns the current node set (like method [method result]), but also destroys the query object ([arg qo]). This is useful when constructing and using sub-queries (%AUTO% objects immediately destroyed after use). [list_end] [comment ===========================================] [section {The Tree Query Language}] This and the following sections specify the Tree Query Language used by the query objects of this package in detail. |
︙ | ︙ | |||
240 241 242 243 244 245 246 | [enum] [sectref {Node Set Iterators}] [enum] [sectref {Typed node support}] [list_end] [para] | < | 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | [enum] [sectref {Node Set Iterators}] [enum] [sectref {Typed node support}] [list_end] [para] [comment ===========================================] [subsection {TreeQL Concepts}] The main concept which has to be understood is that of the [term {node set}]. Each query object maintains exactly one such [term {node set}], and |
︙ | ︙ | |||
274 275 276 277 278 279 280 | [para] Regarding the possible multiple occurrence of a node, consider a node set containing two nodes A and B, both having node P as their immediate parent. Application of the TreeQL operator "parent" will then add P to the new node set twice, once per node it was parent of. I.e. the new node set will then be {P P}. | < | 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | [para] Regarding the possible multiple occurrence of a node, consider a node set containing two nodes A and B, both having node P as their immediate parent. Application of the TreeQL operator "parent" will then add P to the new node set twice, once per node it was parent of. I.e. the new node set will then be {P P}. [comment ===========================================] [subsection {Structural generators}] All tree-structural operators locate nodes in the tree based on a structural relation ship to the nodes currently in the set and then replace the current node set with the set of nodes found |
︙ | ︙ | |||
311 312 313 314 315 316 317 | Replaces the current node set with the ancestors for all nodes [var N] in the node set, should [var N] have a parent. In other words, nodes without a parent do not contribute to the new node set. In other words, uses all nodes on the path from node [var N] to root, in this order (root last), for all nodes [var N] in the node set. This includes the root, but not the node itself. | < < < < < < < < < < < < < < < < < < < < < < < < < < < | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 | Replaces the current node set with the ancestors for all nodes [var N] in the node set, should [var N] have a parent. In other words, nodes without a parent do not contribute to the new node set. In other words, uses all nodes on the path from node [var N] to root, in this order (root last), for all nodes [var N] in the node set. This includes the root, but not the node itself. [def [method rootpath]] Replaces the current node set with the ancestors for all nodes [var N] in the node set, should [var N] have a parent. In other words, nodes without a parent do not contribute to the new node set. In contrast to the operator [method ancestors] the nodes are added in reverse order however, i.e. the root node first. [def [method parent]] Replaces the current node set with the parent of node [var N], for all nodes [var N] in the node set, should [var N] have a parent. In other words, nodes without a parent do not contribute to the new node set. [def [method children]] Replaces the current node set with the immediate children of node [var N], for all nodes [var N] in the node set, should [var N] have children. In other words, nodes without children do not contribute to the new node set. [def [method left]] Replaces the current node set with the previous/left sibling for all nodes [var N] in the node set, should [var N] have siblings to the left. In other words, nodes without left siblings do not contribute to the new node set. [def [method right]] Replaces the current node set with the next/right sibling for all nodes [var N] in the node set, should [var N] have siblings to the right. In other words, nodes without right siblings do not contribute to the new node set. [def [method prev]] Replaces the current node set with all previous/left siblings of node [var N], for all nodes [var N] in the node set, should [var N] have siblings to the left. In other words, nodes without left siblings are ignored. The left sibling adjacent to the node is added first, and the leftmost sibling last (reverse tree order). [def [method esib]] Replaces the current node set with all previous/left siblings of node [var N], for all nodes [var N] in the node set, should [var N] have siblings to the left. In other words, nodes without left siblings are ignored. The leftmost sibling is added first, and the left sibling adjacent to the node last (tree order). [para] The method name is a shorthand for [term {Earlier SIBling}]. [def [method next]] Replaces the current node set with all next/right siblings of node [var N], for all nodes [var N] in the node set, should [var N] have siblings to the right. In other words, nodes without right siblings do not contribute to the new node set. The right sibling adjacent to the node is added first, and the rightmost sibling last (tree order). [def [method root]] Replaces the current node set with a node set containing a single node, the root of the tree. [def [method tree]] Replaces the current node set with a node set containing all nodes found in the tree. The nodes are added in pre-order (parent first, then children, the latter from left to right, first to last). [def [method descendants]] Replaces the current node set with the nodes in all subtrees rooted at node [var N], for all nodes [var N] in the node set, should [var N] have children. In other words, nodes without children do not contribute to the new node set. [para] This is like the operator [method children], but covers the children of children as well, i.e. all the [term {proper descendants}]. "Rooted at [var N]" means that [var N] itself is not added to the new set, which is also implied by [term {proper descendants}]. [def [method subtree]] Like operator [method descendants], but includes the node [var N]. In other words: [para] Replaces the current node set with the nodes of the subtree of node [var N], for all nodes [var N] in the node set, should [var N] have children. In other words, nodes without children do not contribute to the new node set. I.e this is like the operator [method children], but covers the children of children, etc. as well. "Of [var N]" means that [var N] itself is added to the new set. [def [method forward]] Replaces the current node set with the nodes in the subtrees rooted at the right siblings of node [var N], for all nodes [var N] in the node set, should [var N] have right siblings, and they children. In other words, nodes without right siblings, and them without children are ignored. [para] This is equivalent to the operator sequence [example {next descendants}] [def [method later]] This is an alias for the operator [method forward]. [def [method backward]] Replaces the current node set with the nodes in the flattened previous subtrees, in reverse tree order. [para] This is nearly equivalent to the operator sequence [example {prev descendants}] The only difference is that this uses the nodes in reverse order. [def [method earlier]] Replaces the current node set with the nodes in the flattened previous subtrees, in tree order. [para] This is equivalent to the operator sequence [example {prev subtree}] [list_end] [comment ===========================================] [subsection {Attribute Filters}] These operators filter the node set by reference to attributes of nodes and their properties. Filter means that all nodes not fulfilling the criteria are removed from the node set. In other words, the node set is replaced by the set of nodes fulfilling the filter criteria. [list_begin definitions] [def "[method hasatt] [arg attr]"] Reduces the node set to nodes which have an attribute named [arg attr]. [def "[method withatt] [arg attr] [arg value]"] Reduces the node set to nodes which have an attribute named [arg attr], and where the value of that attribute is equal to [arg value] (The "==" operator is [cmd {string equal -nocase}]). [def "[method withatt!] [arg attr] [arg val]"] This is the same as [method withatt], but all nodes in the node set have to have the attribute, and the "==" operator is [cmd {string equal}], i.e. no [option -nocase]. The operator will fail with an error if they don't have the attribute. [def "[method attof] [arg attr] [arg vals]"] Reduces the node set to nodes which which have an attribute named [arg attr] and where the value of that attribute is contained in the list [arg vals] of legal values. The contained-in operator used here does glob matching (using the attribute value as pattern) and ignores the case of the attribute value, [emph {but not}] for the elements of [arg vals]. [def "[method attmatch] [arg attr] [arg match]"] Same as [method withatt], but [cmd {string match}] is used as the "==" operator, and [arg match] is the pattern checked for. [para] [emph Note] that [arg match] is a interpreted as a partial argument [emph list] for [cmd {string match}]. This means that it is interpreted as a list containing the pattern, and the pattern element can be preceded by options understand by [cmd {string match}], like [option -nocase]. This is especially important should the pattern contain spaces. It has to be wrapped into a list for correct interpretation by this operator [list_end] [comment ===========================================] [subsection {Attribute Mutators}] These operators change node attributes within the underlying tree. In other words, all these operators have [term {side effects}]. [list_begin definitions] [def "[method set] [arg attr] [arg val]"] Sets the attribute [arg attr] to the value [arg val], for all nodes [var N] in the node set. The operator will fail if a node does not have an attribute named [arg attr]. The tree will be left in a partially modified state. [def "[method unset] [arg attr]"] Unsets the attribute [arg attr], for all nodes [var N] in the node set. The operator will fail if a node does not have an attribute named [arg attr]. The tree will be left in a partially modified state. [list_end] [comment ===========================================] [subsection {Attribute String Accessors}] These operators retrieve the values of node attributes from the underlying tree. The collected results are stored in the node set, but are not actually nodes. |
︙ | ︙ | |||
584 585 586 587 588 589 590 | The query interpreter will terminate after it has finished processing one of these operators, silently discarding any later query elements. It also means that our talk about maintenance of a node set is not quite true. It is a node set while the interpreter is processing commands, but can be left as an attribute value set at the end of query processing. | < | 558 559 560 561 562 563 564 565 566 567 568 569 570 571 | The query interpreter will terminate after it has finished processing one of these operators, silently discarding any later query elements. It also means that our talk about maintenance of a node set is not quite true. It is a node set while the interpreter is processing commands, but can be left as an attribute value set at the end of query processing. [list_begin definitions] [def "[method string] [arg op] [arg attr]"] Applies the string operator [arg op] to the attribute named [arg attr], for all nodes [var N] in the node set, collects the |
︙ | ︙ | |||
607 608 609 610 611 612 613 | The argument [arg op] is interpreted as partial argument list for the builtin command [cmd string]. Its first word has to be any of the sub-commands understood by [cmd string]. This has to be followed by all arguments required for the subcommand, except the last. that last argument is supplied by the attribute value. | < < < < < < < < < < < < < < < < < < < < < < < < | < < | < < < < < < < < < | 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 | The argument [arg op] is interpreted as partial argument list for the builtin command [cmd string]. Its first word has to be any of the sub-commands understood by [cmd string]. This has to be followed by all arguments required for the subcommand, except the last. that last argument is supplied by the attribute value. [def "[method get] [arg pattern]"] For all nodes [var N] in the node set it determines all their attributes with names matching the glob [arg pattern], then the values of these attributes, at last it replaces the node set with the list of these attribute values. [def [method attlist]] This is a convenience definition for the operator [method {getvals *}]. In other words, it replaces the node set with a list of the attribute values for all attributes for all nodes [var N] in the node set. [def "[method attrs] [arg glob]"] Replaces the current node set with a list of attribute lists, one attribute list per for all nodes [var N] in the node set. [def "[method attval] [arg attname]"] Reduces the current node set with the operator [method hasatt], and then replaces it with a list containing the values of the attribute named [arg attname] for all nodes [var N] in the node set. [list_end] [comment ===========================================] [subsection Sub-queries] Sub-queries yield node sets which are then used to augment, reduce or replace the current node set. [list_begin definitions] [def "[method andq] [arg query]"] Replaces the node set with the set-intersection of the node set generated by the sub-query [arg query] and itself. [para] The execution of the sub-query uses the current node set as its own initial node set. [def "[method orq] [arg query]"] Replaces the node set with the set-union of the node set generated by the sub-query [arg query] and itself. Duplicate nodes are removed. [para] The execution of the sub-query uses the current node set as its own initial node set. [def "[method notq] [arg query]"] Replaces the node set with the set of nodes generated by the sub-query [arg query] which are also not in the current node set. In other word the set difference of itself and the node set generated by the sub-query. [para] The execution of the sub-query uses the current node set as its own initial node set. [list_end] [comment ===========================================] [subsection {Node Set Operators}] These operators change the node set directly, without referring to the tree. [comment { Should have a 'reverse' as well. }] [list_begin definitions] [def [method unique]] Removes duplicate nodes from the node set, preserving order. In other words, the earliest occurrence of a node handle is preserved, every other occurrence is removed. [def [method select]] Replaces the current node set with a node set containing only the first node from the current node set [def "[method transform] [arg query] [arg var] [arg body]"] First it interprets the sub-query [arg query], using the current node set as its initial node set. Then it iterates over the result of that query, binding the handle of each node to the variable named in [arg var], and executing the script [arg body]. The collected results of these executions is made the new node set, replacing the current one. [para] The script [arg body] is executed in the context of the caller. [def "[method map] [arg var] [arg body]"] Iterates over the current node set, binding the handle of each node to the variable named in [arg var], and executing the script [arg body]. The collected results of these executions is made the new node set, replacing the current one. [para] The script [arg body] is executed in the context of the caller. [def "[method quote] [arg val]"] Appends the literal value [arg val] to the current node set. [def "[method replace] [arg val]"] Replaces the current node set with the literal list value [arg val]. [list_end] [comment ===========================================] [subsection {Node Set Iterators}] [list_begin definitions] [def "[method foreach] [arg query] [arg var] [arg body]"] Interprets the sub-query [arg query], then performs the equivalent of operator [method over] on the nodes in the node set created by that query. The current node set is not changed, except through side effects from the script [arg body]. [para] The script [arg body] is executed in the context of the caller. [def "[method with] [arg query] [arg body]"] Interprets the [arg query], then runs the script [arg body] on the node set generated by the query. At last it restores the current node set as it was before the execution of the query. [para] The script [arg body] is executed in the context of the caller. [def "[method over] [arg var] [arg body]"] Executes the script [arg body] for each node in the node set, with the variable named by [arg var] bound to the name of the current node. The script [arg body] is executed in the context of the caller. [para] This is like the builtin [cmd foreach], with the node set as the source of the list to iterate over. [para] The results of executing the [arg body] are ignored. [def [method delete]] Deletes all the nodes contained in the current node set from the tree. [list_end] [comment ===========================================] [subsection {Typed node support}] These filters and accessors assume the existence of an attribute called [const @type], and are short-hand forms useful for cost-like tree query, html tree editing, and so on. [list_begin definitions] [def [method nodetype]] Returns the node type of nodes. Attribute string accessor. This is equivalent to [example {get @type}] [def "[method oftype] [arg t]"] Reduces the node set to nodes whose type is equal to [arg t], with letter case ignored. [def "[method nottype] [arg t]"] Reduces the node set to nodes whose type is not equal to [arg t], with letter case ignored. [def "[method oftypes] [arg attrs]"] Reduces set to nodes whose @type is an element in the list [arg attrs] of types. The value of @type is used as a glob pattern, and letter case is relevant. [list_end] [section Examples] ... TODO ... [section References] [list_begin enumerated] [enum] [uri http://wiki.tcl.tk/COST COST] on the Tcler's Wiki. [enum] [uri http://wiki.tcl.tk/treeql TreeQL] on the Tcler's Wiki. Discuss this package there. [list_end] [vset CATEGORY treeql] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/try/tcllib_try.man.
1 2 3 4 5 6 7 8 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin try n 1] [copyright {2008 Donal K. Fellows, BSD licensed}] [moddesc {Forward compatibility implementation of [try]}] [titledesc {try - Trap and process errors and exceptions}] [category Utility] [require Tcl 8.5] [require try [opt 1]] | > > > > > > > > > < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin try n 1] [see_also catch(n)] [see_also error(n)] [see_also return(n)] [see_also throw(n)] [keywords cleanup] [keywords error] [keywords exception] [keywords final] [keywords {resource management}] [copyright {2008 Donal K. Fellows, BSD licensed}] [moddesc {Forward compatibility implementation of [try]}] [titledesc {try - Trap and process errors and exceptions}] [category Utility] [require Tcl 8.5] [require try [opt 1]] [description] [para] This package provides a forward-compatibility implementation of Tcl 8.6's try/finally command (TIP 329), for Tcl 8.5. The code was directly pulled from Tcl 8.6 revision ?, when try/finally was implemented as Tcl procedure instead of in C. [list_begin definitions] [comment {- - -- --- ----- -------- ------------- ---------------------}] [call [cmd ::try] [arg body] [opt [arg handler...]] [opt "[method finally] [arg script]"]] This command executes the script [arg body] and, depending on what the outcome of that script is (normal exit, error, or some other |
︙ | ︙ | |||
96 97 98 99 100 101 102 | puts \$f "some message" # ... } [cmd finally] { close \$f } [example_end] | < < | < < | < < < < < < | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | puts \$f "some message" # ... } [cmd finally] { close \$f } [example_end] [para] Handle different reasons for a file to not be openable for reading: [para][example_begin] [cmd try] { set f [lb]open /some/file/name[rb] } [method trap] {POSIX EISDIR} {} { puts "failed to open /some/file/name: it's a directory" } [method trap] {POSIX ENOENT} {} { puts "failed to open /some/file/name: it doesn't exist" } [example_end] [vset CATEGORY try] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/uev/uevent.man.
1 2 3 4 5 6 7 8 | [manpage_begin uevent n 0.3.1] [copyright {2007-2012 Andreas Kupries <[email protected]>}] [moddesc {User events}] [titledesc {User events}] [category {Programming tools}] [require Tcl 8.4] [require uevent [opt 0.3.1]] [require logger] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [manpage_begin uevent n 0.3.1] [see_also hook(n)] [keywords bind] [keywords event] [keywords {generate event}] [keywords hook] [keywords unbind] [copyright {2007-2012 Andreas Kupries <[email protected]>}] [moddesc {User events}] [titledesc {User events}] [category {Programming tools}] [require Tcl 8.4] [require uevent [opt 0.3.1]] [require logger] [description] This package provides a general facility for the handling of user events. Allows the binding of arbitrary commands to arbitrary events on arbitrary tags, removal of bindings, and event generation. [para] |
︙ | ︙ | |||
183 184 185 186 187 188 189 | combinations. [para] The result of the command is the empty string. [comment ============================================================] [list_end] | < | < < | < < < < < < | 187 188 189 190 191 192 193 194 195 196 | combinations. [para] The result of the command is the empty string. [comment ============================================================] [list_end] [vset CATEGORY uevent] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/uev/uevent_onidle.man.
1 2 3 4 5 6 7 | [manpage_begin uevent::onidle n 0.1] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {User events}] [titledesc {Request merging and deferal to idle time}] [require Tcl 8.4] [require uevent::onidle [opt 0.1]] [require logger] | > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [manpage_begin uevent::onidle n 0.1] [keywords callback] [keywords deferal] [keywords event] [keywords idle] [keywords merge] [keywords on-idle] [copyright {2008 Andreas Kupries <[email protected]>}] [moddesc {User events}] [titledesc {Request merging and deferal to idle time}] [require Tcl 8.4] [require uevent::onidle [opt 0.1]] [require logger] [description] This package provides objects which can merge multiple requestes for an action and execute the action the moment the system (event loop) becomes idle. The action to be run is configured during object construction. |
︙ | ︙ | |||
50 51 52 53 54 55 56 | [section Examples] Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner. | | < | < < < < < < < < < | 55 56 57 58 59 60 61 62 63 64 | [section Examples] Examples of this type of deferal are buried in the (C-level) implementations all the Tk widgets, defering geometry calculations and window redraw activity in this manner. [vset CATEGORY uevent] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/units/units.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin units n 1.2] [copyright {2000-2005 Mayo Foundation}] [moddesc {Convert and manipulate quantities with units}] [titledesc {unit conversion}] [require Tcl 8.1] [require units [opt 2.1]] [description] [para] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin units n 1.2] [keywords angle] [keywords constants] [keywords conversion] [keywords distance] [keywords radians] [keywords unit] [copyright {2000-2005 Mayo Foundation}] [moddesc {Convert and manipulate quantities with units}] [titledesc {unit conversion}] [require Tcl 8.1] [require units [opt 2.1]] [description] [para] |
︙ | ︙ | |||
57 58 59 60 61 62 63 | 671.080887616 % ::units::convert "1.0 m kg/s^2" newton 1.0 % ::units::convert 1.0 millimeter 1000.0 [example_end] | < < < | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | 671.080887616 % ::units::convert "1.0 m kg/s^2" newton 1.0 % ::units::convert 1.0 millimeter 1000.0 [example_end] [call [cmd ::units::reduce] [arg unitString]] Returns a unit string consisting of a scale factor followed by a space separated list of sorted and reduced primitive units. The reduced unit string may include a forward-slash (separated from the surrounding primitive subunits by spaces) indicating that the remaining subunits are in the denominator. Generates an error if the [arg unitString] is invalid. [example_begin] % ::units::reduce pascal 1000.0 gram / meter second second [example_end] [call [cmd ::units::new] [arg name] [arg baseUnits]] Creates a new unit conversion with the specified name. The new unit [arg name] must be only alphabetic (upper or lower case) letters. The [arg baseUnits] string can consist of any valid units conversion string, including constant factors, numerator and denominator parts, |
︙ | ︙ | |||
96 97 98 99 100 101 102 | % ::units::new fortnight "14 days" % ::units::convert 100m/s furlongs/fortnight 601288.475303 [example_end] [list_end] | < < < | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 | % ::units::new fortnight "14 days" % ::units::convert 100m/s furlongs/fortnight 601288.475303 [example_end] [list_end] [section "UNIT STRING FORMAT"] Value and unit string format is quite flexible. It is possible to define virtually any combination of units, prefixes, and powers. Valid unit strings must conform to these rules. [list_begin itemized] [item] A unit string consists of an optional scale factor followed by zero or more subunits. The scale factor must be a valid floating point number, and may or may not be separated from the subunits. The scale |
︙ | ︙ | |||
161 162 163 164 165 166 167 | kg-m/s^2 1000.0 gram meter / second second 30second 30.0 second 30 second 30.0 second 30 seconds 30.0 second 200*meter/20.5*second 9.75609756098 meter / second [example_end] | < < < < < < | 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 | kg-m/s^2 1000.0 gram meter / second second 30second 30.0 second 30 second 30.0 second 30 seconds 30.0 second 200*meter/20.5*second 9.75609756098 meter / second [example_end] [section "SI UNITS"] [para] The standard SI units are predefined according to [emph "NIST Special Publication 330"]. Standard units for both SI Base Units (Table 1) and SI Derived Units with Special Names (Tables 3a and 3b) are included here for reference. Each standard unit name and abbreviation are included in this package. [subsection "SI Base Units"] [example_begin] Quantity Unit Name Abbr. --------------------------------------------- Length meter m Mass kilogram kg Time second s Current ampere A Temperature kelvin K Amount mole mol Luminous Intensity candela cd [example_end] [subsection "SI Derived Units with Special Names"] [example_begin] Quantity Unit Name Abbr. Units Base Units -------------------------------------------------------------------- plane angle radian rad m/m m/m |
︙ | ︙ | |||
224 225 226 227 228 229 230 | [example_end] [para] Note that the SI unit kilograms is actually implemented as grams because 1e-6 kilogram = 1 milligram, not 1 microkilogram. The abbreviation for Electric Resistance (ohms), which is the omega | | < | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 | [example_end] [para] Note that the SI unit kilograms is actually implemented as grams because 1e-6 kilogram = 1 milligram, not 1 microkilogram. The abbreviation for Electric Resistance (ohms), which is the omega character, is not supported. [para] Also note that there is no support for Celsius or Farenheit temperature. The units conversion routines can only scale values with multiplication and division, so it is not possible to convert from thermodynamic temperature (kelvins) to absolute degrees Celsius or Farenheit. Conversion of thermodynamic quantities, such as thermal expansion (per unit temperature), however, are easy to add to the units library. [para] SI Units can have a multiple or sub-multiple prefix. The prefix or its abbreviation should appear before the unit, without spaces. Compound prefixes are not allowed, and a prefix should never be used alone. These prefixes are defined in Table 5 of [emph "Special Publication 330"]. [subsection "SI Prefixes"] [example_begin] Prefix Name Abbr. Factor --------------------------------------- yotta Y 1e24 |
︙ | ︙ | |||
293 294 295 296 297 298 299 | in this package. In some cases, many different conversion factors exist for a given unit, depending on the context. (The appendix lists over 40 conversions for British thermal units!) Application specific conversions can always be added using the [cmd new] command, but some well known and often used conversions are included in this package. | < | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | in this package. In some cases, many different conversion factors exist for a given unit, depending on the context. (The appendix lists over 40 conversions for British thermal units!) Application specific conversions can always be added using the [cmd new] command, but some well known and often used conversions are included in this package. [subsection "Non-SI Units"] [example_begin] Unit Name Abbr. Base Units -------------------------------------------------- angstrom 1.0E-10 m astronomicalUnit AU 1.495979E11 m |
︙ | ︙ | |||
334 335 336 337 338 339 340 | pound lb 4.535924E-1 kg revolution 6.283185 rad revolutionPerMinute rpm 1.047198E-1 rad/s yard yd 9.144E-1 m year 3.1536E7 s [example_end] | < | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 | pound lb 4.535924E-1 kg revolution 6.283185 rad revolutionPerMinute rpm 1.047198E-1 rad/s yard yd 9.144E-1 m year 3.1536E7 s [example_end] [subsection "Quantities and Derived Units with Special Names"] This units conversion package is limited specifically to unit reduction, comparison, and scaling. This package does not consider any of the quantity names for either base or derived units. A similar implementation or an extension in a typed or object-oriented language might introduce user defined types for the quantities. Quantity type |
︙ | ︙ | |||
369 370 371 372 373 374 375 | inclusion of other derived types which are expressed in terms of special units, as illustrated in Table 2 of [emph "NIST Publication 330"]. The quantity [emph "area"], for example, could be defined as units properly reducing to [emph "meter^2"], although the utility of defining a unit named [emph "square meter"] is arguable. | < < | < | < < < < < < < < < < < | 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 | inclusion of other derived types which are expressed in terms of special units, as illustrated in Table 2 of [emph "NIST Publication 330"]. The quantity [emph "area"], for example, could be defined as units properly reducing to [emph "meter^2"], although the utility of defining a unit named [emph "square meter"] is arguable. [section "REFERENCES"] The unit names, abbreviations, and conversion values are derived from those published by the United States Department of Commerce Technology Administration, National Institute of Standards and Technology (NIST) in [emph "NIST Special Publication 330: The International System of Units (SI)"] and [emph "NIST Special Publication 811: Guide for the Use of the International System of Units (SI)"]. Both of these publications are available (as of December 2000) from [uri http://physics.nist.gov/cuu/Reference/contents.html] [para] The ideas behind implementation of this package is based in part on code written in 1993 by Adrian Mariano which performed dimensional analysis of unit strings using fixed size tables of C structs. After going missing in the late 1990's, Adrian's code has reappeared in the GNU Units program at [uri http://www.gnu.org/software/units/] [section "AUTHORS"] Robert W. Techentin [vset CATEGORY units] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/uri/uri.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [manpage_begin uri n 1.2.2] [moddesc {Tcl Uniform Resource Identifier Management}] [titledesc {URI utilities}] [category Networking] [require Tcl 8.2] [require uri [opt 1.2.2]] [description] This package contains two parts. First it provides regular expressions for a number of url/uri schemes. Second it provides a number of commands for manipulating urls/uris and fetching data specified by them. For the latter this package analyses the requested url/uri and then dispatches it to the appropriate package (http, ftp, ...) for actual fetching. [para] The package currently does not conform to RFC 2396 ([uri http://www.rfc-editor.org/rfc/rfc2396.txt]), but quite likely should be. Patches and other help are welcome. | > > > > > > > > > > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | [manpage_begin uri n 1.2.2] [keywords {fetching information}] [keywords file] [keywords ftp] [keywords gopher] [keywords http] [keywords ldap] [keywords mailto] [keywords news] [keywords prospero] [keywords {rfc 2255}] [keywords {rfc 2396}] [keywords uri] [keywords url] [keywords wais] [keywords www] [moddesc {Tcl Uniform Resource Identifier Management}] [titledesc {URI utilities}] [category Networking] [require Tcl 8.2] [require uri [opt 1.2.2]] [description] This package contains two parts. First it provides regular expressions for a number of url/uri schemes. Second it provides a number of commands for manipulating urls/uris and fetching data specified by them. For the latter this package analyses the requested url/uri and then dispatches it to the appropriate package (http, ftp, ...) for actual fetching. [para] The package currently does not conform to RFC 2396 ([uri http://www.rfc-editor.org/rfc/rfc2396.txt]), but quite likely should be. Patches and other help are welcome. [section COMMANDS] [list_begin definitions] [call [cmd uri::split] [arg url] [opt [arg defaultscheme]]] |
︙ | ︙ | |||
63 64 65 66 67 68 69 | [def news] Either [const message-id] or [const newsgroup-name]. [list_end] [para] | < < < < | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | [def news] Either [const message-id] or [const newsgroup-name]. [list_end] [para] [call [cmd uri::join] [opt "[arg key] [arg value]"]...] [cmd uri::join] takes a list of key/value pairs (generated by [cmd uri::split], for example) and returns the canonical url they represent. Currently only the schemes [term http], [term ftp], [term mailto], [term urn], [term news], [term ldap] and [term file] are supported. See section [sectref EXTENDING] on how to expand that range. [call [cmd uri::resolve] [arg base] [arg url]] [cmd uri::resolve] resolves the specified [arg url] relative to [arg base]. In other words: A non-relative [arg url] is returned unchanged, whereas for a relative [arg url] the missing parts are taken from [arg base] and prepended to it. The result of this operation is returned. For an empty [arg url] the result is [arg base]. [call [cmd uri::isrelative] [arg url]] [cmd uri::isrelative] determines whether the specified [arg url] is absolute or relative. [call [cmd uri::geturl] [arg url] [opt "[arg options]..."]] [cmd uri::geturl] decodes the specified [arg url] and then dispatches the request to the package appropriate for the scheme found in the url. The command assumes that the package to handle the given scheme either has the same name as the scheme itself (including possible |
︙ | ︙ | |||
117 118 119 120 121 122 123 | described above. They are handled internally. [para] It is not possible to specify results of the command. They depend on the [cmd geturl]-command for the scheme the request was dispatched to. | < < | 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | described above. They are handled internally. [para] It is not possible to specify results of the command. They depend on the [cmd geturl]-command for the scheme the request was dispatched to. [call [cmd uri::canonicalize] [arg uri]] [cmd uri::canonicalize] returns the canonical form of a URI. The canonical form of a URI is one where relative path specifications, ie. . and .., have been resolved. [call [cmd uri::register] [arg schemeList] [arg script]] [cmd uri::register] registers the first element of [arg schemeList] as a new scheme and the remaining elements as aliases for this scheme. It creates the namespace for the scheme and executes the [arg script] in the new namespace. The script has to declare variables containing the |
︙ | ︙ | |||
180 181 182 183 184 185 186 | [section CREDITS] [para] Original code (regular expressions) by Andreas Kupries. Modularisation by Steve Ball, also the split/join/resolve functionality. | < | < < | < < < < < < < < < < | 187 188 189 190 191 192 193 194 195 196 | [section CREDITS] [para] Original code (regular expressions) by Andreas Kupries. Modularisation by Steve Ball, also the split/join/resolve functionality. [vset CATEGORY uri] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/uri/urn-scheme.man.
1 2 3 4 5 6 7 8 | [manpage_begin uri_urn n 1.1.2] [moddesc {Tcl Uniform Resource Identifier Management}] [titledesc {URI utilities, URN scheme}] [category Networking] [require Tcl 8.2] [require uri::urn [opt 1.1.2]] [description] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [manpage_begin uri_urn n 1.1.2] [keywords {rfc 2141}] [keywords uri] [keywords url] [keywords urn] [moddesc {Tcl Uniform Resource Identifier Management}] [titledesc {URI utilities, URN scheme}] [category Networking] [require Tcl 8.2] [require uri::urn [opt 1.1.2]] [description] |
︙ | ︙ | |||
27 28 29 30 31 32 33 | This commands performs the reverse of [cmd ::uri::urn::quote]. It takes an [term urn] url, removes the quoting from all disallowed characters, and returns the modified urls as its result. [list_end] | < | < < | < < < < < < < < | 31 32 33 34 35 36 37 38 39 40 | This commands performs the reverse of [cmd ::uri::urn::quote]. It takes an [term urn] url, removes the quoting from all disallowed characters, and returns the modified urls as its result. [list_end] [vset CATEGORY uri] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/uuid/uuid.man.
1 2 3 4 5 6 7 8 | [manpage_begin uuid n 1.0.2] [moddesc {uuid}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {UUID generation and comparison}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require uuid [opt 1.0.2]] [description] | > > | 1 2 3 4 5 6 7 8 9 10 | [manpage_begin uuid n 1.0.2] [keywords GUID] [keywords UUID] [moddesc {uuid}] [copyright {2004, Pat Thoyts <[email protected]>}] [titledesc {UUID generation and comparison}] [category {Hashes, checksums, and encryption}] [require Tcl 8.2] [require uuid [opt 1.0.2]] [description] |
︙ | ︙ | |||
42 43 44 45 46 47 48 | [enum] Paul J. Leach, "UUIDs and GUIDs", February 1998. ([uri http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt]) [list_end] | < | < < | < < < < < < < < | 44 45 46 47 48 49 50 51 52 53 | [enum] Paul J. Leach, "UUIDs and GUIDs", February 1998. ([uri http://www.opengroup.org/dce/info/draft-leach-uuids-guids-01.txt]) [list_end] [vset CATEGORY uuid] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/valtype/valtype_common.man.
1 2 3 4 5 6 | [comment {-*- tcl -*- --- doctools ---}] [manpage_begin valtype::common n 1] [copyright {2011 Andreas Kupries <[email protected]>}] [titledesc "Validation, common code"] [moddesc {Validation types}] [category {Validation, Type checking}] | > > > > > > < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- --- doctools ---}] [manpage_begin valtype::common n 1] [keywords Checking] [keywords isA] [keywords Testing] [keywords {Type checking}] [keywords Validation] [keywords {Value checking}] [copyright {2011 Andreas Kupries <[email protected]>}] [titledesc "Validation, common code"] [moddesc {Validation types}] [category {Validation, Type checking}] [require Tcl 8.5] [require valtype::common [opt 1]] [description] This package implements a number of common commands used by the validation types in this module. These commands essentially encapsulate the throwing of validation errors, ensuring that a proper |
︙ | ︙ | |||
94 95 96 97 98 99 100 | [def "INVALID [vset CODE] CHECK-DIGIT"] The check digit of the input value is wrong. This usually signals a data-entry error, with digits transposed, forgotten, etc. Of course, th input may be an outright fake too. | < < | 98 99 100 101 102 103 104 105 106 107 108 109 110 | [def "INVALID [vset CODE] CHECK-DIGIT"] The check digit of the input value is wrong. This usually signals a data-entry error, with digits transposed, forgotten, etc. Of course, th input may be an outright fake too. [include include/c_lenpfx.inc] [list_end] [vset CATEGORY valtype] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/cat.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::cat n 1] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Concatenation channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::cat n 1] [keywords {concatenation channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Concatenation channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | [call [cmd ::tcl::chan::cat] [arg chan]...] This command creates the concatenation channel using all the provided channels, and returns its handle. [list_end] | | < | < < < < < < < < < < < | 38 39 40 41 42 43 44 45 46 47 | [call [cmd ::tcl::chan::cat] [arg chan]...] This command creates the concatenation channel using all the provided channels, and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/facade.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::facade n 1] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Facade channel}] [require Tcl 8.5] [require TclOO] [require logger] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::facade n 1] [keywords {concatenation channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Facade channel}] [require Tcl 8.5] [require TclOO] [require logger] |
︙ | ︙ | |||
60 61 62 63 64 65 66 | [call [cmd ::tcl::chan::facade] [arg chan]] This command creates the facade channel around the provided channel [arg chan], and returns its handle. [list_end] | < | < < | < < < < < < < < | 64 65 66 67 68 69 70 71 72 73 | [call [cmd ::tcl::chan::facade] [arg chan]] This command creates the facade channel around the provided channel [arg chan], and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/halfpipe.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::halfpipe n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel, half of a fifo2}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::halfpipe n 1] [keywords callbacks] [keywords fifo] [keywords {in-memory channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel, half of a fifo2}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | The result of the command is a list containing two elements, the handle of the new channel, and the object command of the channel handler, in this order. The latter is supplied to the caller to provide her with access to the [method put] method for adding data to the channel. | < | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | The result of the command is a list containing two elements, the handle of the new channel, and the object command of the channel handler, in this order. The latter is supplied to the caller to provide her with access to the [method put] method for adding data to the channel. [para] Two halfpipes with a bit of glue logic in the callbacks make for one [package tcl::chan::fifo2]. [call [arg objectCmd] [method put] [arg bytes]] This method of the channel handler object puts the data [arg bytes] into the channel so that it can be read from it. |
︙ | ︙ | |||
67 68 69 70 71 72 73 | [opt_def -empty-command cmdprefix] This callback is invoked when the channel has run out of data to read. A single argument is supplied, the handle of the channel. [list_end] | | < | < < < < < < < < < < < | 72 73 74 75 76 77 78 79 80 81 | [opt_def -empty-command cmdprefix] This callback is invoked when the channel has run out of data to read. A single argument is supplied, the handle of the channel. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/nullzero.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::nullzero n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Null/Zero channel combination}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::nullzero n 1] [keywords /dev/null] [keywords /dev/zero] [keywords null] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [keywords zero] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Null/Zero channel combination}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | [call [cmd ::tcl::chan::nullzero]] This command creates a new nullzero channel and returns its handle. [list_end] | | < | < < < < < < < < < < < | 35 36 37 38 39 40 41 42 43 44 | [call [cmd ::tcl::chan::nullzero]] This command creates a new nullzero channel and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/randseed.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::randseed n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Utilities for random channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::randseed [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::randseed n 1] [keywords /dev/random] [keywords merge] [keywords random] [keywords {reflected channel}] [keywords seed] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Utilities for random channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::randseed [opt 1]] |
︙ | ︙ | |||
26 27 28 29 30 31 32 | This command takes to seed lists and combines them into a single list by XORing them elementwise, modulo 256. If the lists are not of equial length the shorter of the two is padded with 0s before merging. [list_end] | | < | < < < < < < < < < < < | 33 34 35 36 37 38 39 40 41 42 | This command takes to seed lists and combines them into a single list by XORing them elementwise, modulo 256. If the lists are not of equial length the shorter of the two is padded with 0s before merging. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/std.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::std n 1] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Standard I/O, unification of stdin and stdout}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::std n 1] [keywords {reflected channel}] [keywords {standard io}] [keywords stdin] [keywords stdout] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2011 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Standard I/O, unification of stdin and stdout}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | This command creates the std channel and returns its handle. [para] The channel is created only once, on the first call, and all future calls simply return this handle. [list_end] | | < | < < < < < < < < < < < | 34 35 36 37 38 39 40 41 42 43 | This command creates the std channel and returns its handle. [para] The channel is created only once, on the first call, and all future calls simply return this handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_fifo.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::fifo n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory fifo channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::fifo n 1] [keywords fifo] [keywords {in-memory channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory fifo channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
29 30 31 32 33 34 35 | [call [cmd ::tcl::chan::fifo]] This command creates a new fifo channel and returns its handle. [list_end] | | < | < < < < < < < < < < < | 34 35 36 37 38 39 40 41 42 43 | [call [cmd ::tcl::chan::fifo]] This command creates a new fifo channel and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_fifo2.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::fifo2 n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory interconnected fifo channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::fifo2 n 1] [keywords {connected fifos}] [keywords fifo] [keywords {in-memory channel}] [keywords {inter-thread communication}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory interconnected fifo channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | [call [cmd ::tcl::chan::fifo2]] This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements. [list_end] | | < | < < < < < < < < < < < | 41 42 43 44 45 46 47 48 49 50 | [call [cmd ::tcl::chan::fifo2]] This command creates a new connected pair of fifo channels and returns their handles, as a list containing two elements. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_memchan.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::memchan n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::memchan n 1] [keywords {in-memory channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [call [cmd ::tcl::chan::memchan]] This command creates a new memchan channel and returns its handle. [list_end] | | < | < < < < < < < < < < < | 35 36 37 38 39 40 41 42 43 44 | [call [cmd ::tcl::chan::memchan]] This command creates a new memchan channel and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_null.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::null n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Null channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::null n 1] [keywords /dev/null] [keywords null] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Null channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [call [cmd ::tcl::chan::null]] This command creates a new null channel and returns its handle. [list_end] | | < | < < < < < < < < < < < | 36 37 38 39 40 41 42 43 44 45 | [call [cmd ::tcl::chan::null]] This command creates a new null channel and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_random.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::random n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Random channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::random n 1] [keywords /dev/random] [keywords random] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Random channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator. [list_end] | | < | < < < < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | This command creates a new random channel and returns its handle. The seed is a list of integer numbers used to initialize the internal feedback shift register of the generator. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_string.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::string n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Read-only in-memory channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::string n 1] [keywords {in-memory channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Read-only in-memory channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
32 33 34 35 36 37 38 | [call [cmd ::tcl::chan::string] [arg content]] This command creates a new string channel and returns its handle. The channel provides random read-only access to the [arg content] string. [list_end] | | < | < < < < < < < < < < < | 36 37 38 39 40 41 42 43 44 45 | [call [cmd ::tcl::chan::string] [arg content]] This command creates a new string channel and returns its handle. The channel provides random read-only access to the [arg content] string. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_variable.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::variable n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel using variable for storage}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::variable n 1] [keywords {in-memory channel}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {In-memory channel using variable for storage}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace variable [arg varname]. [list_end] | | < | < < < < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | This command creates a new variable channel and returns its handle. The content of the channel is stored in the associated namespace variable [arg varname]. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/tcllib_zero.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::zero n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Zero channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::zero n 1] [keywords /dev/zero] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [keywords zero] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Zero channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
31 32 33 34 35 36 37 | [call [cmd ::tcl::chan::zero]] This command creates a new zero channel and returns its handle. [list_end] | | < | < < < < < < < < < < < | 36 37 38 39 40 41 42 43 44 45 | [call [cmd ::tcl::chan::zero]] This command creates a new zero channel and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_base/textwindow.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::textwindow n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Textwindow channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] | > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::textwindow n 1] [keywords {reflected channel}] [keywords {text widget}] [keywords {tip 219}] [keywords Tk] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Textwindow channel}] [require Tcl 8.5] [require TclOO] [require tcl::chan::events [opt 1]] |
︙ | ︙ | |||
25 26 27 28 29 30 31 | [call [cmd ::tcl::chan::textwindow] [arg widget]] This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated [arg widget]. [list_end] | | < | < < < < < < < < < < < | 30 31 32 33 34 35 36 37 38 39 | [call [cmd ::tcl::chan::textwindow] [arg widget]] This command creates a new textwindow channel and returns its handle. Data written to this channel will appear in the associated [arg widget]. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_core/core.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::core n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Basic reflected/virtual channel support}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] [description] [para] The [package tcl::chan::core] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel (initialization, finalization). [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. | > > > < < < < < | < | < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::core n 1] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Basic reflected/virtual channel support}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] [description] [para] The [package tcl::chan::core] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel (initialization, finalization). [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. [section {Class API}] [list_begin definitions] [call [cmd ::tcl::chan::core] [arg objectName]] This command creates a new channel core object with an associated global Tcl command whose name is [emph objectName]. This command may be used to invoke various operations on the object, as described in the section for the [sectref {Instance API}]. [list_end] [section {Instance API}] The API of channel core instances provides only two methods, both corresponding to channel handler commands (For reference see [uri http:/tip.tcl.tk/219 {TIP 219}]). They expect to be called from whichever object instance the channel core was made a part of. [list_begin definitions] [call [arg objectName] [method initialize] [arg thechannel] [arg mode]] This method implements standard behaviour for the [method initialize] method of channel handlers. Using introspection it finds the handler methods supported by the instance and returns a list containing their names, as expected by the support for reflected channels in the Tcl core. [para] It further remembers the channel handle in an instance variable for access by sub-classes. [call [arg objectName] [method finalize] [arg thechannel]] This method implements standard behaviour for the [method finalize] method of channel handlers. It simply destroys itself. [call [arg objectName] [method destroy]] Destroying the channel core instance closes the channel it was initialized for, see the method [method initialize]. When destroyed from within a call of [method finalize] this does not happen, under the assumption that the channel is being destroyed by Tcl. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_core/events.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::events n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Event support for reflected/virtual channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] [require tcl::chan::events [opt 1]] [description] [para] The [package tcl::chan::events] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel supporting event driven IO. It is a sub-class of [package tcl::chan::core], inheriting all of its behaviour. [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. | > > > > < < < < < | < | < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::chan::events n 1] [keywords {event management}] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Event support for reflected/virtual channels}] [require Tcl 8.5] [require TclOO] [require tcl::chan::core [opt 1]] [require tcl::chan::events [opt 1]] [description] [para] The [package tcl::chan::events] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel supporting event driven IO. It is a sub-class of [package tcl::chan::core], inheriting all of its behaviour. [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. [section {Class API}] [list_begin definitions] [call [cmd ::tcl::chan::events] [arg objectName]] This command creates a new channel event core object with an associated global Tcl command whose name is [emph objectName]. This command may be used to invoke various operations on the object, as described in the section for the [sectref {Instance API}]. [list_end] [section {Instance API}] The API of channel event core instances provides only four methods, two corresponding to channel handler commands (For reference see [uri http:/tip.tcl.tk/219 {TIP 219}]), and the other two for use by sub-classes to control event generation. They former expect to be called from whichever object instance the channel event core was made a part of. [list_begin definitions] [call [arg objectName] [method finalize] [arg thechannel]] This method implements standard behaviour for the [method finalize] method of channel handlers. It overrides the behaviour inherited from [package tcl::chan::core] and additionally disables any and all event generation before destroying itself. [call [arg objectName] [method watch] [arg thechannel] [arg eventmask]] This method implements standard behaviour for the [method watch] method of channel handlers. Called by the IO system whenever the interest in event changes it updates the instance state to activate and/or suppress the generation of the events of (non-)interest. [call [arg objectName] [method allow] [arg eventname]...] [call [arg objectName] [method disallow] [arg eventname]...] These two methods are exported to sub-classes, so that their instances can notify their event core of the events the channel they implement can (allow) or cannot (disallow) generate. Together with the information about the events requested by Tcl's IO system coming in through the [method watch] method the event core is able to determine which events it should (not) generate and act accordingly. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_core/transformcore.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::core n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Basic reflected/virtual channel transform support}] [require Tcl 8.5] [require TclOO] [require tcl::transform::core [opt 1]] [description] [para] The [package tcl::transform::core] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel transformation (initialization, finalization). [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. | > > > < < < < < | < | < < < < < < < < < < < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::core n 1] [keywords {reflected channel}] [keywords {tip 219}] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Basic reflected/virtual channel transform support}] [require Tcl 8.5] [require TclOO] [require tcl::transform::core [opt 1]] [description] [para] The [package tcl::transform::core] package provides a [package TclOO] class implementing common behaviour needed by virtually every reflected or virtual channel transformation (initialization, finalization). [para] This class expects to be used as either superclass of a concrete channel class, or to be mixed into such a class. [section {Class API}] [list_begin definitions] [call [cmd ::tcl::transform::core] [arg objectName]] This command creates a new transform core object with an associated global Tcl command whose name is [emph objectName]. This command may be used to invoke various operations on the object, as described in the section for the [sectref {Instance API}]. [list_end] [section {Instance API}] The API of transform core instances provides only two methods, both corresponding to transform handler commands (For reference see [uri http:/tip.tcl.tk/230 {TIP 230}]). They expect to be called from whichever object instance the transform core was made a part of. [list_begin definitions] [call [arg objectName] [method initialize] [arg thechannel] [arg mode]] This method implements standard behaviour for the [method initialize] method of transform handlers. Using introspection it finds the handler methods supported by the instance and returns a list containing their names, as expected by the support for reflected transformation in the Tcl core. [para] It further remembers the channel handle in an instance variable for access by sub-classes. [call [arg objectName] [method finalize] [arg thechannel]] This method implements standard behaviour for the [method finalize] method of channel handlers. It simply destroys itself. [call [arg objectName] [method destroy]] Destroying the transform core instance closes the channel and transform it was initialized for, see the method [method initialize]. When destroyed from within a call of [method finalize] this does not happen, under the assumption that the channel and transform are being destroyed by Tcl. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/adler32.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::adler32 n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Adler32 transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::adler32 [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::adler32 n 1] [keywords adler32] [keywords {channel transformation}] [keywords checksum] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Adler32 transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::adler32 [opt 1]] |
︙ | ︙ | |||
54 55 56 57 58 59 60 | [para] If not specified, or the empty string, the checksum of the write direction is not saved. [list_end] [list_end] | | < | < < < < < < < < < < < < | 61 62 63 64 65 66 67 68 69 70 | [para] If not specified, or the empty string, the checksum of the write direction is not saved. [list_end] [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/base64.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::base64 n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Base64 encoding transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::base64 [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::base64 n 1] [keywords base64] [keywords {channel transformation}] [keywords {reflected channel}] [keywords {tip 230}] [keywords {tip 317}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Base64 encoding transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::base64 [opt 1]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | [call [cmd ::tcl::transform::base64] [arg chan]] This command creates a base64 transformation on top of the channel [arg chan] and returns its handle. [list_end] | | < | < < < < < < < < < < < < | 35 36 37 38 39 40 41 42 43 44 | [call [cmd ::tcl::transform::base64] [arg chan]] This command creates a base64 transformation on top of the channel [arg chan] and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/counter.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::counter n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Counter transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::counter [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::counter n 1] [keywords {channel transformation}] [keywords counter] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Counter transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::counter [opt 1]] |
︙ | ︙ | |||
53 54 55 56 57 58 59 | [para] If not specified, or the empty string, the counter of the write direction is not saved. [list_end] [list_end] | | < | < < < < < < < < < < < < | 59 60 61 62 63 64 65 66 67 68 | [para] If not specified, or the empty string, the counter of the write direction is not saved. [list_end] [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/crc32.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::crc32 n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Crc32 transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::crc32 [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::crc32 n 1] [keywords {channel transformation}] [keywords checksum] [keywords crc32] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Crc32 transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::crc32 [opt 1]] |
︙ | ︙ | |||
54 55 56 57 58 59 60 | [para] If not specified, or the empty string, the checksum of the write direction is not saved. [list_end] [list_end] | | < | < < < < < < < < < < < < | 61 62 63 64 65 66 67 68 69 70 | [para] If not specified, or the empty string, the checksum of the write direction is not saved. [list_end] [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/hex.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::hex n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Hexadecimal encoding transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::hex [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::hex n 1] [keywords {channel transformation}] [keywords hexadecimal] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Hexadecimal encoding transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::hex [opt 1]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | [call [cmd ::tcl::transform::hex] [arg chan]] This command creates a hex transformation on top of the channel [arg chan] and returns its handle. [list_end] | | < | < < < < < < < < < < < < | 34 35 36 37 38 39 40 41 42 43 | [call [cmd ::tcl::transform::hex] [arg chan]] This command creates a hex transformation on top of the channel [arg chan] and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/identity.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::identity n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Identity transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::identity [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::identity n 1] [keywords {channel transformation}] [keywords identity] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Identity transformation}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::identity [opt 1]] |
︙ | ︙ | |||
35 36 37 38 39 40 41 | [call [cmd ::tcl::transform::identity] [arg chan]] This command creates an identity transformation on top of the channel [arg chan] and returns its handle. [list_end] | | < | < < < < < < < < < < < < | 41 42 43 44 45 46 47 48 49 50 | [call [cmd ::tcl::transform::identity] [arg chan]] This command creates an identity transformation on top of the channel [arg chan] and returns its handle. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/limitsize.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::limitsize n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {limiting input}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::limitsize [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::limitsize n 1] [keywords {channel transformation}] [keywords limitsize] [keywords {reflected channel}] [keywords {size limit}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {limiting input}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::limitsize [opt 1]] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [para] [arg max] is the number of bytes which can be read from the channel before EOF is signaled by the transformation. Note that popping the transformation clears the EOF it generated as well. [list_end] | | < | < < < < < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | [para] [arg max] is the number of bytes which can be read from the channel before EOF is signaled by the transformation. Note that popping the transformation clears the EOF it generated as well. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/observe.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::observe n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Observer transformation, stream copy}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::observe [opt 1]] | > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::observe n 1] [keywords {channel transformation}] [keywords observer] [keywords {reflected channel}] [keywords {stream copy}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Observer transformation, stream copy}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::observe [opt 1]] |
︙ | ︙ | |||
34 35 36 37 38 39 40 | This command creates an observer transformation on top of the channel [arg chan] and returns its handle. The channel handles [arg logr] and [arg logw] are there the data is copied to. [list_end] | | < | < < < < < < < < < < < < | 41 42 43 44 45 46 47 48 49 50 | This command creates an observer transformation on top of the channel [arg chan] and returns its handle. The channel handles [arg logr] and [arg logw] are there the data is copied to. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/otp.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::otp n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Encryption via one-time pad}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::otp [opt 1]] | > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::otp n 1] [keywords {channel transformation}] [keywords cipher] [keywords decryption] [keywords encryption] [keywords {one time pad}] [keywords otp] [keywords {reflected channel}] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [keywords xor] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Encryption via one-time pad}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::otp [opt 1]] |
︙ | ︙ | |||
33 34 35 36 37 38 39 | [para] The two channels [arg keychanw] and [arg keychanr] contain the one-time pads for the write and read directions, respectively. Their contents are reads and xored with the bytes written to and read from the channel. [list_end] | | < | < < < < < < < < < < < < | 44 45 46 47 48 49 50 51 52 53 | [para] The two channels [arg keychanw] and [arg keychanr] contain the one-time pads for the write and read directions, respectively. Their contents are reads and xored with the bytes written to and read from the channel. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/rot.man.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::rot n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {rot-encryption}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::rot [opt 1]] [description] [para] The [package tcl::transform::rot] package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13. | > > > > > > > > > > > < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::rot n 1] [keywords {caesar cipher}] [keywords {channel transformation}] [keywords cipher] [keywords decryption] [keywords encryption] [keywords {reflected channel}] [keywords rot] [keywords rot13] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {rot-encryption}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::rot [opt 1]] [description] [para] The [package tcl::transform::rot] package provides a command creating a channel transformation which performs primitive encryption (on writing) and decryption (on reading) on the alphabetic characters. The algorithm is the Caesar-cipher, a specific variant of which is rot13. [para] A related transformations in this module is [package tcl::transform::otp]. [para] The internal [package TclOO] class implementing the transform handler is a sub-class of the [package tcl::transform::core] framework. |
︙ | ︙ | |||
38 39 40 41 42 43 44 | [para] Note that this transformation affects only bytes in the ranges ASCII 65...90, and 97...122, i.e. the upper- and lower-case alphabetic characters, i.e. "A...Z" and "a...z". All other bytes are passed through unchanged. [list_end] | | < | < < < < < < < < < < < < | 48 49 50 51 52 53 54 55 56 57 | [para] Note that this transformation affects only bytes in the ranges ASCII 65...90, and 97...122, i.e. the upper- and lower-case alphabetic characters, i.e. "A...Z" and "a...z". All other bytes are passed through unchanged. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/spacer.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::spacer n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Space insertation and removal}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::spacer [opt 1]] | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::spacer n 1] [keywords {channel transformation}] [keywords {reflected channel}] [keywords spacing] [keywords {tip 230}] [keywords transformation] [keywords {virtual channel}] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {Space insertation and removal}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::spacer [opt 1]] |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [para] The [arg space] character sequence will be added every [arg n] bytes of data written, and on the read side the same is done in reverse, removing the spacing. If [arg space] is not specified it defaults to a single space character (ASCII 32). [list_end] | | < | < < < < < < < < < < < < | 36 37 38 39 40 41 42 43 44 45 | [para] The [arg space] character sequence will be added every [arg n] bytes of data written, and on the read side the same is done in reverse, removing the spacing. If [arg space] is not specified it defaults to a single space character (ASCII 32). [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/virtchannel_transform/tcllib_zlib.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::zlib n 1] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {zlib (de)compression}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::zlib [opt 1]] | > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin tcl::transform::zlib n 1] [keywords {channel transformation}] [keywords compression] [keywords decompression] [keywords {reflected channel}] [keywords {tip 230}] [keywords {tip 234}] [keywords transformation] [keywords {virtual channel}] [keywords zlib] [copyright {2009 Andreas Kupries <[email protected]>}] [moddesc {Reflected/virtual channel support}] [category Channels] [titledesc {zlib (de)compression}] [require Tcl 8.6] [require tcl::transform::core [opt 1]] [require tcl::transform::zlib [opt 1]] |
︙ | ︙ | |||
28 29 30 31 32 33 34 | channel [arg chan] and returns its handle. [para] The [arg level] specifies how much effort is put into the compression, from [const 0] to [const 9], and defaults to [const 4]. [list_end] | | < | < < < < < < < < < < < < | 37 38 39 40 41 42 43 44 45 46 | channel [arg chan] and returns its handle. [para] The [arg level] specifies how much effort is put into the compression, from [const 0] to [const 9], and defaults to [const 4]. [list_end] [vset CATEGORY virtchannel] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/wip/wip.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- text -*-}] [manpage_begin wip n 2.2] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Word Interpreter}] [titledesc {Word Interpreter}] [category {Programming tools}] [require Tcl 8.4] [require wip [opt 2.2]] [require snit [opt 1.3]] | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 | [comment {-*- text -*-}] [manpage_begin wip n 2.2] [keywords interpreter] [keywords list] [keywords word] [copyright {2007-2010 Andreas Kupries <[email protected]>}] [moddesc {Word Interpreter}] [titledesc {Word Interpreter}] [category {Programming tools}] [require Tcl 8.4] [require wip [opt 2.2]] [require snit [opt 1.3]] |
︙ | ︙ | |||
90 91 92 93 94 95 96 | [enum] At last the basic [method run] methods save and restore an existing list of words when used, enabling recursive use from within command implementations. [list_end] | < | 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | [enum] At last the basic [method run] methods save and restore an existing list of words when used, enabling recursive use from within command implementations. [list_end] [section {CLASS API}] The main command of the package is: [list_begin definitions] [call [cmd ::wip] [arg wipName] [arg engine] [arg arg]...] |
︙ | ︙ | |||
160 161 162 163 164 165 166 | It installs a component named [emph wip], and a method [method wip_setup] for initializing it. This method has to be called from within the constructor of the type using the word interpreter. If further installs a series of procedures which make the object API of the word interpreter directly available to the type's methods, | | | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 | It installs a component named [emph wip], and a method [method wip_setup] for initializing it. This method has to be called from within the constructor of the type using the word interpreter. If further installs a series of procedures which make the object API of the word interpreter directly available to the type's methods, without having to specify the component. [para] [emph Note] that this does and cannot install the language to interpret, i.e. the mapping from words to engine methods. [para] |
︙ | ︙ | |||
227 228 229 230 231 232 233 | [call [arg wipName] [method unknown] [arg cmdprefix]] Sets the handler for unknown words to [arg cmdprefix]. This command prefix takes one argument, the current word, and either throws some error, or returns the result of executing the word, as defined by the handler. The default handler simply throws an error. | < | 229 230 231 232 233 234 235 236 237 238 239 240 241 242 | [call [arg wipName] [method unknown] [arg cmdprefix]] Sets the handler for unknown words to [arg cmdprefix]. This command prefix takes one argument, the current word, and either throws some error, or returns the result of executing the word, as defined by the handler. The default handler simply throws an error. [call [arg wipName] [method runl] [arg wordlist]] Treats the list of words in [arg wordlist] as a program and executes the contained command one by one. The result of the command executed last is returned as the result of this command. |
︙ | ︙ | |||
374 375 376 377 378 379 380 | [list_end] [section EXAMPLES] No examples yet. | < | < < | < < < < < < < < | 375 376 377 378 379 380 381 382 383 384 | [list_end] [section EXAMPLES] No examples yet. [vset CATEGORY wip] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/yaml/CHANGES.
︙ | ︙ | |||
14 15 16 17 18 19 20 | changes: 0.3.6: - 2011-08-23 - fixed for empty block/floating sub node. to see - https://sourceforge.net/tracker/?func=detail&atid=112883&aid=3396656&group_id=12883 | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | changes: 0.3.6: - 2011-08-23 - fixed for empty block/floating sub node. to see - https://sourceforge.net/tracker/?func=detail&atid=112883&aid=3396656&group_id=12883 - https://core.tcl.tk/tcllib/tktview?name=3396661fff 0.3.5: - 2009-05-24 - To read uninitialized yaml::data(current), when there is not empty line or "---" at the beginning of yaml. - Thanks al_chou! - https://core.tcl.tk/tcllib/tktview?name=2795699fff - supported for YAML termination(...) 0.3.4: - 2008-09-27 - fixed for some incorrect use of "string first/last" 0.3.3: - 2008-06-05 - add benchmark |
︙ | ︙ |
Changes to modules/yaml/huddle.man.
1 2 3 4 5 6 7 8 9 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin huddle n 0.1.5] [copyright {2008 KATO Kanryu <[email protected]>}] [moddesc {HUDDLE}] [titledesc {Create and manipulate huddle object}] [require Tcl 8.4] [require huddle [opt 0.1.5]] [description] [para] | > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin huddle n 0.1.5] [see_also yaml] [keywords {data exchange}] [keywords {exchange format}] [keywords huddle] [keywords json] [keywords parsing] [keywords {text processing}] [keywords yaml] [copyright {2008 KATO Kanryu <[email protected]>}] [moddesc {HUDDLE}] [titledesc {Create and manipulate huddle object}] [require Tcl 8.4] [require huddle [opt 0.1.5]] [description] [para] |
︙ | ︙ | |||
46 47 48 49 50 51 52 | [call [cmd "huddle create"] [arg key] [arg value] [opt [arg "key value ..."]]] Create a huddle object as a dict. It can contain other huddle objects. [call [cmd "huddle list"] [opt [arg "value value ..."]]] Create a huddle object as a list. It can contain other huddle objects. | < < < < | 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | [call [cmd "huddle create"] [arg key] [arg value] [opt [arg "key value ..."]]] Create a huddle object as a dict. It can contain other huddle objects. [call [cmd "huddle list"] [opt [arg "value value ..."]]] Create a huddle object as a list. It can contain other huddle objects. [call [cmd "huddle get"] [arg object] [arg key] [opt [arg "key ..."]]] Almost the same as [cmd "dict get"]. Get a sub-object from the huddle object. [arg key] can be used to huddle-list's index. [call [cmd "huddle gets"] [arg object] [arg key] [opt [arg "key ..."]]] Get a sub-object from the huddle object, stripped. [call [cmd "huddle set"] [arg objectVar] [arg key] [opt [arg "key ..."]] [arg value]] Almost the same as [cmd "dict set"]. Set a sub-object from the huddle object. [arg key] can be used to huddle-list's index. [call [cmd "huddle remove"] [arg object] [arg key] [opt [arg "key ..."]]] Almost the same as [cmd "dict remove"]. Remove a sub-object from the huddle object. [arg key] can be used to huddle-list's index. [call [cmd "huddle combine"] [arg object1] [arg object2] [opt [arg "object3 ..."]]] |
︙ | ︙ | |||
108 109 110 111 112 113 114 | HUDDLE {D {a {s k} c {s d} l {s m}}} % set bb [huddle list i j k l] HUDDLE {L {{s i} {s j} {s k} {s l}}} % huddle append bb g h i HUDDLE {L {{s i} {s j} {s k} {s l} {s g} {s h} {s i}}} }] | < < < | 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | HUDDLE {D {a {s k} c {s d} l {s m}}} % set bb [huddle list i j k l] HUDDLE {L {{s i} {s j} {s k} {s l}}} % huddle append bb g h i HUDDLE {L {{s i} {s j} {s k} {s l} {s g} {s h} {s i}}} }] [call [cmd "huddle keys"] [arg object]] The same as [cmd "dict keys"]. [call [cmd "huddle llength"] [arg object]] The same as [cmd llength]. [call [cmd "huddle type"] [arg object] [opt [arg "key key..."]]] Return the element type of specified by keys. if [opt key] is not given, returns the type of root node. [para] [list_begin options] |
︙ | ︙ | |||
145 146 147 148 149 150 151 | % huddle type {HUDDLE {s str}} string % huddle type {HUDDLE {L {{s a} {s b} {s c}}}} list % huddle type {HUDDLE {D {aa {s b} cc {s d}}}} cc string }] | < | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | % huddle type {HUDDLE {s str}} string % huddle type {HUDDLE {L {{s a} {s b} {s c}}}} list % huddle type {HUDDLE {D {aa {s b} cc {s d}}}} cc string }] [call [cmd "huddle strip"] [arg object]] Stripped all tags. Converted to normal Tcl's list/dict. [call [cmd "huddle jsondump"] [arg object] [opt [arg offset]] [opt [arg newline]] [opt [arg begin_offset]]] dump a json-stream from the huddle-object. |
︙ | ︙ | |||
189 190 191 192 193 194 195 | {"dd": {"bb": {"a": "baa","c": "d\na"},"cc": {"g": "h"}},"ee": {"i": "j","k": 1,"j": " m\\a"}} }] [call [cmd "huddle compile"] [arg spec] [arg data]] construct a huddle object from plain old tcl values. | < | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | {"dd": {"bb": {"a": "baa","c": "d\na"},"cc": {"g": "h"}},"ee": {"i": "j","k": 1,"j": " m\\a"}} }] [call [cmd "huddle compile"] [arg spec] [arg data]] construct a huddle object from plain old tcl values. [arg spec] is defined as follows: [list_begin definitions] [def [const string]] data is simply a string [def [const list]] data is a tcl list of strings |
︙ | ︙ | |||
221 222 223 224 225 226 227 | [list_end] [example {% huddle compile {dict * list} {a {1 2 3} b {4 5}} HUDDLE {D {a {L {{s 1} {s 2} {s 3}}} b {L {{s 4} {s 5}}}}} % huddle compile {dict * {list {dict d list}}} {a {{c 1} {d {2 2 2} e 3}} b {{f 4 g 5}}} HUDDLE {D {a {L {{D {c {s 1}}} {D {d {L {{s 2} {s 2} {s 2}}} e {s 3}}}}} b {L {{D {f {s 4} g {s 5}}}}}}} }] | < | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 | [list_end] [example {% huddle compile {dict * list} {a {1 2 3} b {4 5}} HUDDLE {D {a {L {{s 1} {s 2} {s 3}}} b {L {{s 4} {s 5}}}}} % huddle compile {dict * {list {dict d list}}} {a {{c 1} {d {2 2 2} e 3}} b {{f 4 g 5}}} HUDDLE {D {a {L {{D {c {s 1}}} {D {d {L {{s 2} {s 2} {s 2}}} e {s 3}}}}} b {L {{D {f {s 4} g {s 5}}}}}}} }] [call [cmd "huddle isHuddle"] [arg object]] if [arg object] is a huddle, returns 1. the other, returns 0. [call [cmd "huddle checkHuddle"] [arg object]] if [arg object] is not a huddle, rises an error. |
︙ | ︙ | |||
442 443 444 445 446 447 448 | default { ; # devolving to default dict-callback return [huddle call D $command $args] } } } }] | < | 440 441 442 443 444 445 446 447 448 449 450 451 452 453 | default { ; # devolving to default dict-callback return [huddle call D $command $args] } } } }] [section "How to add type"] [para] You can add huddle-node types e.g. ::struct::tree. To do so, first, define a callback-procedure for additional tagged-type. The proc get argments as [arg command] and [opt [arg args]]. It has some switch-sections. |
︙ | ︙ | |||
515 516 517 518 519 520 521 | "q", "r" ], "s" ] }] | < < | < < | < < < < < < < < | 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 | "q", "r" ], "s" ] }] [section LIMITATIONS] [para] now printing. [vset CATEGORY huddle] [include ../doctools2base/include/feedback.inc] [manpage_end] |
Changes to modules/yaml/yaml.man.
1 2 3 4 5 6 7 8 9 10 11 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin yaml n 0.3.6] [copyright {2008 KATO Kanryu <[email protected]>}] [moddesc {YAML processing}] [titledesc {YAML Format Encoder/Decoder}] [require Tcl 8.4] [require yaml [opt 0.3.6]] [description] [para] The [package yaml] package provides a simple Tcl-only library for parsing the | > > > > > > > > | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [comment {-*- tcl -*- doctools manpage}] [manpage_begin yaml n 0.3.6] [see_also base64] [see_also huddle] [see_also json] [keywords {data exchange}] [keywords huddle] [keywords parsing] [keywords {text processing}] [keywords yaml] [copyright {2008 KATO Kanryu <[email protected]>}] [moddesc {YAML processing}] [titledesc {YAML Format Encoder/Decoder}] [require Tcl 8.4] [require yaml [opt 0.3.6]] [description] [para] The [package yaml] package provides a simple Tcl-only library for parsing the YAML [uri http://www.yaml.org/] data exchange format as specified in [uri http://www.yaml.org/spec/1.1/]. [para] The [package yaml] package returns data as a Tcl [cmd dict]. Either the [package dict] package or Tcl 8.5 is required for use. |
︙ | ︙ | |||
30 31 32 33 34 35 36 | [opt_def [const -file]] [arg txt] is a filename of YAML-stream. [opt_def [const -stream]] [arg txt] is just a YAML-stream. | < | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | [opt_def [const -file]] [arg txt] is a filename of YAML-stream. [opt_def [const -stream]] [arg txt] is just a YAML-stream. [opt_def "[const -types] [arg list]"] The [arg list] is a type list for the yaml-scalar types.(e.g. !!str !!timestamp !!integer !!true ...) [example { -types {timestamp integer null true false}} ] |
︙ | ︙ | |||
77 78 79 80 81 82 83 | [list_end] [call [cmd ::yaml::setOption] [opt [arg options]]] Change implicit options for the library. Now, the params are the same as [cmd ::yaml::yaml2dict]. Arguments of[cmd ::yaml::yaml2dict] is more priority than this setting. | < < | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | [list_end] [call [cmd ::yaml::setOption] [opt [arg options]]] Change implicit options for the library. Now, the params are the same as [cmd ::yaml::yaml2dict]. Arguments of[cmd ::yaml::yaml2dict] is more priority than this setting. [call [cmd ::yaml::dict2yaml] [arg dict] [opt [arg indent]] [opt [arg wordwrap]]] [call [cmd ::yaml::list2yaml] [arg list] [opt [arg indent]] [opt [arg wordwrap]]] [call [cmd ::yaml::huddle2yaml] [arg huddle] [opt [arg indent]] [opt [arg wordwrap]]] Convert a dict/list/huddle object into YAML stream. [list_begin definitions] [def indent] spaces indent of each block node. currently default is 2. [def wordwrap] word wrap for YAML stream. currently default is 40. [list_end] [list_end] [para] [section EXAMPLES] [para] |
︙ | ︙ | |||
152 153 154 155 156 157 158 | [para] [example {{ --- - [name , hr, avg ] - [Mark McGwire, 65, 0.278] - [Sammy Sosa , 63, 0.288] | | < < | < < | < < < < < < < < | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 | [para] [example {{ --- - [name , hr, avg ] - [Mark McGwire, 65, 0.278] - [Sammy Sosa , 63, 0.288] - Mark McGwire: {hr: 65, avg: 0.278} Sammy Sosa: { hr: 63, avg: 0.288} } => {name hr avg} {{Mark McGwire} 65 0.278} {{Sammy Sosa} 63 0.288} {{Mark McGwire} {hr 65 avg 0.278} {Sammy Sosa} {hr 63 avg 0.288}} }] [section LIMITATIONS] [para] tag parser not implemented. currentry, tags are merely ignored. [para] Only Anchor => Aliases ordering. back alias-referring is not supported. [para] Too many braces, or too few braces. [para] Not enough character set of line feeds. Please use only "\n" as line breaks. [vset CATEGORY yaml] [include ../doctools2base/include/feedback.inc] [manpage_end] |