Michael137 wrote:

> > Is the plan to get the DIL data structures merged before the rest of the 
> > patch series is up for review? I think it'd be great to see how the 
> > infrastructure introduced here will be used
> 
> There are 3 major pieces to the DIL implementation (soon to be 4, once I've 
> got the lexer written): The AST bit; the parser, which is a recursive descent 
> parser using the .ebnf grammar; and the interpreter/evaluator. The parser 
> performs parsing and type-checking on the input expression, building up the 
> AST as it goes. Once the AST is built, it gets passed to the 
> interpreter/evaluator, which evaluates the AST (performing more correctness 
> checks along the way), returning an LLDB ValueObjectSP at the end. I have 
> both 'stripped down' and 'full' versions of all of these pieces. The 
> 'stripped down' pieces match the current 'frame variable' functionality, and 
> the 'full' versions implement extensions to that functionality (allowing it 
> to handle all the expressions that lldb-eval could handle).
> 
> The plan is to submit a series of PRs as follows: 1). the AST parts (this 
> PR). 2). the not-yet-written lexer (with any necessary changes to the already 
> submitted AST parts); 3). the parser; 4) the evaluator; 5); the 'glue', i.e. 
> updates to things like StackFrame.cpp & CommandObjectFrame.cpp, to hook up 
> the new DIL implementation (optionally), as well as the test cases. 
> Currently, the stripped down parser is ~2700 lines of code, and the stripped 
> down evaluator is ~1000 lines of code.
> 
> As I mentioned in an earlier comment (on June 24), you can see the full (not 
> stripped down) implementation at 
> https://github.com/cmtice/llvm-project/tree/DIL-work-new/ , although I have 
> not (yet) updated that with the updates that have gone into this PR.
> 
> Does that answer all of your questions? Or is there more you would like to 
> know or see?

Thanks for the breakdown! I was just wondering whether the plan was to merge 
this before the other PRs are up. I think it'd be preferable to merge them once 
they all have been approved. Though if others are ok with the current strategy 
I don't want to block this.



https://github.com/llvm/llvm-project/pull/95738
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to