SyntaxEditor 4.0 Advanced C# Parsing

SyntaxEditor for Windows Forms Forum

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hey everyone, we're making some really great progress on our advanced parsing model for SyntaxEditor 4.0. We're prototyping it out with an advanced C# implementation. We currently have a semantic parser implementation that breaks up the C# document into an abstract syntax tree of all the namespaces, classes, methods, etc. and builds a code tree in a TreeView. All this is happening without delay in the editor UI too! Then this AST tree is in turn updating the outlining nodes in the SyntaxEditor control.

The parser still needs a lot more work to adhere to the complete C# semantic grammar but so far, our implementation is exceeding our original expectations for performance.

Anyhow, we have a list of some customers who would like to beta test but we'd also like to gather a list of customers who specifically will be using C# editing in their applications. We'd like to talk through some issues like assembly loading for project references, type resolution using those assemblies, etc. Basically things that would apply to a C# editing application. Send us an email if you're interested in talking about these things over email or chat.


Actipro Software Support

Comments (2)

Posted 13 years ago by Thomas Goff
Avatar
In your implementation, is it possible to modify the tree nodes and have it affect the text in the editor?

Thanks
Tom
Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Tom,

With our implementation you can write a class that uses the visitor pattern to emit code for the AST nodes. This will enable you to write a visitor for translating C# to VB.NET and vice versa. You could probably also use this for reformatting text in the editor. I'm not sure if the first release of our C# language definition will have a code emitting visitor implementation but it will probably eventually be a feature we'll add.


Actipro Software Support

The latest build of this product (v2018.1 build 0341) was released 6 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.