cirru-script v0.6.2
CirruScript: a JavaScript generator in Cirru Grammar
Live Docs: http://script.cirru.org/
Play with CirruScript by typing in here: http://repo.cirru.org/script/
The AST transformer of CirruScript is Scirpus https://github.com/Cirru/scirpus .
Usage
yarn add cirru-scriptHere is a demo of calling compiler:
script = require 'cirru-script'
code = "console.log :demo"
script.compile codeCommand-line tool
By installing CirruScript at global, you'll get command cirruscript(and crs for short):
npm i -g cirru-scriptcirruscript
# enter REPL
cirruscript>cirruscript a.cirru
# evaluates a fileFile compiling and SourceMaps support might come in the future.
Add DISPLAY_JS for displaying compiled js:
DISPLAY_JS=true cirruscript a.cirrucompile sub-command can compile code:
cirruscript compile from-dir to-dirInjected functions
There are several command built into REPL for convenience.
Copying data as a string
console.copy :demoTurn on DISPLAY_JS during REPL running:
console.DISPLAY_JS trueSyntax
-- "test assignment"
= a 1
= b :string
= c true
= d undefined
= e /^hello\sworld$
-- "test values"
console.log 1
console.log a b c
array 1 2 3
console.log $ object (:a 1) (:b :)
:c $ array 1
-- "combine"
console.log $ array 1 2 3
= e $ array 1 2
= f $ object
:a 1
:c :nothing
... gulp
src :src/**/*.cirru (object (:base :src))
pipe $ script (object (:dest :../lib))
pipe $ rename (object (:extname :.js))
pipe $ gulp.dest :./lib
> 2 1
+ 1 2 3
and (> 2 1) true
not a
not (+ a 1)
new String :x :y
. a :b
? a
in a b
= list $ array 1 2 3 4 5
= obj $ object (:a 1) (:b 2)
= a 1
if (> a 1)
do
console.log true
console.log true
console.log true
do
console.log false
= b $ cond (> a 1) :>1 :<=1
console.log b
= f1 $ \ (a b)
= a $ + a 2
console.log a b
= f2 $ \ (a)
= a 1
, a
= f3 $ \ ((xs))
= head $ . xs 0
= body $ xs.slice 1
return body.length
switch a
1 :1
2
console.log 1
console.log 2
else a
switch 3
3 :3
else :else
switch true
(> a 1) :1
(> 2 3) :2
else
console.log 2
console.log 2
set a 4
switch true
(> a 2) :large
else :small
throw $ new Error ":just an error"
try
do
print x
error
console.error error
try
do
print y
errLicense
MIT
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago