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