# HG changeset patch # User Mike Pavone # Date 1242189792 14400 # Node ID a4d2d633a3564dde61193963b7cdecdfefcdeeff # Parent 0c5f24b4f69d81a2b2d761ffc1c6e23cd484d36e Groundwork for parsing expressions in new parser diff -r 0c5f24b4f69d -r a4d2d633a356 parse.rhope --- a/parse.rhope Wed Apr 29 23:59:13 2009 -0400 +++ b/parse.rhope Wed May 13 00:43:12 2009 -0400 @@ -47,6 +47,67 @@ out <- [node]Outputs <<[[[node]Outputs >>]Append[output]] } +Blueprint Statement +{ + Expression + Assignments + Blocks +} + +Statement[expression,assignments:out] +{ + out <- [[[Build["Statement"]]Expression <<[expression]]Assignments <<[assignments]]Blocks <<[()] +} + +Add Block@Statement[statement,block:out] +{ + out <- [statement]Blocks <<[ [[statement]Blocks >>]Append[block] ] +} + +Blueprint Worker Expression +{ + Worker + Blueprint + Arguments +} + +Blueprint Global Expression +{ + Store + Variable +} + +Blueprint Pipe Expression +{ + Name +} + +Pipe Expression[name:out] +{ + out <- [Build["Pipe Expression"]]Name <<[name] +} + +Blueprint Block +{ + Tree +} + +Block[:out] +{ + out <- [Build["Block"]]Tree <<[()] +} + +Blueprint Field Expression +{ + Name + Set? +} + +Field Expression[name,set?:out] +{ + out <- [[Build["Field Expression"]]Name <<[name]]Set? <<[set?] +} + Body[node,tokens,current,depth:out,out index, done] { Print[["Body: Depth="]Append[depth]]