This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Google Summer of Code


Hi Andrea,

On 05/03/14 08:42, Andrea Bernardini wrote:
I have only basic knowledge in formal languages, compilers and low
level architectures, and no experience in compilers development, so I
need to reason about the feasibility of the project.

Depending on which project you select, compiler knowledge required varies. But again, the more you know, the better! The project you enquired about could have an element of code generation to it, and a basic understanding of computer architecture won't hurt in understanding how to use it. You can look at the methods in gnu.bytecode.CodeAttr to get a feel for the level abstraction we're working with in Kawa. You certainly don't need to know any micro-architectural details, if that's what you meant by "low-level", the JVM takes care of that. :-)

As far as formal languages go, perhaps the only things I can imagine you coming across are regular (sic) expressions and grammars, but again, nothing spectacular.

Optimize switches (case)
Implement SwitchExp as a new class extending Expression, and compile it
using the existing gnu.bytecode.SwitchState. Use it to optimize
Schemeâs case form. This might be better done without a new Expression,
but instead using a special Procedure with custom âvalidationâ and
code-generation.

Could it be a reasonable project for a student with few experience in
compilers?

I think a motivated student could accomplish this task, even without experience with compliers, as long as they're interested in the topic.

Is there an other project that could be a good starting point?

It's hard to suggest projects since we're not sure what your personal strengths and interests are. To be honest, all the projects would be good starting points for the motivated student.

My advice is to pick something that interests you, and dig around the code base trying to get a better understanding of what that particular project might involve. Don't worry if you get lost, feel free to ask questions, someone here will be able to help you!

Kind regards,
Charles.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]