mirror of
https://github.com/urbit/shrub.git
synced 2025-01-05 19:46:50 +03:00
Make the +hood parser use +parse-scaffold. Also, error checking.
This commit is contained in:
parent
fdcfebb73d
commit
8a521f4e80
@ -2213,7 +2213,7 @@
|
|||||||
%- my :~
|
%- my :~
|
||||||
:- [%cx [[~nul %desk %da ~1234.5.6] /hoon/bar/foo]]
|
:- [%cx [[~nul %desk %da ~1234.5.6] /hoon/bar/foo]]
|
||||||
:* %noun scry-type
|
:* %noun scry-type
|
||||||
'|=(a=@ud +(a))'
|
'!. |=(a=@ud +(a))'
|
||||||
==
|
==
|
||||||
==
|
==
|
||||||
::
|
::
|
||||||
@ -2229,8 +2229,16 @@
|
|||||||
::
|
::
|
||||||
^= moves
|
^= moves
|
||||||
:~ :* duct=~[/hood] %give %made ~1234.5.6 %complete %success %hood
|
:~ :* duct=~[/hood] %give %made ~1234.5.6 %complete %success %hood
|
||||||
[309 ~ ~ ~ [%direct (ream '|=(a=@ud +(a))')]~]
|
:* zuse-version=309
|
||||||
==
|
structures=~
|
||||||
|
libraries=~
|
||||||
|
cranes=~
|
||||||
|
^= sources
|
||||||
|
:~ :* %direct
|
||||||
|
%dbug
|
||||||
|
[/~nul/desk/0/foo/bar/hoon [1 1] [1 19]]
|
||||||
|
(ream '|=(a=@ud +(a))')
|
||||||
|
== == == ==
|
||||||
:* duct=~ %pass /~nul/clay-sub/~nul/desk
|
:* duct=~ %pass /~nul/clay-sub/~nul/desk
|
||||||
%c %warp [~nul ~nul] %desk
|
%c %warp [~nul ~nul] %desk
|
||||||
`[%mult [%da ~1234.5.6] (sy [%x /foo/bar/hoon] ~)]
|
`[%mult [%da ~1234.5.6] (sy [%x /foo/bar/hoon] ~)]
|
||||||
|
@ -2890,17 +2890,29 @@
|
|||||||
::
|
::
|
||||||
?: ?=([%error *] u.scry-result)
|
?: ?=([%error *] u.scry-result)
|
||||||
[build [%build-result u.scry-result] accessed-builds]
|
[build [%build-result u.scry-result] accessed-builds]
|
||||||
=+ result=(result-to-cage u.scry-result)
|
=+ as-cage=(result-to-cage u.scry-result)
|
||||||
|
:: hoon files must be atoms to parse
|
||||||
::
|
::
|
||||||
:: TODO: parse as ford-hoon, now plain hoon
|
?. ?=(@ q.q.as-cage)
|
||||||
|
:* build
|
||||||
|
[%build-result %error [%leaf "ford: %hood: file not an atom"]~]
|
||||||
|
accessed-builds
|
||||||
|
==
|
||||||
::
|
::
|
||||||
:: ford has its own parser, +fair, which parses cranes in addition to
|
=* src-beam [[ship.disc desk.disc [%ud 0]] spur]:source-path
|
||||||
:: normal hoon. eventually, we want to use that but for now, we'll
|
=/ parsed
|
||||||
:: just get normal hoon working.
|
((full (parse-scaffold src-beam)) [1 1] (trip q.q.as-cage))
|
||||||
::
|
::
|
||||||
=/ =scaffold
|
?~ q.parsed
|
||||||
[309 ~ ~ ~ [%direct (ream ((hard @) q.q.result))]~]
|
:* build
|
||||||
[build [%build-result %success %hood scaffold] accessed-builds]
|
:* %build-result
|
||||||
|
%error
|
||||||
|
[%leaf "syntax error: {<p.p.parsed>} {<q.p.parsed>}"]~
|
||||||
|
==
|
||||||
|
accessed-builds
|
||||||
|
==
|
||||||
|
::
|
||||||
|
[build [%build-result %success %hood p.u.q.parsed] accessed-builds]
|
||||||
::
|
::
|
||||||
++ path-impl
|
++ path-impl
|
||||||
|= [=disc prefix=@tas raw-path=@tas]
|
|= [=disc prefix=@tas raw-path=@tas]
|
||||||
|
Loading…
Reference in New Issue
Block a user