Feasibility of implementing same language editor in WPF, Silverlight and WinForms

SyntaxEditor for WPF Forum

Posted 12 years ago by William Hodgson
Version: 12.1.0562

We have used SyntaxEditor for WPF to implement VB-like domain specific language for writing equity (stocks, futures, etc) analysis and trading systems. How feasible would it be to have a common code base for our language to support a WinForms and Silverlight version of our editor. Specifically could the same generated files from the language designer be used by all three - WPF, WinForms and Silverlight? How about the lexer, parser, grammar definition and callback code? What differences would there be in the intellisense support code? 

Comments (1)

Answer - Posted 12 years ago by Actipro Software Support - Cleveland, OH, USA

Hi William,

The WPF and Silverlight versions of SyntaxEditor share our next-generation codebase for the product.  So everthing from lexer, parser, grammar, and IntelliPrompt will be the same between those versions.  For instance, our .NET Languages Add-on shares the entire codebase between WPF and Silverlight, so when we make changes to the languages there, it's very simple to copy the changes to the other platform.

The WinForms version of SyntaxEditor uses our original object model so while there are a lot of feature areas in common, the implementations are very drastically different than in WPF/Silverlight.  As we have ported feature areas over to WPF/Silverlight, we've focused hard on making everything extremely extensible and adding features/options along the way.  Once we get all the same feature areas covered in WPF/Silverlight that are currently in WinForms (we are getting closer to that, and the major ones are already over) then we hope to eventually port the next gen object model back to WinForms so that all three platforms can share a codebase.

One a side note, if we do a WinRT XAML (for Windows 8 apps) port of SyntaxEditor, it would also share the next gen codebase.

Actipro Software Support

The latest build of this product (v24.1.2) was released 2 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.