Posted 17 years ago
by Kelly Leahy
-
Software Architect,
Milliman
I have my own AST node class that I'm going to use for my language, since it will be easier for me to share it between my "interactive" and "noninterative" parsers (I'm writing a parser that I'll use to compile my language and will share some code with the parser used to syntax/semantic check my language in the editor).
Because of this, I'd like to not provide the IAstNode interface on my AST objects. I realize that this means I'll have to write my own code to build the outlining tree, perform error and warning highlighting, etc. I don't mind writing this code myself, but I'd like to know where is the best place for me to do the outlining?
Previously, that code was always in my UpdateOutliningParser method of the ICompilationUnit, but since I don't want to provide IAstNode (and by association ICompilationUnit), is there another place I can put that code? Alternatively, can you break some of the ICompilationUnit declarations out from the ICompilationUnit interface so that I can use it without having IAstNode?
Any ideas???
Because of this, I'd like to not provide the IAstNode interface on my AST objects. I realize that this means I'll have to write my own code to build the outlining tree, perform error and warning highlighting, etc. I don't mind writing this code myself, but I'd like to know where is the best place for me to do the outlining?
Previously, that code was always in my UpdateOutliningParser method of the ICompilationUnit, but since I don't want to provide IAstNode (and by association ICompilationUnit), is there another place I can put that code? Alternatively, can you break some of the ICompilationUnit declarations out from the ICompilationUnit interface so that I can use it without having IAstNode?
Any ideas???
Kelly Leahy Software Architect Milliman, USA