@@ -1,1367 +0,0 @@
1−### `++ab`
2−
3−Primitive parser engine
4−
5−A core containing numeric parser primitives.
6−
7−Source
8−------
9−
10− ++ ab
11− |%
12−
13−Examples
14−--------
15−
16− ~zod/try=> ab
17− <36.ecc 414.gly 100.xkc 1.ypj %164>
18−
19−------------------------------------------------------------------------
20−
21−### `++bix`
22−
23−Parse hex pair
24−
25−Parsing `++rule`. Parses a pair of base-16 digits. Used in escapes.
26−
27−Accepts
28−-------
29−
30−XX
31−
32−Produces
33−--------
34−
35−A an atom. XX
36−
37−Source
38−------
39−
40− ++ bix (bass 16 (stun [2 2] six))
41−
42−Examples
43−--------
44−
45− ~zod/try=> (scan "07" bix:ab)
46− q=7
47− ~zod/try=> (scan "51" bix:ab)
48− q=81
49− ~zod/try=> (scan "a3" bix:ab)
50− q=163
51−
52−------------------------------------------------------------------------
53−
54−### `++hif`
55−
56−Parse phonetic pair
57−
58−Parsing `++rule`. Parses an atom of odor `@pE`, a phrase of two bytes
59−encoded phonetically.
60−
61−Accepts
62−-------
63−
64−XX
65−
66−Produces
67−--------
68−
69−An atom.
70−
71−Source
72−------
73−
74− ++ hif (boss 256 ;~(plug tip tiq (easy ~)))
75−
76−Examples
77−--------
78−
79− ~zod/try=> (scan "doznec" hif:ab)
80− q=256
81− ~zod/try=> (scan "pittyp" hif:ab)
82− q=48.626
83−
84−------------------------------------------------------------------------
85−
86−### `++huf`
87−
88−Parse two phonetic pairs
89−
90−Parsing `++rule`. Parses and unscrambles an atom of odor @pF, a phrase
91−of two two-byte pairs that are encoded (and scrambled) phonetically.
92−
93−Accepts
94−-------
95−
96−XX
97−
98−Produces
99−--------
100−
101−An atom. XX
102−
103−Source
104−------
105−
106− ++ huf %+ cook
107− |=([a/@ b/@] (wred:un ~(zug mu ~(zag mu [a b]))))
108− ;~(plug hif ;~(pfix hep hif))
109−
110−Examples
111−--------
112−
113− ~zod/try=> (scan "pittyp-pittyp" huf:ab)
114− 328.203.557
115− ~zod/try=> (scan "tasfyn-partyv" huf:ab)
116− 65.792
117− ~zod/try=> `@ux`(scan "tasfyn-partyv" huf:ab)
118− 0x1.0100
119−
120−------------------------------------------------------------------------
121−
122−### `++hyf`
123−
124−Parse 8 phonetic bytes
125−
126−Parsing `++rule`. Parses an atom of odor @pG, a phrase of eight of
127−phonetic bytes.
128−
129−Accepts
130−-------
131−
132−An atom of odor `@pG`
133−
134−Produces
135−--------
136−
137−An atom. XX
138−
139−Source
140−------
141−
142− ++ hyf (bass 0x1.0000.0000 ;~(plug huf ;~(pfix hep huf) (easy ~)))
143−
144−Examples
145−--------
146−
147− ~zod/try=> (scan "sondel-forsut-tillyn-nillyt" hyf:ab)
148− q=365.637.097.828.335.095
149− ~zod/try=> `@u`~sondel-forsut-tillyn-nillyt
150− 365.637.097.828.335.095
151−
152−------------------------------------------------------------------------
153−
154−### `++pev`
155−
156−Parse \<= 5 base-32
157−
158−Parsing `++rule`. Parses up to five base-32 digits without a leading zero.
159−
160−Accepts
161−-------
162−
163−Up to five @uv (base 64) digits.
164−
165−Produces
166−--------
167−
168−An atom.
169−
170−Source
171−------
172−
173− ++ pev (bass 32 ;~(plug sev (stun [0 4] siv)))
174−
175−Examples
176−--------
177−
178− ~zod/try=> (scan "a" pev:ab)
179− q=10
180− ~zod/try=> (scan "290j" pev:ab)
181− q=74.771
182− ~zod/try=> (scan "123456" pev:ab)
183− ! {1 6}
184− ! exit
185− ~zod/try=> (scan "090j" pev:ab)
186− ~ <syntax error at [1 11]>
187−
188−------------------------------------------------------------------------
189−
190−### `++pew`
191−
192−Parse \<= 5 base-64
193−
194−Parsing `++rule`. Parses up to five base-64 digits without a leading zero.
195−
196−Accepts
197−-------
198−
199−Up to five @uw (base 64) digits.
200−
201−Produces
202−--------
203−
204−
205−
206−Source
207−------
208−
209− ++ pew (bass 64 ;~(plug sew (stun [0 4] siw)))
210−
211−Examples
212−--------
213−
214− ~zod/try=> (scan "Q" pew:ab)
215− q=52
216− ~zod/try=> (scan "aQ~9" pew:ab)
217− q=2.838.473
218− ~zod/try=> `@`0waQ~9
219− 2.838.473
220− ~zod/try=> (scan "123456" pew:ab)
221− ! {1 6}
222− ! exit
223− ~zod/try=> (scan "012345" pew:ab)
224− ! {1 1}
225− ! exit
226−
227−------------------------------------------------------------------------
228−
229−### `++piv`
230−
231−Parse 5 base-32
232−
233−Parsing `++rule`. Parses exactly five base-32 digits.
234−
235−Accepts
236−-------
237−
238−Produces
239−--------
240−
241−Source
242−------
243−
244− ++ piv (bass 32 (stun [5 5] siv))
245−
246−Examples
247−--------
248−
249− ~zod/try=> (scan "10b3l" piv:ab)
250− q=1.059.957
251− ~zod/try=> (scan "1" piv:ab)
252− ! {1 2}
253− ! exit
254−
255−------------------------------------------------------------------------
256−
257−### `++piw`
258−
259−Parse 5 base-64
260−
261−Parsing `++rule`. Parses exactly five base-64 digits.
262−
263−Accepts
264−-------
265−
266−Produces
267−--------
268−
269−Source
270−------
271−
272− ++ piw (bass 64 (stun [5 5] siw))
273−
274−Examples
275−--------
276−
277− ~zod/try=> (scan "2C-pZ" piw:ab)
278− q=43.771.517
279− ~zod/try=> (scan "2" piv:ab)
280− ! {1 2}
281− ! exit
282−
283−------------------------------------------------------------------------
284−
285−### `++qeb`
286−
287−Parse \<= 4 binary
288−
289−Parsing `++rule`. Parses a binary number of up to 4 digits in length without
290−a leading zero.
291−
292−Accepts
293−-------
294−
295−Produces
296−--------
297−
298−Source
299−------
300−
301− ++ qeb (bass 2 ;~(plug seb (stun [0 3] sib)))
302−
303−Examples
304−--------
305−
306− ~zod/try=> (scan "1" qeb:ab)
307− q=1
308− ~zod/try=> (scan "101" qeb:ab)
309− q=5
310− ~zod/try=> (scan "1111" qeb:ab)
311− q=15
312− ~zod/try=> (scan "11111" qeb:ab)
313− ! {1 5}
314− ! exit
315− ~zod/try=> (scan "01" qeb:ab)
316− ! {1 1}
317− ! exit
318−
319−------------------------------------------------------------------------
320−
321−### `++qex`
322−
323−Parse \<= 4 hex
324−
325−Parsing `++rule`. Parses a hexadecimal number of up to 4 digits in length
326−without a leading zero.
327−
328−Accepts
329−-------
330−
331−Produces
332−--------
333−
334−Source
335−------
336−
337− ++ qex (bass 16 ;~(plug sex (stun [0 3] hit)))
338−
339−Examples
340−--------
341−
342− ~zod/try=> (scan "ca" qex:ab)
343− q=202
344− ~zod/try=> (scan "18ac" qex:ab)
345− q=6.316
346− ~zod/try=> (scan "18acc" qex:ab)
347− ! {1 5}
348− ! exit
349− ~zod/try=> (scan "08ac" qex:ab)
350− ! {1 1}
351− ! exit
352−
353−------------------------------------------------------------------------
354−
355−### `++qib`
356−
357−Parse 4 binary
358−
359−Parsing `++rule`. Parses exactly four binary digits.
360−
361−Accepts
362−-------
363−
364−Produces
365−--------
366−
367−Source
368−------
369−
370− ++ qib (bass 2 (stun [4 4] sib))
371−
372−Examples
373−--------
374−
375− ~zod/try=> (scan "0001" qib:ab)
376− q=1
377− ~zod/try=> (scan "0100" qib:ab)
378− q=4
379− ~zod/try=> (scan "110" qib:ab)
380− ! {1 4}
381− ! exit
382−
383−------------------------------------------------------------------------
384−
385−### `++qix`
386−
387−Parse 4 hex
388−
389−Parsing `++rule`. Parses exactly four hexadecimal digits.
390−
391−Accepts
392−-------
393−
394−Produces
395−--------
396−
397−Source
398−------
399−
400− ++ qix (bass 16 (stun [4 4] six))
401−
402−Examples
403−--------
404−
405− ~zod/try=> (scan "0100" qix:ab)
406− q=256
407− ~zod/try=> (scan "10ff" qix:ab)
408− q=4.351
409− ~zod/try=> (scan "0" qix:ab)
410− ! {1 2}
411− ! exit
412−
413−------------------------------------------------------------------------
414−
415−### `++seb`
416−
417−Parse 1
418−
419−Parsing `++rule`. Parses the number 1.
420−
421−Accepts
422−-------
423−
424−Produces
425−--------
426−
427−Source
428−------
429−
430− ++ seb (cold 1 (just '1'))
431−
432−Examples
433−--------
434−
435− ~zod/try=> (scan "1" seb:ab)
436− 1
437− ~zod/try=> (scan "0" seb:ab)
438− ! ~zod/try/~2014.10.23..22.34.21..bfdd/:<[1 1].[1 18]>
439− ! {1 1}
440− ~zod/try=> (scan "2" seb:ab)
441− ! ~zod/try/~2014.10.23..22.34.29..d399/:<[1 1].[1 18]>
442− ! {1 1}
443−
444−------------------------------------------------------------------------
445−
446−### `++sed`
447−
448−Parse decimal
449−
450−Parsing `++rule`. Parses a nonzero decimal digit.
451−
452−Accepts
453−-------
454−
455−Produces
456−--------
457−
458−Source
459−------
460−
461− ++ sed (cook |=(a/@ (sub a '0')) (shim '1' '9'))
462−
463−Examples
464−--------
465−
466− ~zod/try=> (scan "5" sed:ab)
467− 5
468− ~zod/try=> (scan "0" sed:ab)
469− ! {1 1}
470− ! exit
471−
472−------------------------------------------------------------------------
473−
474−### `++sev`
475−
476−Parse base-32
477−
478−Parsing `++rule`. Parses a nonzero base-32 digit
479−
480−Accepts
481−-------
482−
483−Produces
484−--------
485−
486−Source
487−------
488−
489− ++ sev ;~(pose sed sov)
490−
491−Examples
492−--------
493−
494− ~zod/try=> (scan "c" sev:ab)
495− 12
496− ~zod/socialnet=> (scan "0" sev:ab)
497− ! {1 1}
498− ! exit
499−
500−------------------------------------------------------------------------
501−
502−### `++sew`
503−
504−Parse base-64
505−
506−Parsing `++rule`. Parses a nonzero base-64 digit
507−
508−Accepts
509−-------
510−
511−Produces
512−--------
513−
514−Source
515−------
516−
517− ++ sew ;~(pose sed sow)
518−
519−Examples
520−--------
521−
522− ~zod/try=> (scan "M" sew:ab)
523− 48
524− ~zod/try=> (scan "0" sew:ab)
525− ! {1 1}
526− ! exit
527−
528−------------------------------------------------------------------------
529−
530−### `++sex`
531−
532−Parse hex
533−
534−Parsing `++rule`. Parses a nonzero hexadecimal digit.
535−
536−Accepts
537−-------
538−
539−Produces
540−--------
541−
542−Source
543−------
544−
545− ++ sex ;~(pose sed sox)
546−
547−Examples
548−--------
549−
550− ~zod/try=> (scan "e" sex:ab)
551− 14
552− ~zod/try=> (scan "0" sex:ab)
553− ! {1 1}
554− ! exit
555−
556−------------------------------------------------------------------------
557−
558−### `++sib`
559−
560−Parse binary
561−
562−Parsing `++rule`. Parses a binary digit.
563−
564−Accepts
565−-------
566−
567−Produces
568−--------
569−
570−Source
571−------
572−
573− ++ sib (cook |=(a/@ (sub a '0')) (shim '0' '1'))
574−
575−Examples
576−--------
577−
578− ~zod/try=> (scan "1" sib:ab)
579− 1
580− ~zod/socialnet=> (scan "0" sib:ab)
581− 0
582−
583−------------------------------------------------------------------------
584−
585−### `++sid`
586−
587−Parse decimal
588−
589−Parsing `++rule`. Parses a decimal digit.
590−
591−Accepts
592−-------
593−
594−Produces
595−--------
596−
597−Source
598−------
599−
600− ++ sid (cook |=(a/@ (sub a '0')) (shim '0' '9'))
601−
602−Examples
603−--------
604−
605− ~zod/try=> (scan "5" sid:ab)
606− 5
607−
608−------------------------------------------------------------------------
609−
610−### `++siv`
611−
612−Parse base-32
613−
614−Parsing `++rule`. Parses a base-32 digit.
615−
616−Accepts
617−-------
618−
619−Produces
620−--------
621−
622−Source
623−------
624−
625− ++ siv ;~(pose sid sov)
626−
627−Examples
628−--------
629−
630− ~zod/try=> (scan "c" siv:ab)
631− 12
632−
633−------------------------------------------------------------------------
634−
635−### `++siw`
636−
637−Parse base-64
638−
639−Parsing `++rule`. Parses a base-64 digit.
640−
641−Accepts
642−-------
643−
644−Produces
645−--------
646−
647−Source
648−------
649−
650− ++ siw ;~(pose sid sow)
651−
652−Examples
653−--------
654−
655− ~zod/try=> (scan "M" siw:ab)
656− 48
657−
658−------------------------------------------------------------------------
659−
660−### `++six`
661−
662−Parse hex
663−
664−Parsing `++rule`. Parses a hexadecimal digit.
665−
666−Accepts
667−-------
668−
669−Produces
670−--------
671−
672−Source
673−------
674−
675− ++ six ;~(pose sid sox)
676−
677−Examples
678−--------
679−
680− ~zod/try=> (scan "e" six:ab)
681− 14
682−
683−------------------------------------------------------------------------
684−
685−### `++sov`
686−
687−Parse base-32
688−
689−Parsing `++rule`. Parses a base-32 letter.
690−
691−Accepts
692−-------
693−
694−Produces
695−--------
696−
697−Source
698−------
699−
700− ++ sov (cook |=(a/@ (sub a 87)) (shim 'a' 'v'))
701−
702−Examples
703−--------
704−
705− ~zod/try=> (scan "c" sov:ab)
706− 12
707−
708−------------------------------------------------------------------------
709−
710−### `++sow`
711−
712−Parse base-64
713−
714−Parsing `++rule`. Parses a base-64 letter/symbol.
715−
716−Accepts
717−-------
718−
719−Produces
720−--------
721−
722−Source
723−------
724−
725− ++ sow ;~ pose
726− (cook |=(a/@ (sub a 87)) (shim 'a' 'z'))
727− (cook |=(a/@ (sub a 29)) (shim 'A' 'Z'))
728− (cold 62 (just '-'))
729− (cold 63 (just '~'))
730− ==
731−
732−Examples
733−--------
734−
735− ~zod/try=> (scan "M" sow:ab)
736− 48
737−
738−------------------------------------------------------------------------
739−
740−### `++sox`
741−
742−Parse hex letter
743−
744−Parsing `++rule`. Parses a hexadecimal letter.
745−
746−Accepts
747−-------
748−
749−Produces
750−--------
751−
752−Source
753−------
754−
755− ++ sox (cook |=(a/@ (sub a 87)) (shim 'a' 'f'))
756−
757−Examples
758−--------
759−
760− ~zod/try=> (scan "e" sox:ab)
761− 14
762−
763−------------------------------------------------------------------------
764−
765−### `++ted`
766−
767−Parse \<= 3 decimal
768−
769−Parsing `++rule`. Parses a decimal number of up to 3 digits without a
770−leading zero.
771−
772−Accepts
773−-------
774−
775−Produces
776−--------
777−
778−Source
779−------
780−
781− ++ ted (bass 10 ;~(plug sed (stun [0 2] sid)))
782−
783−Examples
784−--------
785−
786− ~zod/try=> (scan "21" ted:ab)
787− q=21
788− ~zod/try=> (scan "214" ted:ab)
789− q=214
790− ~zod/try=> (scan "2140" ted:ab)
791− {1 4}
792− ~zod/try=> (scan "0" ted:ab)
793− ! {1 1}
794− ! exit
795−
796−------------------------------------------------------------------------
797−
798−### `++tip`
799−
800−Leading phonetic byte
801−
802−Parsing `++rule`. Parses the leading phonetic byte, which represents a
803−syllable.
804−
805−Accepts
806−-------
807−
808−Produces
809−--------
810−
811−Source
812−------
813−
814− ++ tip (sear |=(a/@ (ins:po a)) til)
815−
816−Examples
817−--------
818−
819− ~zod/try=> (scan "doz" tip:ab)
820− 0
821− ~zod/try=> (scan "pit" tip:ab)
822− 242
823−
824−------------------------------------------------------------------------
825−
826−### `++tiq`
827−
828−Trailing phonetic syllable
829−
830−Parsing `++rule`. Parses the trailing phonetic byte, which represents a
831−syllable.
832−
833−Accepts
834−-------
835−
836−Produces
837−--------
838−
839−Source
840−------
841−
842− ++ tiq (sear |=(a/@ (ind:po a)) til)
843−
844−Examples
845−--------
846−
847− ~zod/try=> (scan "zod" tiq:ab)
848− 0
849− ~zod/try=> (scan "nec" tiq:ab)
850− 1
851−
852−------------------------------------------------------------------------
853−
854−### `++tid`
855−
856−Parse 3 decimal digits
857−
858−Parsing `++rule`. Parses exactly three decimal digits.
859−
860−Accepts
861−-------
862−
863−Produces
864−--------
865−
866−Source
867−------
868−
869− ++ tid (bass 10 (stun [3 3] sid))
870−
871−Examples
872−--------
873−
874− ~zod/try=> (scan "013" tid:ab)
875− q=13
876− ~zod/try=> (scan "01" tid:ab)
877− ! {1 3}
878− ! exit
879−
880−------------------------------------------------------------------------
881−
882−### `++til`
883−
884−Parse 3 lowercase
885−
886−Parsing `++rule`. Parses exactly three lowercase letters.
887−
888−Accepts
889−-------
890−
891−Produces
892−--------
893−
894−Source
895−------
896−
897− ++ til (boss 256 (stun [3 3] low))
898−
899−Examples
900−--------
901−
902− ~zod/try=> (scan "mer" til:ab)
903− q=7.497.069
904− ~zod/try=> `@t`(scan "mer" til:ab)
905− 'mer'
906− ~zod/try=> (scan "me" til:ab)
907− ! {1 3}
908− ! exit
909−
910−------------------------------------------------------------------------
911−
912−### `++urs`
913−
914−Parse span characters
915−
916−Parsing rule. Parses characters from an atom of the span odor `@ta`.
917−
918−Accepts
919−-------
920−
921−Produces
922−--------
923−
924−Source
925−------
926−
927− ++ urs %+ cook
928− |=(a/tape (rap 3 ^-((list @) a)))
929− (star ;~(pose nud low hep dot sig cab))
930−
931−Examples
932−--------
933−
934− ~zod/try=> `@ta`(scan "asa-lom_tak" urs:ab)
935− ~.asa-lom_tak
936− ~zod/try=> `@t`(scan "asa-lom_tak" urs:ab)
937− 'asa-lom_tak'
938−
939−------------------------------------------------------------------------
940−
941−### `++urt`
942−
943−Parse non-`_` span
944−
945−Parsing rule. Parses all characters of the span odor `@ta` except
946−for cab, `_`.
947−
948−Accepts
949−-------
950−
951−Produces
952−--------
953−
954−Source
955−------
956−
957− ++ urt %+ cook
958− |=(a/tape (rap 3 ^-((list @) a)))
959− (star ;~(pose nud low hep dot sig))
960−
961−Examples
962−--------
963−
964− ~zod/try=> `@t`(scan "asa-lom.t0k" urt:ab)
965− 'asa-lom.t0k'
966−
967−------------------------------------------------------------------------
968−
969−### `++voy`
970−
971−Parse bas, soq, or bix
972−
973−Parsing rule. Parses an escaped backslash, single quote, or hex pair
974−byte.
975−
976−Accepts
977−-------
978−
979−Produces
980−--------
981−
982−Source
983−------
984−
985− ++ voy ;~(pfix bas ;~(pose bas soq bix))
986−
987−Examples
988−--------
989−
990− ~zod/try=> (scan "\\0a" voy:ab)
991− q=10
992− ~zod/try=> (scan "\\'" voy:ab)
993− q=39
994−
995−------------------------------------------------------------------------
996−
997−### `++ag`
998−
999−Top-level atom parser engine
1000−
1001−A core containing top-level atom parsers.
1002−
1003−Accepts
1004−-------
1005−
1006−Produces
1007−--------
1008−
1009−Source
1010−------
1011−
1012− ++ ag
1013− |%
1014−
1015−Examples
1016−--------
1017−
1018− ~zod/try=> ag
1019− <14.vpu 414.mof 100.xkc 1.ypj %164>
1020−
1021−------------------------------------------------------------------------
1022−
1023−### `++ape`
1024−
1025−Parse 0 or rule
1026−
1027−Parser modifier. Parses 0 or the sample rule `fel`.
1028−
1029−Accepts
1030−-------
1031−
1032−Produces
1033−--------
1034−
1035−`fel` is a `rule`.
1036−
1037−Source
1038−------
1039−
1040− ++ ape |*(fel/rule ;~(pose (cold 0 (just '0')) fel))
1041−
1042−
1043−Examples
1044−--------
1045−
1046− ~zod/try=> (scan "202" (star (ape:ag (cold 2 (just '2')))))
1047− ~[2 0 2]
1048−
1049−------------------------------------------------------------------------
1050−
1051−### `++bay`
1052−
1053−Parses binary number
1054−
1055−Parsing rule. Parses a binary number without a leading zero.
1056−
1057−Accepts
1058−-------
1059−
1060−Produces
1061−--------
1062−
1063−Source
1064−------
1065−
1066− ++ bay (ape (bass 16 ;~(plug qeb:ab (star ;~(pfix dog qib:ab)))))
1067−
1068−Examples
1069−--------
1070−
1071− ~zod/try=> (scan "10.0110" bay:ag)
1072− q=38
1073−
1074−------------------------------------------------------------------------
1075−
1076−### `++bip`
1077−
1078−Parse IPv6
1079−
1080−Parsing rule. Parses a `@is`, an IPv6 address.
1081−
1082−Accepts
1083−-------
1084−
1085−Produces
1086−--------
1087−
1088−Source
1089−------
1090−
1091− ++ bip =+ tod=(ape qex:ab)
1092− (bass 0x1.0000 ;~(plug tod (stun [7 7] ;~(pfix dog tod))))
1093−
1094−Examples
1095−--------
1096−
1097− ~zod/try=> (scan "0.0.ea.3e6c.0.0.0.0" bip:ag)
1098− q=283.183.420.760.121.105.516.068.864
1099− ~zod/try=> `@is`(scan "0.0.ea.3e6c.0.0.0.0" bip:ag)
1100− .0.0.ea.3e6c.0.0.0.0
1101−
1102−------------------------------------------------------------------------
1103−
1104−### `++dem`
1105−
1106−Parse decimal with dots
1107−
1108−Parsing rule. Parses a decimal number that includes dot separators.
1109−
1110−Accepts
1111−-------
1112−
1113−Produces
1114−--------
1115−
1116−Source
1117−------
1118−
1119− ++ dem (ape (bass 1.000 ;~(plug ted:ab (star ;~(pfix dog tid:ab)))))
1120−
1121−
1122−Examples
1123−--------
1124−
1125− ~zod/try=> (scan "52" dem:ag)
1126− q=52
1127− ~zod/try=> (scan "13.507" dem:ag)
1128− q=13.507
1129−
1130−------------------------------------------------------------------------
1131−
1132−### `++dim`
1133−
1134−Parse decimal number
1135−
1136−Parsing rule. Parses a decimal number without a leading zero.
1137−
1138−Accepts
1139−-------
1140−
1141−Produces
1142−--------
1143−
1144−Source
1145−------
1146−
1147− ++ dim (ape (bass 10 ;~(plug sed:ab (star sid:ab))))
1148−
1149−Examples
1150−--------
1151−
1152− ~zod/try=> (scan "52" dim:ag)
1153− q=52
1154− ~zod/try=> (scan "013507" dim:ag)
1155− ! {1 2}
1156− ! exit
1157−
1158−------------------------------------------------------------------------
1159−
1160−### `++dum`
1161−
1162−Parse decimal with leading `0`
1163−
1164−Parsing rule. Parses a decmial number with leading zeroes.
1165−
1166−Accepts
1167−-------
1168−
1169−Produces
1170−--------
1171−
1172−Source
1173−------
1174−
1175− ++ dum (bass 10 (plus sid:ab))
1176−
1177−Examples
1178−--------
1179−
1180− ~zod/try=> (scan "52" dum:ag)
1181− q=52
1182− ~zod/try=> (scan "0000052" dum:ag)
1183− q=52
1184− ~zod/try=> (scan "13507" dim:ag)
1185− q=13.507
1186−
1187−------------------------------------------------------------------------
1188−
1189−### `++fed`
1190−
1191−Parse phonetic base
1192−
1193−Parsing rule. Parses an atom of odor `@p`, the phonetic base.
1194−
1195−Accepts
1196−-------
1197−
1198−Produces
1199−--------
1200−
1201−Source
1202−------
1203−
1204− ++ fed ;~ pose
1205− (bass 0x1.0000.0000.0000.0000 (most doh hyf:ab))
1206− huf:ab
1207− hif:ab
1208− tiq:ab
1209− ==
1210−
1211−Examples
1212−--------
1213−
1214− ~zod/try=> (scan "zod" fed:ag)
1215− 0
1216− ~zod/try=> (scan "nec" fed:ag)
1217− 1
1218− ~zod/try=> (scan "sondel" fed:ag)
1219− 9.636
1220− ~zod/try=> ~tillyn-nillyt
1221− ~tillyn-nillyt
1222− ~zod/try=> (scan "tillyn-nillyt" fed:ag)
1223− 3.569.565.175
1224− ~zod/try=> (scan "tillyn-nillyt-tasfyn-partyv" fed:ag)
1225− 15.331.165.687.565.582.592
1226− ~zod/try=> (scan "tillyn-nillyt-tasfyn-partyv--novweb-talrud-talmud-sonfyr" fed:ag)
1227− 282.810.089.790.159.633.869.501.053.313.363.681.181
1228−
1229−------------------------------------------------------------------------
1230−
1231−### `++hex`
1232−
1233−Parse hex
1234−
1235−Parsing rule. Parses a hexadecimal number
1236−
1237−Accepts
1238−-------
1239−
1240−Produces
1241−--------
1242−
1243−Source
1244−------
1245−
1246− ++ hex (ape (bass 0x1.0000 ;~(plug qex:ab (star ;~(pfix dog qix:ab)))))
1247−
1248−Examples
1249−--------
1250−
1251− ~zod/try=> (scan "4" hex:ag)
1252− q=4
1253− ~zod/try=> (scan "1a" hex:ag)
1254− q=26
1255− ~zod/try=> (scan "3.ac8d" hex:ag)
1256− q=240.781
1257− ~zod/try=> `@ux`(scan "3.ac8d" hex:ag)
1258− 0x3.ac8d
1259−
1260−------------------------------------------------------------------------
1261−
1262−### `++lip`
1263−
1264−Parse IPv4 address
1265−
1266−Parsing rule. Parses an IPv4 address.
1267−
1268−Accepts
1269−-------
1270−
1271−Produces
1272−--------
1273−
1274−Source
1275−------
1276−
1277− ++ lip =+ tod=(ape ted:ab)
1278− (bass 256 ;~(plug tod (stun [3 3] ;~(pfix dog tod))))
1279−
1280−Examples
1281−--------
1282−
1283− ~zod/try=> (scan "127.0.0.1" lip:ag)
1284− q=2.130.706.433
1285− ~zod/try=> `@if`(scan "127.0.0.1" lip:ag)
1286− .127.0.0.1
1287− ~zod/try=> `@if`(scan "8.8.8.8" lip:ag)
1288− .8.8.8.8
1289−
1290−------------------------------------------------------------------------
1291−
1292−### `++viz`
1293−
1294−Parse Base-32 with dots
1295−
1296−Parsing rule. Parses a Base-32 number with dot separators.
1297−
1298−Accepts
1299−-------
1300−
1301−Produces
1302−--------
1303−
1304−Source
1305−------
1306−
1307− ++ viz (ape (bass 0x200.0000 ;~(plug pev:ab (star ;~(pfix dog piv:ab)))))
1308−
1309−Examples
1310−--------
1311−
1312− ~zod/try=> (scan "e2.ol4pm" viz:ag)
1313− q=15.125.353.270
1314−
1315−------------------------------------------------------------------------
1316−
1317−### `++vum`
1318−
1319−Parse base-32 string
1320−
1321−Parsing rule. Parses a raw base-32 string.
1322−
1323−Accepts
1324−-------
1325−
1326−Produces
1327−--------
1328−
1329−Source
1330−------
1331−
1332− ++ vum (bass 32 (plus siv:ab))
1333−
1334−Examples
1335−--------
1336−
1337− ~zod/try=> (scan "e2ol4pm" vum:ag)
1338− q=15.125.353.270
1339−
1340−------------------------------------------------------------------------
1341−
1342−### `++wiz`
1343−
1344−Parse base-64
1345−
1346−Parsing rule. Parses a base-64 number.
1347−
1348−Accepts
1349−-------
1350−
1351−Produces
1352−--------
1353−
1354−Source
1355−------
1356−
1357− ++ wiz (ape (bass 0x4000.0000 ;~(plug pew:ab (star ;~(pfix dog piw:ab)))))
1358− --
1359− ::
1360−
1361−Examples
1362−--------
1363−
1364− ~zod/try=> (scan "e2O.l4Xpm" wiz:ag)
1365− q=61.764.130.813.526
1366−
1367−***