Răsfoiți Sursa

zkas: add code comments

x 3 ani în urmă
părinte
comite
673d166311
1 a modificat fișierele cu 9 adăugiri și 1 ștergeri
  1. 9 1
      src/zkas/parser.rs

+ 9 - 1
src/zkas/parser.rs

@@ -53,8 +53,11 @@ impl Parser {
         let mut contract_tokens = vec![];
         let mut circuit_tokens = vec![];
 
+        // Tokens belonging to the current statement
         let mut circuit_stmt = vec![];
+        // All completed statements are pushed here
         let mut circuit_stmts = vec![];
+        // Contains constant and contract sections
         let mut ast_inner = IndexMap::new();
         let mut ast = IndexMap::new();
 
@@ -239,8 +242,10 @@ impl Parser {
                 self.check_section_structure("circuit", circuit_tokens.clone());
                 check_namespace!(circuit_tokens);
 
+                // Grab tokens for each statement
                 for i in circuit_tokens[2..circuit_tokens.len() - 1].iter() {
                     if i.token_type == TokenType::Semicolon {
+                        // Push completed statement to the stack
                         circuit_stmts.push(circuit_stmt.clone());
                         circuit_stmt = vec![];
                         continue
@@ -253,6 +258,8 @@ impl Parser {
             }
         }
 
+        // Tokens have been processed and ast is complete
+
         let ns = namespace.unwrap();
         ast.insert(ns.clone(), ast_inner);
 
@@ -286,6 +293,7 @@ impl Parser {
         (ns, constants, witnesses, statements)
     }
 
+    /// Routine checks on section structure
     fn check_section_structure(&self, section: &str, tokens: Vec<Token>) {
         if tokens[0].token_type != TokenType::String {
             self.error.abort(
@@ -338,7 +346,7 @@ impl Parser {
                     );
                 }
             }
-            _ => panic!(),
+            _ => unreachable!(),
         };
     }