1 .HLL 'Tcl', 'tcl_group'
5 .param pmc argv :slurpy
10 if argc == 0 goto few_args
12 .local string subcommand_name
13 subcommand_name = shift argv
16 options = new 'ResizablePMCArray'
18 push options, 'clicks'
19 push options, 'format'
20 push options, 'microseconds'
21 push options, 'milliseconds'
23 push options, 'seconds'
24 .local pmc select_option
25 select_option = get_root_global ['_tcl'], 'select_option'
26 .local string canonical_subcommand
27 canonical_subcommand = select_option(options, subcommand_name)
29 .local pmc subcommand_proc
31 subcommand_proc = get_root_global ['_tcl';'helpers';'clock'], canonical_subcommand
32 if_null subcommand_proc, bad_args
34 .return subcommand_proc(argv)
37 .return ('') # once all commands are implemented, remove this...
40 tcl_error 'wrong # args: should be "clock subcommand ?argument ...?"'
44 .namespace [ 'helpers'; 'clock' ]
46 # XXX Need bignum support
56 tcl_error 'wrong # args: should be "clock microseconds"'
59 # XXX Need bignum support
69 tcl_error 'wrong # args: should be "clock milliseconds"'
80 tcl_error 'wrong # args: should be "clock seconds"'
87 # vim: expandtab shiftwidth=4 ft=pir: