mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-24 15:34:10 +03:00
clay: added mark runes; can boot off solid pill
This commit is contained in:
parent
353e0f7395
commit
ad20ddb1d4
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd51d827ed2bd4823a87caa953ce9a508d6a390442246198b093b0c39fa4e5ed
|
||||
size 8763109
|
||||
oid sha256:789c5755516cf60993f01d6842437c9cf487b24fa6fca8d27f2ff52f9ec79364
|
||||
size 8824140
|
||||
|
@ -343,7 +343,7 @@
|
||||
[%| p.res]
|
||||
:- %&
|
||||
~? > debug %parsed-good
|
||||
((cury tab-list-hoon sut) hoon.p.res)
|
||||
((cury tab-list-hoon sut) hoon:`pile:clay`p.res)
|
||||
::
|
||||
:: Generators
|
||||
++ tab-generators
|
||||
|
@ -5,75 +5,59 @@
|
||||
++ pile-rule
|
||||
|= pax=path
|
||||
%- full
|
||||
%+ ifix [gay gay]
|
||||
%+ cook |=(pile +<)
|
||||
;~ pfix
|
||||
%+ ifix
|
||||
:_ gay
|
||||
:: parse optional /? and ignore
|
||||
::
|
||||
;~ pose
|
||||
(cold ~ ;~(plug fas wut gap dem gap))
|
||||
(easy ~)
|
||||
;~(plug gay (punt ;~(plug fas wut gap dem gap)))
|
||||
|^
|
||||
;~ plug
|
||||
%+ cook (bake zing (list (list taut)))
|
||||
%+ rune hep
|
||||
(most ;~(plug com gaw) taut-rule)
|
||||
::
|
||||
%+ cook (bake zing (list (list taut)))
|
||||
%+ rune lus
|
||||
(most ;~(plug com gaw) taut-rule)
|
||||
::
|
||||
%+ rune tis
|
||||
;~(plug sym ;~(pfix gap fas (more fas urs:ab)))
|
||||
::
|
||||
%+ rune cen
|
||||
;~(plug sym ;~(pfix cen sym))
|
||||
::
|
||||
%+ rune buc
|
||||
;~ (glue gap)
|
||||
sym
|
||||
;~(pfix cen sym)
|
||||
;~(pfix cen sym)
|
||||
==
|
||||
::
|
||||
;~ plug
|
||||
;~ pose
|
||||
;~ sfix
|
||||
%+ cook |=((list (list taut)) (zing +<))
|
||||
%+ more gap
|
||||
;~ pfix ;~(plug fas hep gap)
|
||||
(most ;~(plug com gaw) taut-rule)
|
||||
==
|
||||
gap
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
::
|
||||
;~ pose
|
||||
;~ sfix
|
||||
%+ cook |=((list (list taut)) (zing +<))
|
||||
%+ more gap
|
||||
;~ pfix ;~(plug fas lus gap)
|
||||
(most ;~(plug com gaw) taut-rule)
|
||||
==
|
||||
gap
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
::
|
||||
;~ pose
|
||||
;~ sfix
|
||||
%+ cook |=((list [face=term =path]) +<)
|
||||
%+ more gap
|
||||
;~ pfix ;~(plug fas tis gap)
|
||||
%+ cook |=([term path] +<)
|
||||
;~(plug sym ;~(pfix ;~(plug gap fas) (more fas urs:ab)))
|
||||
==
|
||||
gap
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
::
|
||||
;~ pose
|
||||
;~ sfix
|
||||
%+ cook |=((list [face=term =mark =path]) +<)
|
||||
%+ more gap
|
||||
;~ pfix ;~(plug fas tar gap)
|
||||
%+ cook |=([term mark path] +<)
|
||||
;~ plug
|
||||
sym
|
||||
;~(pfix ;~(plug gap cen) sym)
|
||||
;~(pfix ;~(plug gap fas) (more fas urs:ab))
|
||||
==
|
||||
==
|
||||
gap
|
||||
==
|
||||
(easy ~)
|
||||
==
|
||||
::
|
||||
%+ cook |=(huz=(list hoon) `hoon`tssg+huz)
|
||||
(most gap tall:(vang & pax))
|
||||
%+ rune tar
|
||||
;~ (glue gap)
|
||||
sym
|
||||
;~(pfix cen sym)
|
||||
;~(pfix fas (more fas urs:ab))
|
||||
==
|
||||
::
|
||||
%+ stag %tssg
|
||||
(most gap tall:(vang & pax))
|
||||
==
|
||||
::
|
||||
++ pant
|
||||
|* fel=^rule
|
||||
;~(pose fel (easy ~))
|
||||
::
|
||||
++ mast
|
||||
|* [bus=^rule fel=^rule]
|
||||
;~(sfix (more bus fel) bus)
|
||||
::
|
||||
++ rune
|
||||
|* [bus=^rule fel=^rule]
|
||||
%- pant
|
||||
%+ mast gap
|
||||
;~(pfix fas bus gap fel)
|
||||
--
|
||||
::
|
||||
++ taut-rule
|
||||
%+ cook |=(taut +<)
|
||||
|
@ -928,12 +928,16 @@
|
||||
:: /- sur-file :: surface imports from /sur
|
||||
:: /+ lib-file :: library imports from /lib
|
||||
:: /= face /path :: imports built hoon file at path
|
||||
:: /% face %mark :: imports mark definition from /mar
|
||||
:: /$ face %from %to :: imports mark converter from /mar
|
||||
:: /* face %mark /path :: unbuilt file imports, as mark
|
||||
::
|
||||
+$ pile
|
||||
$: sur=(list taut)
|
||||
lib=(list taut)
|
||||
raw=(list [face=term =path])
|
||||
maz=(list [face=term =mark])
|
||||
caz=(list [face=term =mars])
|
||||
bar=(list [face=term =mark =path])
|
||||
=hoon
|
||||
==
|
||||
|
@ -828,6 +828,8 @@
|
||||
=^ sut=vase nub (run-tauts bud %sur sur.pile)
|
||||
=^ sut=vase nub (run-tauts sut %lib lib.pile)
|
||||
=^ sut=vase nub (run-raw sut raw.pile)
|
||||
=^ sut=vase nub (run-maz sut maz.pile)
|
||||
=^ sut=vase nub (run-caz sut caz.pile)
|
||||
=^ sut=vase nub (run-bar sut bar.pile)
|
||||
=/ res=vase (road |.((slap sut hoon.pile)))
|
||||
[res nub]
|
||||
@ -865,6 +867,16 @@
|
||||
::
|
||||
%+ rune tis
|
||||
;~(plug sym ;~(pfix gap fas (more fas urs:ab)))
|
||||
::
|
||||
%+ rune cen
|
||||
;~(plug sym ;~(pfix cen sym))
|
||||
::
|
||||
%+ rune buc
|
||||
;~ (glue gap)
|
||||
sym
|
||||
;~(pfix cen sym)
|
||||
;~(pfix cen sym)
|
||||
==
|
||||
::
|
||||
%+ rune tar
|
||||
;~ (glue gap)
|
||||
@ -916,6 +928,22 @@
|
||||
=. p.pin [%face face.i.raw p.pin]
|
||||
$(sut (slop pin sut), raw t.raw)
|
||||
::
|
||||
++ run-maz
|
||||
|= [sut=vase maz=(list [face=term =mark])]
|
||||
^- [vase state]
|
||||
?~ maz [sut nub]
|
||||
=^ pin=vase nub (get-nave mark.i.maz)
|
||||
=. p.pin [%face face.i.maz p.pin]
|
||||
$(sut (slop pin sut), maz t.maz)
|
||||
::
|
||||
++ run-caz
|
||||
|= [sut=vase caz=(list [face=term =mars])]
|
||||
^- [vase state]
|
||||
?~ caz [sut nub]
|
||||
=^ pin=vase nub (get-cast mars.i.caz)
|
||||
=. p.pin [%face face.i.caz p.pin]
|
||||
$(sut (slop pin sut), caz t.caz)
|
||||
::
|
||||
++ run-bar
|
||||
|= [sut=vase bar=(list [face=term =mark =path])]
|
||||
^- [vase state]
|
||||
|
@ -18,7 +18,7 @@
|
||||
++ test-parse-pile ^- tang
|
||||
%+ expect-eq
|
||||
!> ^- pile:fusion
|
||||
:* ~ ~ ~ ~
|
||||
:* ~ ~ ~ ~ ~ ~
|
||||
tssg+[%dbug [/sur/foo/hoon [[1 1] [1 2]]] [%cnts ~[[%.y 1]] ~]]~
|
||||
==
|
||||
!> (parse-pile:(ford):fusion /sur/foo/hoon ".")
|
||||
@ -54,7 +54,7 @@
|
||||
[`%hood-drum %hood-drum]
|
||||
[`%hood-write %hood-write]
|
||||
==
|
||||
raw=~ bar=~
|
||||
raw=~ bar=~ maz=~ caz=~
|
||||
hoon=tssg+[p:(need q:(tall:(vang & /app/hood/hoon) [17 1] "."))]~
|
||||
==
|
||||
!> (parse-pile:(ford):fusion /app/hood/hoon src)
|
||||
|
Loading…
Reference in New Issue
Block a user