Showing posts with label txl. Show all posts
Showing posts with label txl. Show all posts
Mar 22, 2011
Mar 19, 2011
Mar 9, 2011
Mar 4, 2011
Navel - no days
I've lost the day counter. Some small updates and a navel is made to simplify Txl calls.
Mar 2, 2011
Navel - one liners
Convert one line function definitions, ord and chr.
Boolean operations needs to be investigated and variables/references assignment.
Feb 26, 2011
Navel: Day 13 - Something
Yesterday I forgot to make a note.
Today: range(x,y,1) -> x...y
sort.py file from a nltk library is converted ok, but results are printed wrong.
Feb 24, 2011
Feb 23, 2011
Skypper: Day 10 - FFI
I have played a bit with Ruby FFI and it had appeared to be not that scaring as I thought. So probably I will get back to Skypper initial target Skype4Py. Although the other Python library I found for transformation is also interesting, but I will keep it in a secret.
20 min update: Skype4Py is unstable and produces core dumps very often. Even simple operation to get user name is not working. The library to be transformed is still unclear.
Transformations made:
- var is None to var.nil?
- end added to single while and for blocks
Feb 21, 2011
Skypper: Day 09 - if statements
I implemented adding end to if statements suites for (if, elsif and else). Also I decided to postpone preprocessor and other cosmetic changes till the end and devote more time on transforming features.
Feb 20, 2011
Skypper: Day 08
Now an end is added to a Python's suite (class or function body) to be treated as a Ruby body.
I'm thinking about rewriting Jim Corby's Python preprocessor (INDENT/DEDENT) to have DEDENT just after the last indented line not before the first dedented. Most probably it will be rewritten in Python.
Feb 18, 2011
Skypper: Day 07
I have implemented python len(e) --> e.size() transformation. I spent significant time remembering some Txl and Python grammar details but at the end was impressed by the solution. It was easy and elegant.
Feb 17, 2011
Skypper: Day 06
I'm not working full time with the project now. Only occasionally at work and in spare time.
I will attend Kiev.rb#1 Ruby developers meeting in Kiev, Ukraine organized by Sphere Consulting Inc. with a talk "Transformers. Translation to Ruby from other languages". I'm about to present there the results of the project. That will include Python to Ruby transformation and a Python project translated to Ruby. Initially it was supposed to transform Skype4Py but now I'm not sure what project will translated. It will depend on results of Python to Ruby transformation and time availability.
I will attend Kiev.rb#1 Ruby developers meeting in Kiev, Ukraine organized by Sphere Consulting Inc. with a talk "Transformers. Translation to Ruby from other languages". I'm about to present there the results of the project. That will include Python to Ruby transformation and a Python project translated to Ruby. Initially it was supposed to transform Skype4Py but now I'm not sure what project will translated. It will depend on results of Python to Ruby transformation and time availability.
Nov 29, 2010
Skypper: Day 05
Today I started working on the transformation itself. The code from python2tcl was taken and a lot of unnecessary transforms were removed since Python and Ruby syntaxes are quite close.
I found an interesting issue with destructors (Python's __del__ methods) used in original Skype4Py to release some resources. Ruby's define_finalizer does not work the desired way since the original object is not available inside the finalizer block.
Also the time devoted to the Skypper might be reduced since I start to work on an important commercial project.
I found an interesting issue with destructors (Python's __del__ methods) used in original Skype4Py to release some resources. Ruby's define_finalizer does not work the desired way since the original object is not available inside the finalizer block.
Also the time devoted to the Skypper might be reduced since I start to work on an important commercial project.
Nov 26, 2010
Skypper: Day 04
RubyAddons grammar mix extended. Classes, methods definitions, exception, for, while, ifs are added.
Grammar is able to process Skype4Py sources without any serious issues. Several non-important ones will be solved with preprocessing of source files.
The language transformation does not seem to be very difficult - syntaxes are quite close and rather easily solved with grammar tweaks. As always the problems will be with libraries conversion.
Grammar is able to process Skype4Py sources without any serious issues. Several non-important ones will be solved with preprocessing of source files.
The language transformation does not seem to be very difficult - syntaxes are quite close and rather easily solved with grammar tweaks. As always the problems will be with libraries conversion.
Nov 23, 2010
Skypper: Day 01
I read TXL documentation to remember my language skills.
Also I skimmed some articles and presentations about DSLs, Camplp4 and compilers.
Also I skimmed some articles and presentations about DSLs, Camplp4 and compilers.
Skypper: The Intro
I'm starting the Skypper project. I'll post here short message to show the progress and discuss the issues met.
What is Skypper? Skypper is a port of Skype4Py to Ruby using automated program transformation. The idea is to approach as much as possible to 100% of automated source code transformation without manual code edit. The ideal result is to lunch the transformation on Skype4Py and get a Skypper ready to be used from Ruby.
I will try to gather statistics and notes during the process.
The planned project end date is 14th, January 2011.
What is Skypper? Skypper is a port of Skype4Py to Ruby using automated program transformation. The idea is to approach as much as possible to 100% of automated source code transformation without manual code edit. The ideal result is to lunch the transformation on Skype4Py and get a Skypper ready to be used from Ruby.
I will try to gather statistics and notes during the process.
The planned project end date is 14th, January 2011.
Jul 28, 2010
Publishing
Fast forward one year and the article DSL Interaction with Program Transformation in TXL is finally online.
It took about 10 months since the article draft was sent to InfoQ editors :)
It took about 10 months since the article draft was sent to InfoQ editors :)
Jun 6, 2010
Sep 20, 2009
Доклад по преобразованию программ на Coffee'n'Code Харьков
Сегодня сделал доклад "Преобразование программ (program transformation)" на Coffe'N'Code Харьков.
Презентация с доклада
Презентация с доклада
Aug 28, 2009
DSL for UML Sequence Diagram
Subscribe to:
Posts (Atom)