RE: [abc-users] Problem compiling code to generate new extension

From: Oram, Damon <d.oram@lancaster.ac.uk>
Date: Mon Nov 20 2006 - 11:18:43 GMT

Hi,

I am indeed using abc v1.2.1. I would think that the issue is more to
do with my inexperience rather than an abc related problem. Taking the
example of implementing the global pointcut as a means of extending the
basic abc compliler, Here is what I have done:

1. I have created a folder called global within
C:\abc-1.2.1-src\abc-1.2.1\src\abc (I am using Windows XP)

[global] contains ...
AbcExtension.java
ExtensionInfo.java
Topics.java
Version.java
build.xml

2. Within global I have created the following folders and files

[ast] contains...
GLOBALNodeFactory.java
GLOBALNodeFactory_c.java
GlobalPointcutDecl.java
GlobalPointcutDecl_c.java

[extension] contains...
GLOBALAdviceDecl.java
GLOBALAdviceDecl_c.java

[parse] contains...
Global.ppg
Global_ppg.cup
Grm.java
Sym.java

[types] contains...
GLOBALTypeSystem.java
GLOBALTypeSystem_c.java

[util] contains...
ToReceiver.java

[visit] contains...
GlobalPointcuts.java

3. I successfully managed to generate the global_ppg.cup, grm.java,
sym.java using build.xml and the ant tool.

4. I then run the following from the command line: abc -sourceroots
C:\abc-1.2.1-src\abc-1.2.1\src\abc\global (which is when I am getting
the error)

I would be very grateful if you could let me know:

a) If I am missing out a particular step.
b) If I am running the wrong command from the prompt.
c) If my directory stucture for global is within the correct location.
d) If the files I currently have located within global/parse should
reside within the abc-1.2.1 generated folder.
e) Should I be compiling everything within the abc-1.2.1 folder and not
just within my global sub-folder.

Sorry for the barrage of questions, but I am eager to get to grips with
the compiler.

Many thanks

Damon

  

-----Original Message-----
From: Majordomo list server [mailto:majordomo@comlab.ox.ac.uk] On Behalf
Of Pavel Avgustinov
Sent: 20 November 2006 10:29
To: abc-users@comlab.ox.ac.uk
Subject: Re: [abc-users] Problem compiling code to generate new
extension

Hi,

Good to know you're going to work with abc! Hope it proves useful.

>I am looking at the abc compiler for an msc project I am undertaking.
>I am currently looking at the steps needed to extend the aspectj
>language using abc by taking loopsaj as an example. As another
>learning exercise, I have taken the code for the global pointcut from
>eaj and am trying to use this as a single extension. In both cases, I
>am getting as far as generating the parse files but am running into a
>small issue when compiling the final code:
>
>Exception in thread "main" polyglot.util.InternalCompilerError:
>unhandled except
>ion during compilation
> at abc.main.Main.run(Main.java:568)
> at abc.main.Main.main(Main.java:196) Caused by:
>java.lang.StackOverflowError
>
>Is this a common issue? I am very new to abc so it it not of the
>question that the issue lies with me. I would be grateful for any he
>
>
Hm, a StackOverflowError should never be a common issue. We certainly
would immediately fix any such errors we are aware of.

It is, however, somewhat hard to diagnose the problem without any
additional information. Based on the two line numbers above, I believe
you are using abc version 1.0.2 -- is this correct? Is there any
particular reason for this? If it wouldn't be too much trouble, might I
suggest upgrading to 1.2.1, which contains a wide variety of bugfixes?
It is quite possible that this alone will take care of your problem.

If not, then we really need to know where the StackOverflowError occurs.
Is there something you can do to find out? Maybe edit the
'catch(Throwable e)' clause in abc.main.Main.run to print out the origin
of the error more clearly, or even comment out the 'catch(Throwable e)'
part for the moment, in order to allow the StackOverflow to become
visible on stdout?

In Java, a SOE generally means an infinite recursive loop somewhere, so
this is what you should check any changes you have introduced for.

I'd be happy to help out more once you provide more details.

Cheers,
- Pavel
Received on Mon Nov 20 11:19:36 2006

This archive was generated by hypermail 2.1.8 : Mon Nov 20 2006 - 11:50:08 GMT