Skip to content

Instantly share code, notes, and snippets.

@Blecki
Created February 25, 2013 05:49
Show Gist options
  • Select an option

  • Save Blecki/5028014 to your computer and use it in GitHub Desktop.

Select an option

Save Blecki/5028014 to your computer and use it in GitHub Desktop.
Machine generated code in MISP
(lastarg
(defun make-segment ^((arg route)(arg miles)(arg rboxes)(arg cboxes)) (record (route route ) (miles miles ) (rb rboxes ) (cb cboxes ) ) "Script-defined function")
(defun make-route ^((arg number)(arg bf)(arg lf)(arg m)(arg r)(arg c)) (let ((route (record (n number ) (bf bf ) (lf lf ) ) ) ) (lastarg (set route segments ^((make-segment route m r c ) ) ) route ) ) "Script-defined function")
(defun segment-value ^((arg segment)) (+ (* segment.miles 12.0 ) (* segment.rb (+ segment.route.bf segment.route.lf ) ) ) "Script-defined function")
(defun proute ^((arg r)) (nop (printf "Route {0,3} BF:{1} LF:{2} Total Value:{3}\n" r.n r.bf r.lf (route-value r ) ) (mapi s r.segments (nop (printf "{0} - " s ) (psegment (index r.segments s ) ) ) ) ) "Script-defined function")
(defun route-value ^((arg route)) (+ $(map seg route.segments (segment-value seg ) ) ) "Script-defined function")
(defun psegment ^((arg s)) (printf "{0,5} : {1} | MILES:{2} RB:{3} CB:{4}\n" (segment-value s ) s.comment s.miles s.rb s.cb ) "Script-defined function")
(defun split-segment ^((arg s)(arg m)(arg rb)(arg cb)) (let ((ns (make-segment s.route m rb cb ) ) ) (nop (multi-set s (miles (- s.miles m ) ) (rb (- s.rb rb ) ) (cb (- s.cb cb ) ) ) (set s.route segments (cat s.route.segments ns ) ) ) ) "Script-defined function")
(defun segment ^((arg r)(arg i)) (index r.segments i ) "Script-defined function")
(let ^(
^("lambdas" ^(
)
)
^("objects" (array 3 (record)))
)
(lastarg
(set make-segment "@declaration-scope"
(record
(foo (index objects 0))
)
)
(set make-route "@declaration-scope"
(record
(foo (index objects 0))
)
)
(set segment-value "@declaration-scope"
(record
(foo (index objects 1))
)
)
(set proute "@declaration-scope"
(record
(foo (index objects 1))
)
)
(set route-value "@declaration-scope"
(record
(foo (index objects 1))
)
)
(set psegment "@declaration-scope"
(record
(foo (index objects 1))
)
)
(set split-segment "@declaration-scope"
(record
(foo (index objects 1))
)
)
(set segment "@declaration-scope"
(record
(foo (index objects 1))
)
)
(multi-set (index objects 0)
(route null)
(bar 42)
)
(multi-set (index objects 1)
(n 1)
(bf 3.4)
(lf 2)
(segments ^((record
(route (index objects 1))
(miles 14)
(rb 412)
(cb 0)
(comment "Core")
)
(record
(route (index objects 1))
(miles 10)
(rb 100)
(cb 0)
(comment "Street Names")
)
))
)
(multi-set (index objects 2)
(foo (index objects 1))
)
(index objects 2))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment