README.md modification and hello world go
authorOscar josue Rodriguez Blanco <josuer08@gmail.com>
Tue, 3 Jan 2023 03:15:21 +0000 (03:15 +0000)
committerOscar josue Rodriguez Blanco <josuer08@gmail.com>
Tue, 3 Jan 2023 03:15:21 +0000 (03:15 +0000)
README.md
compiler.go [new file with mode: 0644]
go.mod [new file with mode: 0644]

index 5d8701ee9af1ca68eeb13455798058e8e4b781e4..22e1229a1d405b9b57ed3bf4b96a82e13fe98e86 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1 +1,26 @@
 # TinyThreePassCompiler
+
+# The problem
+
+This problem is derived from the [Tiny Three-Pass Compiler kata from codewars](https://www.codewars.com/kata/5265b0885fda8eac5900093b)
+and  basically it is about writing a three-pass compiler for a simple programming
+language into a small assembly language which syntax is like follows:
+
+```bash
+[ a b ] a*a + b*b
+```
+> a^2 + b^2
+
+```bash
+[ first second ] (first + second) / 2
+```
+> average of two numbers
+
+
+# How is this implementation different from the original kata
+
+The plan for this implementation is to make it work not with JSON structures but
+with protocol buffers, the reason is basically just to practice those technologies
+but it is also true that in a real compiler saving and transporting binaries and
+not text as it would be the case for JSON could mean a significant improvement.
+
diff --git a/compiler.go b/compiler.go
new file mode 100644 (file)
index 0000000..84e3f54
--- /dev/null
@@ -0,0 +1,7 @@
+package main
+
+import "fmt"
+
+func main() {
+    fmt.Println("Hello, world.")
+}
diff --git a/go.mod b/go.mod
new file mode 100644 (file)
index 0000000..e73107b
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,3 @@
+module TinyThreePassCompiler
+
+go 1.19