Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » B3 » A progress report
A progress report [message #593392] Fri, 11 December 2009 15:11
Henrik Lindberg is currently offline Henrik LindbergFriend
Messages: 2509
Registered: July 2009
Senior Member
Hi,
Work on b3 is steadily progressing. Here are some of the things that
have been going on...

- Switched to using xtext 0.8 nightly builds as the b3 grammar triggered
issues that could not be worked around. These issues are now fixed. The
work on finding, reporting the issues and waiting for a fix took the
better part of a week... Not completely improductive though as I found
many problems that I had caused :)

- A lesson learned is that when the grammar has backtracking turned on,
the order in which the grammar rules are written becomes very important.

- The last couple of days (since the first run of a b3 DSL) has been
very productive and I am now writing unit testing code in b3 language,
working through all of the expressions. (If you are interested, you find
these tests in the project o.e.b3.beelang.tests under src-b3). This work
has going smoothly and I have found and fixed a number of small grammar
and backend issues.

- Ed has promised to help on the type system. (I am currently cheating a
bit), and I have not implemented type inference (so for the time being
explicit typing is required. Hope to get some help with importing and
writing ecore models as well. Right now I b3 only handles importing java
classes.

- Michal has promised to help with automating the tests in b3. I.e.
being able to run them as JUnit tests. Integration for this is ready,
the tests in b3 throws an exception that should be easy to handle from
JUnit. The idea is to just reference a b3 test as a test suite, and then
execute all the functions starting with 'test' just like JUnit does with
java code. For the time being, I am executing the tests manually from
the b3 language editor's outline (there is a "Run main function" command
there over the BeeLang node that runs the b3 engine and produces output
in the console).

- The plan over the next couple of days is to finish the test code in
b3, and then break out the part of the b3 model that is not related to
evaluating expressions (i.e. the build unit, dependencies, builders,
etc.). By "break out" I mean making this part of the model be imported
into the language as opposed to be generated from the grammar.

- With the above done, it is time to tackle actual building :) by
letting buckminster have a go with b3 input.

- status in brief:
- basic expressions tested
i.e. arithmetic, relational, [], ++/--, += *= etc etc.
- generics for variables tested
- regexp tested
- literal lists and maps tested
(with type delcarations of keys and values)
- made a small syntax change for literal lists and maps.
- added simple pattern matching (with * and ?) using code from p2ql
- assertEquals, assertTrue, assertFalse added
- try/catch and throw tested
- function calls tested
(a bit of cheating on best match selection and generics).

- Hope to have time to give the documentation I started on some love
over Christmas.

Regards
- henrik
Previous Topic:the hello world maiden run...
Next Topic:A progress report
Goto Forum:
  


Current Time: Mon Sep 23 06:07:21 GMT 2024

Powered by FUDForum. Page generated in 5.04388 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top