on master help sign in
Added labels
9054a67iko
zod/luau/lib/lua.hoon+28
@@ -464,6 +464,7 @@
464 $%
464 $%
465 [%blok blok]
465 [%blok blok]
466 [%asmnt varlist exprlist]
466 [%asmnt varlist exprlist]
467+ [%label label]
467 [%empty ~]
468 [%empty ~]
468 ==
469 ==
469++ parse-stat
470++ parse-stat
@@ -472,6 +473,10 @@
472 ;~ pose
473 ;~ pose
473 (cold [%empty ~] (just ';'))
474 (cold [%empty ~] (just ';'))
474 ::
475 ::
476+ %+ cook
477+ |= =label [%label label]
478+ parse-label
479+ ::
475 %+ cook
480 %+ cook
476 |=([* =blok *] [%blok blok])
481 |=([* =blok *] [%blok blok])
477 ;~ (glue wss)
482 ;~ (glue wss)
@@ -501,6 +506,29 @@
501 "="
506 "="
502 (commaed (turn +>.stat print-expr))
507 (commaed (turn +>.stat print-expr))
503 ==
508 ==
509+ %label (print-label +.stat)
510+ ==
511+:: label
512+::
513++$ label name
514+++ print-label
515+ |= =label
516+ ^- tape
517+ %- zing
518+ :~
519+ "::"
520+ (trip label)
521+ "::"
522+ ==
523+++ parse-label
524+ %+ knee *label
525+ |.
526+ %+ cook
527+ |= [* =label *] label
528+ ;~ (glue ws)
529+ (jest '::')
530+ parse-name
531+ (jest '::')
504 ==
532 ==
505:: Blok
533:: Blok
506::
534::
zod/luau/tests/foo.lua+3−1
@@ -37,7 +37,9 @@ test_cases = {
37 { 0x800000000000, "1.4073748835533e+14" },
37 { 0x800000000000, "1.4073748835533e+14" },
38 { 140737488355328, "1.4073748835533e+14" },
38 { 140737488355328, "1.4073748835533e+14" },
39}
39}
40−
40+::
41+helli
42+::
41foo = {
43foo = {
42 3.0, 3.1416, 314.16e-2, 0.31416E1, 34e1,
44 3.0, 3.1416, 314.16e-2, 0.31416E1, 34e1,
43 0x0.1E, 0xA23p-4, 0xA23p-4, 0X1.921FB54442D18P+1, 0x1.fp10
45 0x0.1E, 0xA23p-4, 0xA23p-4, 0X1.921FB54442D18P+1, 0x1.fp10