distributed-lab / distributed-lab/circom-parser

How to parse to fine-grained statements?

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

I used the method from [CircomFilesVisitor](https://github.com/distributed-lab/circom-parser/blob/main/test/mocks/CircomFilesVisitor.ts) for parsing. However, the parsing result is coarse-grained and does not parse each statement in the Circom program.

test.ts
```typescript
import { getCircomParser, ParserError } from '@distributedlab/circom-parser';

import CircomFilesVisitor from './CircomFilesVisitor';

let source="/mnt/sdd1/sbw/circom/test_circomParser/historyBug/circom/208.circom"

const parser = getCircomParser(source);

const visitor = new CircomFilesVisitor(source);

visitor.visit(parser.circuit());

let temp=visitor.fileData;
let templates=temp.templates;
console.log("templates",templates)
```
```
templates {
Example: {
parameters: [],
isCustom: false,
parallel: false,
context: TemplateDefinitionContext {
parentCtx: [BlockDefinitonContext],
invokingState: 176,
children: [Array],
start: [Pt],
stop: [Pt],
exception: null,
_argNames: undefined,
parser: [ExtendedCircomParser]
}
}
}
```
1733928298119

I want to obtain a fine-grained parse tree at the statement level, like the one on the far right in the image. What should I do?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.