30 lines
848 B
Gnuplot
30 lines
848 B
Gnuplot
|
|
; LISP style
|
|
(do
|
|
(println (+ 2 3))
|
|
(println (- 2 3))
|
|
(println (* 2 3))
|
|
(println (/ 2 3))
|
|
(println "howdy")
|
|
)
|
|
|
|
; let's add some stuff to our grammer...
|
|
(add_grammer_rule :semi_forms [:form ";"] (fn* (xs) (list (first xs))))
|
|
(add_grammer_rule :semi_forms [:form ";" :optional_WS :semi_forms ] (fn* (xs) (cons (first xs) (nth xs 3))))
|
|
(add_grammer_rule :form ["{" :optional_WS :semi_forms :optional_WS "}"] (fn* (xs) `(do ,(nth xs 2))))
|
|
(add_grammer_rule :form [:atom :form ] (fn* (xs) `(~(first xs) ,(nth xs 1))))
|
|
(add_grammer_rule :form [:form :optional_WS "$" :atom :optional_WS :form] (fn* (xs) `(~(nth xs 3) ~(nth xs 0) ~(nth xs 5))))
|
|
|
|
; C style
|
|
{
|
|
println( 2 $+ 3 );
|
|
println( 2 $- 3 );
|
|
println( 2 $* 3 );
|
|
println( 2 $/ 3 );
|
|
println("howdy");
|
|
}
|
|
|
|
; combo
|
|
(println (list 1 2 4 $+ 5))
|
|
{ println( (+ 2 3) ); }
|