File: base32_core.pcx

package info (click to toggle)
tcllib 1.21%2Bdfsg-1
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 69,456 kB
  • sloc: tcl: 266,493; ansic: 14,259; sh: 2,936; xml: 1,766; yacc: 1,145; pascal: 881; makefile: 112; perl: 84; f90: 84; python: 33; ruby: 13; php: 11
file content (44 lines) | stat: -rw-r--r-- 1,188 bytes parent folder | download | duplicates (7)
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
# -*- tcl -*- base32::core.pcx
# Syntax of the commands provided by package base32::core.
#
# For use by TclDevKit's static syntax checker (v4.1+).
# See http://www.activestate.com/solutions/tcl/
# See http://aspn.activestate.com/ASPN/docs/Tcl_Dev_Kit/4.0/Checker.html#pcx_api
# for the specification of the format of the code in this file.
#

package require pcx
pcx::register base32::core
pcx::tcldep   0.1 needs tcl 8.4

namespace eval ::base32::core {}

pcx::message invalidStringLength {String is not a multiple of 8 characters long} err

pcx::check 0.1 std ::base32::core::define \
    {checkSimpleArgs 4 4 {
	checkDict
	checkVarNameWrite
	checkVarNameWrite
	checkVarNameWrite
    }}
pcx::check 0.1 std ::base32::core::valid \
    {checkSimpleArgs 3 3 {
	base32::core::checkEString
	checkRegexp
	checkVarNameWrite
    }}

proc base32::core::checkEString {t i} {
    set w [lindex $t $i]
    if {[getLiteral $w str]} {
	if {[string length $str] % 8 != 0} {
	    logError base32::core::invalidStringLength [getTokenRange $w]
	}
    }
    return [checkWord $t $i]
}

# Initialization via pcx::init.
# Use a ::base32::core::init procedure for non-standard initialization.
pcx::complete