Sunday, August 2, 2009

Progress

A list of what we have implemented:
-Declaring C++ classes and methods from extern
-Instanciating and deleting C++ objects
-C++ methods overloading (still with some problems with function overloading...)
-Operators overloading (not all them, but it's a really simple work)
-Declaring template types (C++ classes and functions)

Next step is to allow using template types.

Thursday, July 2, 2009

new and del operators working!

Now we can instanciate C++ objects dynamically on Cython.
thins like
cdef Foo *aFoo = new Foo()
del aFoo
are allowed.
We're using Python Syntax for it, so, we define the contructor with "__init__" special method.
Now, the next step is to work with function overloading. We already have the logic to implement it. So, what I need now is to work :).
But, before it, I shall write some tests and some documentation, and my branch of GSoC will be merged to the main branch of Cython, and so, let users do what is needed.

Wednesday, July 1, 2009

Some questions about syntax

We are deciding what syntax to use on operators overloading and constructor.
We have C++ and Python syntax, and we have big differences between them.
A thread was created on cython-dev list for voting and commenting the choose of the syntax.
On C++ syntax, the constructor is a method with no return type (it's not void!) and the operators are methods with the keyword "operator" followed by the operator to overload (e. g. "bool operator==(int value);").
On Python, we have the special method __init__ for constructor and other special methods for the operators (__add__, __str__, etc.)

For more information, take a look at the wiki of the project:
http://wiki.cython.org/gsoc09/daniloaf/progress

Tuesday, June 23, 2009

new and delete operators

last week we begun with the work to support the 'new' and 'delete' operators.
A new node was created (NewStatNode) and a function in the parser to call it (p_new_statement).
I hope everything continue with no problems.

The midterm evaluations is coming. I hope everything be on time until there. :)

Monday, June 15, 2009

Progress

Some features were already implemented on Cython.
Until now, we already have:
- C++ class declaration
- C++ class attributes declaration
- Multiple inheritance
- Declaration of inherited attributes
- Use of namespace
The next step now is allowing attribution of inherited objects.

Tuesday, June 9, 2009

Internet problems :(

Since Friday, May 29, I'm without internet at home. I'm using internet on university these days. I hope it come back soon.
It's a really bad I have this problem right now. It's obviously not helping on nothing.

Wednesday, May 20, 2009

Work begun!

This Monday (May 18) me and Robert begun righting code. I'm writing some functions on Parsing.py, and Robert created a new Node (CppClassNode).

First goal is to allow Cython to recognize "cdef cppclass..."

All the progress is going to Mercurial.

Friday, May 15, 2009

Wiki updated!

I updated the wiki with a basic schedule for Cython work together with Robert for this week. I'll be available on IRC, email and GTalk during this period.

http://wiki.cython.org/gsoc09/daniloaf/progress

See ya!

Wednesday, May 13, 2009

Studying Progress

These days I'm studying the Cython parser, beggining with the nodes. Many nodes of many types are created during the parsing. There are many types of nodes, from the simplest nodes to the most complex. There are many inheritance with the nodes, and (I think) all they inherit from Node (a "basic" node).
For every code, a node is created.

I still need to understand how all the .c or .cpp code is written (Many lines are automatically written by a ModuleNode) and also how the extension works at a lower level.

I'm thinking in generating a UML of nodes and parser. Maybe I should have thought this before, but never is too late.

I'll soon update the wiki.

Saturday, April 25, 2009

Project wiki available!

Today I setted-up the wiki for my project on GSoC.

http://wiki.cython.org/gsoc09/daniloaf/progress

Make a good use of it
:D

Friday, April 24, 2009

GSoC-2009

I'm very glad my proposal had been accepted for GSoC-2009.
Now I'm begginning this blog to show all how I'm working and all the developing process.
Tomorrow I'll create a wiki to show more detailed the developent.

My project is to improve C++ support for Cython. At the moment, I'm studying the compilation files to better understand how it works and also at a code-level.

The link of my proposal is: http://wiki.cython.org/gsoc09/daniloaf

See, ya!