Giter VIP home page Giter VIP logo

irony's Introduction

ReadMe file for Irony project
http://www.codeplex.com/irony  

Prerequisites
  OS: Windows 7; 
  Visual Studio 2010, .NET Framework 4.0
  
Demo instructions
To run Grammar Explorer
* Open Irony_All.sln solution file in Visual Studio.
* Right-click on the project "030.Irony.GrammarExplorer" and select "Set as StartUp project" from context menu.
* Click Run button on toolbar (F5). Grammar Explorer Window opens.
* !!!Important: if you are launching the Grammar Explorer for the first time after downloading Irony and 
    if you see that Grammars combobox is not empty, then make sure you clear it: click the button 
    next to the combobox and select "Remove all"
* If Grammars combobox on top is empty, click on the button next to it (or right-click the combobox) and select 
   "Add grammar" command. In the file-open window that appears, navigate to (root)\Irony.Samples\bin\debug folder and 
   select Irony.Samples.dll. Application will popup a small window with a list of grammars in selected assembly. 
   Leave all lines checked and click "OK". The newly added grammars will appear in the grammar combobox.  
* Select grammar/language in top combo-box.
* Browse form tabs to see grammar data. 
* To parse source code sample, switch to "Test" tab. Click "Load..." button on top of the form. Open file dialog opens.
* Navigate to <root>\Irony.Samples\SourceSamples folder. Select source file appropriate for the selected grammar. 
* Source file contents are loaded in the text area in the form. Click Parse button to parse the sample. 
* The Parse Tree control on the right will show the parse tree for the sample.
* If the button "Run" enabled, click it to execute/evaluate the code. The results are shown in the Output window at the bottom of the form.
  For Expression Evaluator grammar, the output is the result of the last expression or assignment. Interpreter for Scheme
  can execute more complex programs found in SourceSamples\Scheme subfolder.  
* Alternatively you can paste or type your own sample program into source text area. 
* Repeat for other selections in the Grammar combobox.
* Grammar Explorer restores your last language selection and source sample after you close/restart the form. 

Note about Silverlight:
IronySilverlight project in the solution is a version of Irony for use in Silverlight environment. 
This project shares almost all sources files with core Irony project. It has a conditonal symbol SILVERLIGHT defined
and uses it in a few places to select different code pieces for different environments. 
The output assembly name is IronySL.dll. By default this project is not compiled when you build the solution -
so it does not break your build if you don't have SL files on your computer. 
To compile this project you must have Silverlight 4 Tools installed: 
(http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&displaylang=en)
Credit for Irony-SL adaptation goes to Kirill Osenkov
 
  

irony's People

Contributors

arsenshnurkov avatar sushihangover avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

irony's Issues

crash during attempt to parse text according to grammar

Marshaling clicked signal
Exception in Gtk# callback delegate
  Note: Applications can use GLib.ExceptionManager.UnhandledException to handle the exception.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Irony.GrammarExplorer.MainWindow.ShowCompilerErrors () [0x00084] in /var/calculate/remote/distfiles/egit-src/Irony-GtkSharpExplorer.git/Irony.GrammarExplorer.GtkSharp/frmGrammarExplorer.cs:472 
  at Irony.GrammarExplorer.MainWindow.ParseSample () [0x000c3] in /var/calculate/remote/distfiles/egit-src/Irony-GtkSharpExplorer.git/Irony.GrammarExplorer.GtkSharp/frmGrammarExplorer.cs:349 
  at Irony.GrammarExplorer.MainWindow.OnBtnParseClicked (System.Object sender, System.EventArgs e) [0x00002] in /var/calculate/remote/distfiles/egit-src/Irony-GtkSharpExplorer.git/Irony.GrammarExplorer.GtkSharp/frmGrammarExplorer.cs:953 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/mcs/class/corlib/System.Reflection/MonoMethod.cs:295 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0004d] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/mcs/class/corlib/System.Reflection/MonoMethod.cs:303 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/external/referencesource/mscorlib/system/reflection/methodbase.cs:277 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00107] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/mcs/class/corlib/System/Delegate.cs:461 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x0000b] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/mcs/class/corlib/System/MulticastDelegate.cs:67 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in /var/tmp/portage/dev-lang/mono-4.2.2.10-r1/work/mono-4.2.2/mcs/class/corlib/System/Delegate.cs:406 
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00063] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/glib/Signal.cs:195 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00019] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/glib/SignalClosure.cs:118 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00089] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/glib/SignalClosure.cs:146 
  at GLib.ExceptionManager.RaiseUnhandledException (System.Exception e, Boolean is_terminal) [0x0003b] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/glib/ExceptionManager.cs:58 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00227] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/glib/SignalClosure.cs:173 
  at Gtk.Application.gtk_main () [0x00000] in :0 
  at Gtk.Application.Run () [0x00001] in /var/tmp/portage/dev-dotnet/gtk-sharp-2.12.21/work/gtk-sharp-2.12.21/gtk/Application.cs:135 
  at Irony.GrammarExplorer.MainClass.Main (System.String[] args) [0x00012] in /var/calculate/remote/distfiles/egit-src/Irony-GtkSharpExplorer.git/Irony.GrammarExplorer.GtkSharp/Program.cs:24

Windows based deployment needs tested

Note: I have tested it on OS-X and Ubuntu but do not have a physical Windows box right now to test it on. A Windows 8.1 VM in Parallels exposes a bug in GTK where any file dialog or file widget creation will cause an infinite 100% cpu hang of the Mono process…

Xamarin Bug 16793 concerning the file dialog/widget creation issue in a Windows 8.1 based VM.

https://bugzilla.xamarin.com/show_bug.cgi?id=16793

Clone, compile and test on Windows 8.1:

https://github.com/sushihangover/Irony/tree/gtksharp-explorer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.