git » unicorn-sparkle-basic.git » commit 2f0007b

factor read_loop() out of main()

author Alan Dipert
2024-01-07 06:32:58 UTC
committer Alan Dipert
2024-01-07 06:32:58 UTC
parent c2171bfde3ea6d27f02904473219b9eddadfb350

factor read_loop() out of main()

main.c +14 -4

diff --git a/main.c b/main.c
index eccf205..519bdbe 100644
--- a/main.c
+++ b/main.c
@@ -4,13 +4,23 @@
 
 extern int yyparse();
 
-int main() {
-  printf("Welcome to Buckaroo Basic!\n");
+struct node_tag* read_line() {
+  if (yyparse()) return NULL;
+  return ast_last_numbered_line;
+}
+
+void read_loop() {
+  struct node_tag* line;
   while (1) {
-    if(!yyparse()) {
+    if ((line = read_line())) {
       printf("It parsed :-)\n");
-      printf("linum: %d\n", ast_last_numbered_line->data.line.linum);
+      printf("linum: %d\n", line->data.line.linum);      
     }
   }
+}
+
+int main() {
+  printf("Welcome to Buckaroo Basic!\n");
+  read_loop();
   return 0;
 }