summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--macros.h30
-rw-r--r--main.c17
-rwxr-xr-xrun3
3 files changed, 50 insertions, 0 deletions
diff --git a/macros.h b/macros.h
new file mode 100644
index 0000000..624ad11
--- /dev/null
+++ b/macros.h
@@ -0,0 +1,30 @@
+#ifndef MACROS_H
+#define MACROS_H
+
+#include <stdio.h>
+
+typedef int zahl;
+typedef char buchstabe;
+typedef unsigned char haps; /* Byte */
+
+#define eingang main
+#define start {
+#define ende }
+#define ist ==
+#define nicht !=
+#define soll =
+#define gleich =
+#define sein ;
+#define sofort ;
+#define wenn if
+#define ansonsten else
+#define mache do
+#define solange while
+#define verkleinern --
+#define vergroesseren ++
+#define minus -
+#define groesser >
+#define kleiner <
+#define antworten return
+
+#endif
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..2ab15dd
--- /dev/null
+++ b/main.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include "macros.h"
+
+zahl eingang() start
+ zahl a soll 42 sein
+
+ wenn (a nicht 42)
+ printf("%d\n", 42) sofort
+ ansonsten wenn (a ist 42)
+ printf("ok\n") sofort
+
+ mache
+ a verkleinern sofort
+ solange (a groesser 0) sein
+
+ antworten a sofort
+ende
diff --git a/run b/run
new file mode 100755
index 0000000..0d704b3
--- /dev/null
+++ b/run
@@ -0,0 +1,3 @@
+#!/usr/bin/env sh
+
+gcc -Wall -Wextra -pedantic-errors -std=c99 main.c && ./a.out && rm a.out