Browse Source

todo parser logic - just return text now

221V 4 weeks ago
parent
commit
183fc310e6
2 changed files with 9 additions and 2 deletions
  1. 2 1
      source/dopp.d
  2. 7 1
      source/dopp_parser.d

+ 2 - 1
source/dopp.d

@@ -221,7 +221,8 @@ auto z = 1;
   
   auto tokens = tokenize(source);
   writeln(tokens);
-  //parse(tokens);
+  auto result = parse(tokens); // indent_out = 2 (whitespaces in output-generated code)
+  writeln(result);
   
   
   

+ 7 - 1
source/dopp_parser.d

@@ -2,9 +2,12 @@
 import dopp;
 
 // Parser checks tokens for correct program
-export void parse(Token[] tokens){
+//export void parse(Token[] tokens){
+export string parse(Token[] tokens){
+  string result;
   auto i = 0;
   while(i < tokens.length){
+    /+
     if(tokens[i].type == TokenType.Keyword && tokens[i].lexeme == "if"){
       if(i + 2 < tokens.length && tokens[i+1].type == TokenType.Symbol && tokens[i+1].lexeme == "("){ // if begins
         writeln("Found 'if' statement");
@@ -48,7 +51,10 @@ export void parse(Token[] tokens){
         return;
       }
     }
+    +/
+    result ~= tokens[i].lexeme; // for just show all text
     i++; // goto next token
   }
+  return result;
 }