Skip to content

Commit

Permalink
rename UnitDec/UnitDec expression
Browse files Browse the repository at this point in the history
  • Loading branch information
NTTVy03 committed Feb 9, 2025
1 parent 1ac2f6b commit 6aec8c3
Show file tree
Hide file tree
Showing 6 changed files with 1,655 additions and 1,173 deletions.
2 changes: 1 addition & 1 deletion crates/parser/src/grammar/expression.rs
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ pub fn expression_rec(p: &mut Parser, pb: u16) -> Option<Marker> {
let open_marker = p.open_before(lhs);
// consume token ++/-- and do nothing
p.advance();
p.close(open_marker, Expression);
p.close(open_marker, kind);
}
_ => {
// not a postfix token
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -131,115 +131,112 @@ expression: "crate :: view_syntax :: view_ast(& syntax)"
| | | | EndLine 228..230 "\r\n"
| | | WhiteSpace 230..242
| | | | WhiteSpace 230..242 " "
| | | Statement 242..328
| | | | ForLoop 242..328
| | | | | ForKw 242..245
| | | | | | ForKw 242..245 "for"
| | | | | LParen 245..246
| | | | | | LParen 245..246 "("
| | | | | VarDecl 246..255
| | | | | | VarKw 246..249
| | | | | | | VarKw 246..249 "var"
| | | | | | WhiteSpace 249..250
| | | | | | | WhiteSpace 249..250 " "
| | | | | | VarIdentifier 250..252
| | | | | | | Identifier 250..251
| | | | | | | | Identifier 250..251 "i"
| | | | | | | WhiteSpace 251..252
| | | | | | | | WhiteSpace 251..252 " "
| | | | | | Assign 252..253
| | | | | | | Assign 252..253 "="
| | | | | | WhiteSpace 253..254
| | | | | | | WhiteSpace 253..254 " "
| | | | | | Expression 254..255
| | | | | | | ExpressionAtom 254..255
| | | | | | | | Number 254..255
| | | | | | | | | Number 254..255 "0"
| | | | | Semicolon 255..256
| | | | | | Semicolon 255..256 ";"
| | | | | WhiteSpace 256..257
| | | | | | WhiteSpace 256..257 " "
| | | | | Expression 257..264
| | | | | | LessThan 257..264
| | | | | | | ExpressionAtom 257..258
| | | | | | | | Identifier 257..258
| | | | | | | | | Identifier 257..258 "i"
| | | | | | | WhiteSpace 258..259
| | | | | | | | WhiteSpace 258..259 " "
| | | | | | | LessThan 259..260
| | | | | | | | LessThan 259..260 "<"
| | | | | | | WhiteSpace 260..261
| | | | | | | | WhiteSpace 260..261 " "
| | | | | | | Sub 261..264
| | | | | | | | ExpressionAtom 261..262
| | | | | | | | | Identifier 261..262
| | | | | | | | | | Identifier 261..262 "N"
| | | | | | | | Sub 262..263
| | | | | | | | | Sub 262..263 "-"
| | | | | | | | ExpressionAtom 263..264
| | | | | | | | | Number 263..264
| | | | | | | | | | Number 263..264 "1"
| | | | | Semicolon 264..265
| | | | | | Semicolon 264..265 ";"
| | | | | WhiteSpace 265..266
| | | | | | WhiteSpace 265..266 " "
| | | | | AssignStatement 266..269
| | | | | | Expression 266..269
| | | | | | | Expression 266..269
| | | | | | | | ExpressionAtom 266..267
| | | | | | | | | Identifier 266..267
| | | | | | | | | | Identifier 266..267 "i"
| | | | | | | | UnitInc 267..269
| | | | | | | | | UnitInc 267..269 "++"
| | | | | RParen 269..270
| | | | | | RParen 269..270 ")"
| | | | | Statement 270..328
| | | | | | Block 270..328
| | | | | | | LCurly 270..271
| | | | | | | | LCurly 270..271 "{"
| | | | | | | EndLine 271..273
| | | | | | | | EndLine 271..273 "\r\n"
| | | | | | | WhiteSpace 273..289
| | | | | | | | WhiteSpace 273..289 " "
| | | | | | | StatementList 289..327
| | | | | | | | Statement 289..313
| | | | | | | | | AssignStatement 289..312
| | | | | | | | | | Expression 289..297
| | | | | | | | | | | ArrayQuery 289..296
| | | | | | | | | | | | ExpressionAtom 289..293
| | | | | | | | | | | | | Identifier 289..293
| | | | | | | | | | | | | | Identifier 289..293 "comp"
| | | | | | | | | | | | LBracket 293..294
| | | | | | | | | | | | | LBracket 293..294 "["
| | | | | | | | | | | | Expression 294..295
| | | | | | | | | | | | | ExpressionAtom 294..295
| | | | | | | | | | | | | | Identifier 294..295
| | | | | | | | | | | | | | | Identifier 294..295 "i"
| | | | | | | | | | | | RBracket 295..296
| | | | | | | | | | | | | RBracket 295..296 "]"
| | | | | | | | | | | WhiteSpace 296..297
| | | | | | | | | | | | WhiteSpace 296..297 " "
| | | | | | | | | | Assign 297..298
| | | | | | | | | | | Assign 297..298 "="
| | | | | | | | | | WhiteSpace 298..299
| | | | | | | | | | | WhiteSpace 298..299 " "
| | | | | | | | | | Expression 299..312
| | | | | | | | | | | Call 299..312
| | | | | | | | | | | | ExpressionAtom 299..310
| | | | | | | | | | | | | Identifier 299..310
| | | | | | | | | | | | | | Identifier 299..310 "Multiplier2"
| | | | | | | | | | | | LParen 310..311
| | | | | | | | | | | | | LParen 310..311 "("
| | | | | | | | | | | | RParen 311..312
| | | | | | | | | | | | | RParen 311..312 ")"
| | | | | | | | | Semicolon 312..313
| | | | | | | | | | Semicolon 312..313 ";"
| | | | | | | | EndLine 313..315
| | | | | | | | | EndLine 313..315 "\r\n"
| | | | | | | | WhiteSpace 315..327
| | | | | | | | | WhiteSpace 315..327 " "
| | | | | | | RCurly 327..328
| | | | | | | | RCurly 327..328 "}"
| | | ForLoop 242..328
| | | | ForKw 242..245
| | | | | ForKw 242..245 "for"
| | | | LParen 245..246
| | | | | LParen 245..246 "("
| | | | VarDecl 246..255
| | | | | VarKw 246..249
| | | | | | VarKw 246..249 "var"
| | | | | WhiteSpace 249..250
| | | | | | WhiteSpace 249..250 " "
| | | | | VarIdentifier 250..252
| | | | | | Identifier 250..251
| | | | | | | Identifier 250..251 "i"
| | | | | | WhiteSpace 251..252
| | | | | | | WhiteSpace 251..252 " "
| | | | | Assign 252..253
| | | | | | Assign 252..253 "="
| | | | | WhiteSpace 253..254
| | | | | | WhiteSpace 253..254 " "
| | | | | Expression 254..255
| | | | | | ExpressionAtom 254..255
| | | | | | | Number 254..255
| | | | | | | | Number 254..255 "0"
| | | | Semicolon 255..256
| | | | | Semicolon 255..256 ";"
| | | | WhiteSpace 256..257
| | | | | WhiteSpace 256..257 " "
| | | | Expression 257..264
| | | | | LessThan 257..264
| | | | | | ExpressionAtom 257..258
| | | | | | | Identifier 257..258
| | | | | | | | Identifier 257..258 "i"
| | | | | | WhiteSpace 258..259
| | | | | | | WhiteSpace 258..259 " "
| | | | | | LessThan 259..260
| | | | | | | LessThan 259..260 "<"
| | | | | | WhiteSpace 260..261
| | | | | | | WhiteSpace 260..261 " "
| | | | | | Sub 261..264
| | | | | | | ExpressionAtom 261..262
| | | | | | | | Identifier 261..262
| | | | | | | | | Identifier 261..262 "N"
| | | | | | | Sub 262..263
| | | | | | | | Sub 262..263 "-"
| | | | | | | ExpressionAtom 263..264
| | | | | | | | Number 263..264
| | | | | | | | | Number 263..264 "1"
| | | | Semicolon 264..265
| | | | | Semicolon 264..265 ";"
| | | | WhiteSpace 265..266
| | | | | WhiteSpace 265..266 " "
| | | | AssignStatement 266..269
| | | | | Expression 266..269
| | | | | | UnitInc 266..269
| | | | | | | ExpressionAtom 266..267
| | | | | | | | Identifier 266..267
| | | | | | | | | Identifier 266..267 "i"
| | | | | | | UnitInc 267..269
| | | | | | | | UnitInc 267..269 "++"
| | | | RParen 269..270
| | | | | RParen 269..270 ")"
| | | | Block 270..328
| | | | | LCurly 270..271
| | | | | | LCurly 270..271 "{"
| | | | | EndLine 271..273
| | | | | | EndLine 271..273 "\r\n"
| | | | | WhiteSpace 273..289
| | | | | | WhiteSpace 273..289 " "
| | | | | StatementList 289..327
| | | | | | AssignStatement 289..312
| | | | | | | Expression 289..297
| | | | | | | | ArrayQuery 289..296
| | | | | | | | | ExpressionAtom 289..293
| | | | | | | | | | Identifier 289..293
| | | | | | | | | | | Identifier 289..293 "comp"
| | | | | | | | | LBracket 293..294
| | | | | | | | | | LBracket 293..294 "["
| | | | | | | | | Expression 294..295
| | | | | | | | | | ExpressionAtom 294..295
| | | | | | | | | | | Identifier 294..295
| | | | | | | | | | | | Identifier 294..295 "i"
| | | | | | | | | RBracket 295..296
| | | | | | | | | | RBracket 295..296 "]"
| | | | | | | | WhiteSpace 296..297
| | | | | | | | | WhiteSpace 296..297 " "
| | | | | | | Assign 297..298
| | | | | | | | Assign 297..298 "="
| | | | | | | WhiteSpace 298..299
| | | | | | | | WhiteSpace 298..299 " "
| | | | | | | Expression 299..312
| | | | | | | | Call 299..312
| | | | | | | | | ExpressionAtom 299..310
| | | | | | | | | | Identifier 299..310
| | | | | | | | | | | Identifier 299..310 "Multiplier2"
| | | | | | | | | LParen 310..311
| | | | | | | | | | LParen 310..311 "("
| | | | | | | | | RParen 311..312
| | | | | | | | | | RParen 311..312 ")"
| | | | | | Semicolon 312..313
| | | | | | | Semicolon 312..313 ";"
| | | | | | EndLine 313..315
| | | | | | | EndLine 313..315 "\r\n"
| | | | | | WhiteSpace 315..327
| | | | | | | WhiteSpace 315..327 " "
| | | | | RCurly 327..328
| | | | | | RCurly 327..328 "}"
| | | EndLine 328..330
| | | | EndLine 328..330 "\r\n"
| | | WhiteSpace 330..346
Expand Down
32 changes: 32 additions & 0 deletions crates/syntax/src/test_files/happy/statements.circom
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
// if ... else
if(n == 2) {
aux <== 2;
out <== B()(aux);
} else {
out <== 5;
}

// for
for(var i = 0; i < N-1; i++){
comp[i] = Multiplier2();
}

// while
while (n-1<a) {
r++;
n *= 2;
}

// return
return r;

// log
log("hash", hash.out);

// assert
assert(a > 2);

// assignment statement
c <== a * b;
}

0 comments on commit 6aec8c3

Please sign in to comment.