aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-11-14 18:36:17 -0500
committerFranklin Wei <git@fwei.tk>2015-11-14 18:36:17 -0500
commitac48cdb00bbb4c63f62a3021ef2bdf287b3404d2 (patch)
tree8cbc8ad08a09e5df184dcdb5595606da4c9ae3d5 /README.md
parenta4333ae115410c7d218b029f4ce66b09b2bb374c (diff)
downloadducky-ac48cdb00bbb4c63f62a3021ef2bdf287b3404d2.zip
ducky-ac48cdb00bbb4c63f62a3021ef2bdf287b3404d2.tar.gz
ducky-ac48cdb00bbb4c63f62a3021ef2bdf287b3404d2.tar.bz2
ducky-ac48cdb00bbb4c63f62a3021ef2bdf287b3404d2.tar.xz
add readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md64
1 files changed, 64 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a40367c
--- /dev/null
+++ b/README.md
@@ -0,0 +1,64 @@
+Ducky
+=====
+
+## Introduction
+
+Ducky is a BASIC-like programming language originally insipred by Duckyscript, the USB Rubber Ducky's scripting language.
+
+## Examples
+
+### Hello World
+
+ #!/bin/ducky
+ LOG Hello, world!
+ NEWLINE
+
+Simple!
+
+### Fibonacci Sequence
+
+ #!/bin/ducky
+ LET a = 0; LET b = 0; LET iter = 0
+ LABEL loop_start
+ LOGVAR a
+ LET c = a+b
+ LET a = b
+ LET b = c
+ INC iter
+ IF iter < 20; GOTO loop_start
+ LOG Done!
+
+## Building
+
+POSIX systems are supported, as are some Rockbox targets.
+
+### Unix/Linux
+
+ make
+ sudo make install
+
+This installs the `/bin/ducky` binary.
+
+## Usage
+
+### Running Directly (no compilation)
+
+ ducky scriptname.ds
+
+### Compiling to bytecode
+
+ ducky -c scriptname.ds
+
+This will create `a.out`, which contains the bytecode.
+
+### Executing bytecode
+
+ ducky a.out
+
+## Future Directions
+
+ - Compile to C?
+ - Refactor code
+ - Add more builtins
+ - Arrays?
+ - Functions?