diff --git a/README.md b/README.md index 37b03bc..3df933b 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,8 @@ A simple programming language. ## Features -* Fast compilation -* High performance -* Small binaries +* 🔥 Fast compilation +* 📦 Small binaries ## Installation diff --git a/examples/fibonacci/fibonacci.q b/examples/fibonacci/fibonacci.q new file mode 100644 index 0000000..c188e38 --- /dev/null +++ b/examples/fibonacci/fibonacci.q @@ -0,0 +1,19 @@ +import sys + +main() { + let f = fibonacci(11) + sys.exit(f) +} + +fibonacci(n Int) -> Int { + mut b = 0 + mut c = 1 + + for 0..n { + let a = b + b = c + c = a + b + } + + return b +} diff --git a/examples/hello/hello.q b/examples/hello/hello.q index d974d48..4f723f0 100644 --- a/examples/hello/hello.q +++ b/examples/hello/hello.q @@ -1,3 +1,3 @@ main() { - + print("Hello") } diff --git a/main.go b/main.go index 2a518ef..60febb9 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,7 @@ package main import ( "os" - "git.akyoto.dev/cli/q/cli" + "git.akyoto.dev/cli/q/src/cli" ) func main() { diff --git a/build/Build.go b/src/build/Build.go similarity index 93% rename from build/Build.go rename to src/build/Build.go index 368b711..0d3df91 100644 --- a/build/Build.go +++ b/src/build/Build.go @@ -7,10 +7,10 @@ import ( "path/filepath" "strings" - "git.akyoto.dev/cli/q/directory" - "git.akyoto.dev/cli/q/elf" - "git.akyoto.dev/cli/q/errors" - "git.akyoto.dev/cli/q/log" + "git.akyoto.dev/cli/q/src/directory" + "git.akyoto.dev/cli/q/src/elf" + "git.akyoto.dev/cli/q/src/errors" + "git.akyoto.dev/cli/q/src/log" ) // Build describes a compiler build. diff --git a/cli/Build.go b/src/cli/Build.go similarity index 87% rename from cli/Build.go rename to src/cli/Build.go index 7c8eac5..47e76db 100644 --- a/cli/Build.go +++ b/src/cli/Build.go @@ -1,8 +1,8 @@ package cli import ( - "git.akyoto.dev/cli/q/build" - "git.akyoto.dev/cli/q/log" + "git.akyoto.dev/cli/q/src/build" + "git.akyoto.dev/cli/q/src/log" ) // Build builds an executable. diff --git a/cli/Help.go b/src/cli/Help.go similarity index 89% rename from cli/Help.go rename to src/cli/Help.go index e34dc6c..35fa8cd 100644 --- a/cli/Help.go +++ b/src/cli/Help.go @@ -1,7 +1,7 @@ package cli import ( - "git.akyoto.dev/cli/q/log" + "git.akyoto.dev/cli/q/src/log" ) // Help shows the command line argument usage. diff --git a/cli/Main.go b/src/cli/Main.go similarity index 100% rename from cli/Main.go rename to src/cli/Main.go diff --git a/cli/System.go b/src/cli/System.go similarity index 95% rename from cli/System.go rename to src/cli/System.go index 36fde71..d76f565 100644 --- a/cli/System.go +++ b/src/cli/System.go @@ -4,7 +4,7 @@ import ( "os" "runtime" - "git.akyoto.dev/cli/q/log" + "git.akyoto.dev/cli/q/src/log" ) // System shows system information. diff --git a/cli/cli_test.go b/src/cli/cli_test.go similarity index 93% rename from cli/cli_test.go rename to src/cli/cli_test.go index 111df5d..eb51e18 100644 --- a/cli/cli_test.go +++ b/src/cli/cli_test.go @@ -5,8 +5,8 @@ import ( "os" "testing" - "git.akyoto.dev/cli/q/cli" - "git.akyoto.dev/cli/q/log" + "git.akyoto.dev/cli/q/src/cli" + "git.akyoto.dev/cli/q/src/log" "git.akyoto.dev/go/assert" ) diff --git a/directory/Walk.go b/src/directory/Walk.go similarity index 100% rename from directory/Walk.go rename to src/directory/Walk.go diff --git a/elf/ELF64.go b/src/elf/ELF.go similarity index 100% rename from elf/ELF64.go rename to src/elf/ELF.go diff --git a/elf/Header.go b/src/elf/Header.go similarity index 100% rename from elf/Header.go rename to src/elf/Header.go diff --git a/elf/ProgramHeader.go b/src/elf/ProgramHeader.go similarity index 100% rename from elf/ProgramHeader.go rename to src/elf/ProgramHeader.go diff --git a/elf/SectionHeader.go b/src/elf/SectionHeader.go similarity index 100% rename from elf/SectionHeader.go rename to src/elf/SectionHeader.go diff --git a/elf/elf.md b/src/elf/elf.md similarity index 100% rename from elf/elf.md rename to src/elf/elf.md diff --git a/errors/InvalidPath.go b/src/errors/InvalidPath.go similarity index 100% rename from errors/InvalidPath.go rename to src/errors/InvalidPath.go diff --git a/log/log.go b/src/log/log.go similarity index 100% rename from log/log.go rename to src/log/log.go