Re: [Mono-dev] Revamped Syntax Highlighting System

2013-04-27 Thread Mike Krüger
Hi

I went through the code related to syntax highlighting and semantic
 highlighting. Got to know how syntax highlighting happens using Begin,
 End and Word constructs written in XML file. But had little difficulty
 understanding the semantic highlighting.


CSharpSyntaxMode.cs - but it basically uses the one in NRefactory which is
a kind of code analysis.


   Syntax highlighting : As soon as the word is entered, it will be matched
 by suitable regular expression.


Y It's possible to use regexes for that - but try to make some speed
measuers for it. If you want you can alter/extend the XML grammar.

  Semantic highlighting : Another thread will be running asynchronously and
 parses the words together to give semantic meaning, [ a suitable efficient
 parser has to be written for this]


That's how it's done - but an API would be nice for that. C# semantic
highlighting is implemented, but an API for that would be better. That part
isn't hard to implement but requires understanding of what I do there :)


 I've pretty good knowledge about parsers, regular expression and I had
 implemented LALR parser as mini-project last semester. [ Github 
 linkhttps://github.com/akshayhebbarys/lalr-parser
  ]

 Please tell me whether I'm going in right path, and please guide me
 through this project.


Y the direction is good - if you can base all on regular expressions not
much can go wrong - but make speed tests. One thing that is important is
that the highlighter is lazy. Atm there is a highlighter background thread
I would like to get rid of that. Or at least make a task based approach.

The spans are atm written in the line splitter - they should use a own tree
- that saves some memory  should be faster.

Regards
Mike
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GSoC 2013 MonoDevelop Color Scheme Editor

2013-04-21 Thread Mike Krüger

Hi

You don't need to get familiar with monodevelop that much - you only 
need to know how the color shemes work.
The Unity3D version is not helpful  outdated. Grab a new monodevelop 
from github.


The current color sheme editor is in the source editor view and the 
color shemes are defined in Mono.TextEditor.


Regards
Mike

Hi all,

My name is Steffan and I'm a student at Ball State University in 
Indiana. I'm really excited to work on MonoDevelop's color scheme 
editor over the summer as part of GSoC. I've been using the Mono 
bundled with Unity3D for the last two semesters and I've always wished 
there was a nicer way to make a new color scheme. I've looked through 
the source code some and have to say I've never worked on a project 
this large before, but I can't wait to contribute to software that so 
many people use. I'd appreciate any advice for quickly getting 
familiar with the code and environment.


Thanks,
Steffan Byrne


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GSOC Proj: CSS Support, Make ASP.NET Awesome in Xamarin Studio, Color Scheme Editor, Awesome MonoDoc Editor

2013-04-15 Thread Mike Krüger

Hi


  * Color Scheme Editor



Basically making a new editor that is awesome. Maybe you've ideas.

I would provide different methods of creating schemes.
+ A list based approach like we've now (but can be improved - atm we 
don't really support color fallback on UI level or palettes).

+ A preview based approach like studio styles
+ And a method where colors are auto generated - the user chooses let's 
say a front color  background color and the rest is generated using HSL 
giving good contrasts.

(It should be possible in this mode to set more colors)

Generally it's a small project - but it requires some creativity and 
even small projects can get big :)


Regards
Mike
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GSOC [2012] Questions regarding C# Refactorings

2012-04-04 Thread Mike Krüger

Hi

This year we already have 2 students working on refactoring actions, 
therefore I don't know how much place is left there.

The current master version already contains some nice refactorings btw.

Regards
Mike


I am young energetic student from RGPV University, doing 
specialization in Computer science.


I would like to participate to GSoC 2012 for Mono Project. After 
looking on the idea page http://www.mono-project.com/StudentProjects



I would be interested in this project:

*C# Refactorings : Implement for refactorings for C#.*


I am familiar with Visual studio2003/2005/2008/2010, very excited to 
provide More refactoring for C#, including UI and unit tests 
and looking for more details regarding C# Refactorings Project.


I shall be thankful for any guidance from the team members about how 
to go about.


Thanks...

Regards,

Sumit Verma



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GSoC - AST Verifier for C# compiler

2012-03-29 Thread Mike Krüger

Hi

I would like to have whitespaces (and EOL as other special node) in the 
ast as well as non compileable stuff as maybe TextNode, but that kills 
performance even more. Doing pre processor directives and comments with 
the specials bag and inserting them afterwards slows done the parse 
process much. But they are semantically required (XmlDocs, #define etc.) 
- and they are included in the AST, therefore it's all done on this 
side. (Except there is some kind of comment/pre processor directive 
missing there)


Would be easier if we had a lexer that was build for generating such AST 
(btw. I think it may be possible to do it and use mcs as parser, but 
that's another story).


Doing that for whitespaces isn't worth it atm - to have all information 
about a file you need the CompilationUnit AND the text. It's possible to 
get the whitespace information (that's the space between two nodes. 
GetTextBetween (curNode.EndLocation, curNode.NextNode.StartLocation) 
gives you that. (And lastNode.EndLocation - document.EndLocation is the 
unparseable text). That is the major difference between us and rolyn,

but not a major drawback IMO the original text is always available.

The NRefactory version of mcs has some patches to make such thing as 
NRefactory possible. We try to keep the change set low, but #1 prio is 
that it works for monodevelop features.


Regards
Mike


Hi,

some more questions:
I see that NRefactory doesn't deal with whitespace at all and
processes comments and preprocessor directives using SpecialsBag
that's not present in Mono.CSharp.
Can I ignore whitespace too? And does that mean I have to add (or copy
from NRefactory) support for comments and preprocessor directives to
the AST?

Thanks,
Petr Onderka



___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


Re: [Mono-dev] GSoC - AST Verifier for C# compiler

2012-03-27 Thread Mike Krüger

Hi

Try to look at NRefactory git://github.com/icsharpcode/NRefactory.git
The structural visitor was built for that. NRefactory does:
Text - Mcs AST - NRefactory AST
That AST can generate C# code as text - using the output visitor, or 
just node.GetText().  Therefore it's half way done,
however I'm sure that there are still things not fully correct, any help 
improving that would be appreciated.


The NRefactory AST holds lexical informations about the tokens as well, 
they could be checked against the input text. There are 2 projects 
inside the NRefactory solution that may be helful: ConsistencyCheck and 
AstVerifier (it's very, very basic).


Regards
Mike

Hi,

as a backup if my first proposed project doesn't get selected,
I'm looking into implementing the project “AST Verifier for C# compiler”.

The project statement says to implement an AST visitor and I have
looked around and found the class StructuralVisitor.
It seems to be exactly what I need, except it doesn't do anything by itself.
I would expect it to visit the whole tree (just like ExpressionVisitor
does for Expressions),
so that I can implement only the parts that are relevant to me (in
this case, generating the C# code).

Is there some code that already does that?
Or at least some code that implements StructuralVisitor that I could look at?

If not, that's fine, and I can do it myself. I just don't want to
duplicate work already done by others.

Petr Onderka
___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list


___
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list