zkas: add code comments

This commit is contained in:
x
2022-10-17 09:11:20 +00:00
parent 7063ccaf6c
commit 673d166311

View File

@@ -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!(),
};
}