From 2e0015c9bef63f038c58543f27502b2fd1d7b399 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Grodzi=C5=84ski?= Date: Sat, 5 Jul 2025 10:38:25 +0900 Subject: [PATCH] Added test app --- .gitignore | 1 - apps/fib.brc | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 apps/fib.brc diff --git a/.gitignore b/.gitignore index 57b7346..0f82e52 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,4 @@ brb .vscode/settings.json *.dSYM -*.brc build/ \ No newline at end of file diff --git a/apps/fib.brc b/apps/fib.brc new file mode 100644 index 0000000..6993ecf --- /dev/null +++ b/apps/fib.brc @@ -0,0 +1,34 @@ +@extern putchar fun: character sint32 -> sint32 + +fib fun: number sint32 -> sint32 + ret if number < 2: + number + else + fib(number - 1) + fib(number - 2) + ; +; + +printNum fun: number sint32 + biggest sint32 <- 10 + rep biggest <= number: biggest <- biggest * 10 + biggest <- biggest / 10 + + rep biggest > 0: + digit sint32 <- number / biggest + putchar(digit + '0') + number <- number % biggest + biggest <- biggest / 10 + ; +; + +// Print 20 first fibonacci numbers +main fun -> sint32 + rep i sint32 <- 0, i < 20: + res sint32 <- fib(i) + printNum(res) + putchar('\n') + i <- i + 1 + ; + + ret 0 +; \ No newline at end of file