Re: [Jolie-devel] Contribution to Jolie
A service-oriented programming language.
Brought to you by:
fmontesi
From: Fabrizio M. <fam...@gm...> - 2011-03-08 08:46:02
|
Hello Karoly, On Mon, Mar 7, 2011 at 10:06 PM, ksza <ks...@it...> wrote: > Hello, > > My name is Karoly Szanto and I am a M.Sc. student in Software Engineering at > the IT University of Copenhagen. I ran across Jolie at a course today and I > find it a very interesting project. Browsing the projects site I've found a > list of available tasks that could be take over as a contribution to jolie. > I would like to contribute at first by trying to carry out the "New > Operators" job, if it is still available. yes, the task is still available. Here's a rough guide on how to do add one of these operators: - in libjolie - jolie.parse.Scanner add a TokenType for that operator; - update the scanner main cycle for reading the token; - add a class for representing the abstract syntax node in jolie.lang.parse.ast, you may get inspiration from AssignStatement; - update the parser (OLParser) for generating the abstract syntax node; - in jolie, create a class for representing the interpretation node, you may get inspiration from AssignmentProcess; - update the OOITBuilder for generating the interpretation node from the abstract syntax node. That's just a rough overview, please post here all your doubts as you go. I suggest that you start implementing only one operator (e.g. +=) and send your patches here on the ml, so that we can refine it together and then you could go on with the other operators (for which the development process should be almost identical, apart from the slightly different semantics). > It would be nice if I could read through a developer guide - - especially on > setting up the development environment, building different parts of the > project, testing ... Setting up a development environment for Jolie is fairly easy, you just need NetBeans. Then, every project you can find in the source tree can be opened as a NetBeans project. The ones you're most interested in for this task are "jolie" and "libjolie". If you want to debug, the main project is "jolie" and the main class is "jolie.Jolie". You should use the following arguments in your run configuration: -l /opt/jolie/lib:/opt/jolie/javaServices/*:/opt/jolie/extensions/* -i /opt/jolie/include main_file.ol where /opt/jolie should be substituted with your installation directory and main_file.ol with the filename of the Jolie program you want to use for testing (remember to set the current directory to that of the file, in the run configuration). Let me know if you encounter any problem with that. Best, Fabrizio. |