SyntaxEditor v4.0 QuickStarts - What do you want to see?

SyntaxEditor for Windows Forms Forum

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
We currently have 11 QuickStarts in the SyntaxEditor v4.0 sample project. These QuickStarts are small and focus on certain feature areas of SyntaxEditor. They will undoubtedly be key parts of learning how to use SyntaxEditor.

While our upcoming public beta does have 11 QuickStarts already, we do hope to implement several more before the final v4.0 release.

What feature areas would you like to see covered in small QuickStart forms? We'd love to hear your input! If at all possible in your replies, please list for each QuickStart what specific features you'd like to see demonstrated.

Thanks for your assistance!


Actipro Software Support

Comments (12)

Posted 13 years ago by Russell Mason
Avatar
Hi

What about a related series for a very simple but fully implemented language, e.g.

Ability to declare a variable, e.g. DECLARE MyVariable AS INT (where AS is optional)
Ability to print variables, e.g. PRINT MyVariable
Ability to add/subtract/multiply/divide variables, e.g. MyVariable = 10 * (2 + 5)

Nothing else!

Lets see:
1) How the new language/AST looks.
2) How to implement IntelliSense so that when a new variable is declared it appears in the list the next time IntelliSense is invoked.
3) Getting meaningful errors, How does a missing ‘node’ tell me where I am and what the problem is
4) How to use squiggly syntax error lines when the text does not match the syntax
5) How to recover from errors, e.g. just because there is an error on line 1 doesn’t mean you can’t present IntelliSense on lines 2 onwards

Implement it so it requires no terminators (e.g. ;) as in VB or SQL

I don’t know about ‘quick’ but this would be extremely useful by being something everyone could understand. A full C# style example may be a bit overwhelming for us novices.

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

Excellent ideas... good news, we do have that in v4.0 already. We made up a language named Simple which uses C-like syntax but it only can do several things like declare/call functions, declare variables, assign variables, do add/subtract/multiple/divide on variables with numbers, and return results.

It implements a programmatic lexical parser, an AST, shows a document outline, has automated IntelliPrompt, shows errors, recovers from errors, but does use ; as statement terminators.

So it sounds like it's about exactly what you wanted. There is a decent amount of code to get that working but it is an excellent example to get started. Especially with using our new parser generator to generate a semantic parser that creates the ASTs.


Actipro Software Support

Posted 13 years ago by Norm Penrod
Avatar
First, let me say what an awesome product this is. My hat goes off to Actipro for creating something this powerful at this price.

Now, onto my issue. I'm noticing a problem with the "Quick Starts". I have installed the 4.0 "Full" version available on my Organizational Purchases page. Now a couple of the Quick starts do not work because I don't have a valid license for the .NET Language Add-on. The "Quick Starts" that are having problems are .NET Language Reflection and Document Outline. I would expect that the Language Reflection probably wouldn't work and since I'm not making an editor for a .NET language I don't really care. However, I would like to see the Document Outline working.

Regards,
Norm
Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Norm,

Just to verify, the functionality of those forms should still work but it will show the "nag" screen for the .NET Languages Add-on since the advanced C# is being used. Are you not able to even see the functionality working after closing the popup?

For the Document Outline, it requires a language that builds an AST. Currently the only advanced language implementations we have that build an AST are C# and the XML one, which is still work in progress. We have started on a VB.NET language that will also do this and will be a part of the .NET Languages Add-on. Eventually we will be working on other languages too that will work with the Document Outline.

The Simple language would work fine with that form but since it's a made-up language for sample purposes, nobody really has code files for it. Maybe we should include a sample code file for the Simple language and display that by default. Would that help?


Actipro Software Support

Posted 13 years ago by Norm Penrod
Avatar
When I attempt to close the "nag" :-) screen while in the dev environment I get the following error:

An unhandled exception of type 'System.ComponentModel.LicenseException' occurred in system.dll

Additional information: An instance of type 'System.Reflection.Assembly' was being created, and a valid license could not be granted for the type 'ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpSyntaxLanguage'. Please, contact the manufacturer of the component for more information.


Running outside the dev environment I get this stack trace:

System.ComponentModel.LicenseException: An instance of type 'System.Reflection.Assembly' was being created, and a valid license could not be granted for the type 'ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpSyntaxLanguage'. Please, contact the manufacturer of the component for more information.
at System.ComponentModel.LicenseManager.Validate(Type type, Object instance)
at ActiproSoftware.SyntaxEditor.Addons.CSharp.CSharpSyntaxLanguage..ctor()
at TestApplication.QuickStart.DocumentOutlineForm.OpenFile(String filename) in c:\program files\actipro software\syntaxeditor\v4.0.0230\testapplication-csharp.net11\quickstart\documentoutlineform.cs:line 271
at TestApplication.QuickStart.DocumentOutlineForm..ctor() in c:\program files\actipro software\syntaxeditor\v4.0.0230\testapplication-csharp.net11\quickstart\documentoutlineform.cs:line 48
at TestApplication.LauncherForm.launchSampleButton_Click(Object sender, EventArgs e) in C:\Program Files\Actipro Software\SyntaxEditor\v4.0.0230\TestApplication-CSharp.Net11\LauncherForm.cs:line 227
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


If the "Quick Start" can be made to work without the .NET Language Add-on I think it would be helpful to include a "Simple" language code file demonstrating the same concepts so those of us that aren't in the market for the .NET add-on can still dive into the "Document Outline Quick Start".

Regards,
Norm
Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Thanks Norm... we'll try and address this. We had intended on the popup showing but you still being able to proceed. I think it works for the evaluation release but it appears not to if you own the SyntaxEditor 4.0 full release but not the add-on. Switching to the Simple language for that quick start is a good idea too.


Actipro Software Support

Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
We just uploaded a new build at the same beta location that should provide a temporary fix to the license issue with the add-ons. To truly fix it we need to update the Shared library again but will wait a little bit on that. So for now, the add-on will show a messagebox if it is unlicensed but will still allow you to use it.


Actipro Software Support

Posted 13 years ago by John Youren
Avatar
Can we see some more grammar examples covering different features for example:

Language is case sensitive

How do we make it insensitive?

and more commenting on the code you have in the CDATA tags.

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

Excellent ideas. We have implemented a case sensitive option on SimpleLexicalParser for the next release. Also we'll try and add more comments.


Actipro Software Support

Posted 13 years ago by Martin Wawrusch 2
Avatar
I'd like to see another language implementation, let's call it mini, that includes the least amount of functionality possible . Right now simple seems to be too complex to just get started (But I guess it's great once we moved past figuring out what's going on in those CData sections :-))
BTW, great product.
Posted 13 years ago by Actipro Software Support - Cleveland, OH, USA
Avatar
Hi Martin,

Can you explain in detail in what areas you need more help? Simple really is about as simple as you can get without removing basic functionality that everyone wants in a language. Maybe we can just document a feature area better or provide more comments in code.


Actipro Software Support

Posted 13 years ago by Martin Wawrusch 2
Avatar
In my case I need to do something totally simple: Parsing a string that contains the following syntax:
blabla[[Command:Argument1=XXX,Argument2=XXX...]] blabla

What I would like to see is something really simple, like a language that can only perform additions of integer literals (eg 1 + 2). That way new users, especially those with lex/yacc background, will have an easier time getting started. Right now I am simply a little bit overwhelmed how the different parts play together, and the purpose of the code fragments within the grammar definition.
Or perhaps you can add a step by step guide within the documentation on how to get started: Create file XX. Add a class YY. And so on.
The Parser Generator Guide / ASTs and AST Nodes topic is a good start, perhaps you can add some more documentation in that area.
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.