pseudo-lisp interpreter in as3
Name:
Anonymous
2013-05-12 23:23
http://54.245.123.189/ScrapePlayer/
it's been my autistic nikita-esque side project for a while
It's also a web scraper and music streamer as well
Name:
Anonymous
2013-05-12 23:29
>>2
lrn2symta
(to remove-sioc xs ; removes symta indentation of code
! p = position-if (! fn x :> find x '("|" "=" "=>" ":") :test 'equal)
xs
! unless p :> return-from remove-sioc xs
! sym = elt xs p
! pref = subseq xs 0 p
! xs = subseq xs p (length xs)
! body = cdr xs
! zs = nil
! when equal sym "=>" :> return-from remove-sioc (remove-sioc `("to" ,@pref ":" ,@body))
! when equal sym "=" :> return-from remove-sioc (remove-sioc `("my" ,@pref ":" ,@body))
! when equal sym ":"
! ! unless pref :> setf pref '(:void)
! ! r = remove-sioc `(,(car pref) ("@" ("list" ,@(cdr pref))) ,(remove-sioc body))
! ! return-from remove-sioc r
! while xs
! ! pop xs
! ! ys = nil
! ! while equal (car xs) "|" :> push (pop xs) ys
! ! while and xs (not (equal (car xs) "|")) :> push (pop xs) ys
! ! ys = nreverse ys
! ! if equal (car ys) "|"
! ! ! push (append (pop zs) ys) zs
! ! ! push ys zs
! xs = map xs (nreverse zs) :> remove-sioc xs
! when pref :> setf xs `(,(car pref) ("@" ("list" ,@(cdr pref))) ,@xs)
! xs)
Newer Posts