< < # 0 -> string # 0 <- leading digits converted to int (0, if none) { "^(\\d*)" regex -- ==n [ n { 48 sub } each ] reverse 10 math .unbase } [ 0 ] [ 0 ] '' /u deffd # 0 -> string # 0 <- leading hexadecimal digits converted to int (0, if none) [ 0 1 2 3 4 5 6 7 8 9 7 { 0 } rep 10 11 12 13 14 15 26 { 0 } rep 10 11 12 13 14 15 ] =*:hexDigitsReverse { "^([0-9A-Fa-f]*)" regex -- ==n [ n { 48 sub hexDigitsReverse } each ] reverse 16 math .unbase } [ 0 ] [ 0 ] '' /hu deffd > /consume defvd < # 0 -> positive integer (or zero) # 0 <- decimal representation as string { _ { [ -01 10 math .base reverse "0123456789" each ] str .fromArray } { -- "0" } ? * } [ 0 ] [ 0 ] '' /u deffd # 0 -> positive integer (or zero) # 0 <- hexadecimal representation as string { _ { [ -01 16 math .base reverse "0123456789ABCDEF" each ] str .fromArray } { -- "0" } ? * } [ 0 ] [ 0 ] '' /hu deffd # 0 -> integer # 0 <- decimal representation as string { _ 0 lt { neg u "-" -01 cat } |u ? * } [ 0 ] [ 0 ] '' /i deffd > /produce defvd > /txt defvd # vim: syn=elymas