Search the web
Sign In
New User? Sign Up
Jal_developers
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Patch for jal   Message List  
Reply | Forward Message #1132 of 1239 |
Re: [Jal_developers] Patch for jal

On Saturday 29 October 2005 17:35, Javier Martinez wrote:
> Hi Marco,

Hi Javier,
I apologize for the late answer, but I've been out of town.

>
> Can you post a brief example in JAL?

of course.
The main use of preprocessor support in jal is to write macros, short
sequences of statements used quite often, but for which a function call would
be overkill (or too expensive in some cases). Macros should be used with
caution and moderation though, because it's easy to use them improperly or to
get burned with unforeseen "side effects" of expansion.
A short, and silly, example could be:

silly-example.jal
------------------------------------------------------------------------

include f877_4
include jlib

pragma target fuses 0x3F32

disable_a_d_functions

var bit LED1 is pin_a0
var bit LED2 is pin_a1

pin_a0_direction = output
pin_a1_direction = output

#define CYCLE_1(ms) \
delay_10ms( (ms) ) \
LED1 = high \
LED2 = low

#define CYCLE_2(ms) \
delay_10ms( (ms) ) \
LED1 = low \
LED2 = high

forever loop
CYCLE_1(25)

CYCLE_2(25)
end loop


To use this example, we have to call the preprocessor before jal.
For example:

$ cpp silly-example.jal silly-example-expanded.jal
$ jal silly-example-expanded.jal

This first command will process "silly-example.jal" emitting its output in
"silly-example-expanded.jal". Then with the second command we simply compile
the generated file.

If you like, I'll add a command line switch to jal to invoke automatically the
preprocessor, thus avoiding the two separate commands shown above.

Cheers,
Marco

--
Marco Pantaleoni

elastiC language developer
http://www.elasticworld.org


Thu Nov 3, 2005 3:34 pm

mpanta74
Offline Offline
Send Email Send Email

Attachment
attachment
Type:
application/pgp-signature
Forward
Message #1132 of 1239 |
Expand Messages Author Sort by Date

Hi, I've added support to jal for cpp-like preprocessors (cpp, gpp, ...). This essentialy allows to write macros using #define (and correctly handle line...
Marco Pantaleoni
mpanta74
Offline Send Email
Oct 27, 2005
10:45 pm

Hi Marco, Can you post a brief example in JAL? I'll upload changes to jal.sf.net CVS repository. Regards, Javi....
Javier Martinez
japus10
Offline Send Email
Oct 29, 2005
3:35 pm

... Hi Javier, I apologize for the late answer, but I've been out of town. ... of course. The main use of preprocessor support in jal is to write macros, short...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 3, 2005
3:40 pm

... I've added that switch. Now if you run jal with the "-P" switch, it will invoke cpp for you. Compiling the example of the previous message would become: $...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 3, 2005
4:45 pm

Hi Marco, Sorry, I've been busy. ;) Just 2 questions. The main one: seems that needs an external C preprocessor, isn't it? This will be useless for 95% of...
Javier Martinez
japus10
Offline Send Email
Nov 7, 2005
4:49 pm

... Yes, but if someone doesn't need it, he can just ignore it. One possible solution could be to selective enable the preprocessor support when running the...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 7, 2005
4:58 pm

Hi Marco, ... Yes, but what about sharing code? These macro functions will make JAL "other" language (JAL-cpp vs JAL), that is you'll not able to share code ...
Javier Martinez
japus10
Offline Send Email
Nov 7, 2005
5:15 pm

... You are right, it would impede code sharing. I think of this feature as a "sharp knife", to be used exclusively when unavoidable, but I understand that ...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 7, 2005
5:40 pm

... hello Marco, Javi, As a non-C-programmer, I cann't understand the full extend / consequences of this C-isch macro implementation, but here a few remarks: ...
Stef Mientki
aap_beertje
Offline Send Email
Nov 7, 2005
6:42 pm

... I agree, but while on unix-like systems a pre-processor is (almost) always present, on other systems (windows), it is not. I'm not interested in windows ...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 7, 2005
11:00 pm

Hi all, ... Marco, you hit in the bulls eye. Ask in the jallist how many of them have a C compiler to build latest JAL sources .... ... and now think that...
Javier Martinez
japus10
Offline Send Email
Nov 8, 2005
4:59 pm

... Yes, I understand. ... This sounds great! Thanks. In the meantime I'll try to come to a more integrated solution. I'll keep you posted. Cheers, Marco -- ...
Marco Pantaleoni
mpanta74
Offline Send Email
Nov 8, 2005
5:20 pm

Hi all, Available patches in jal.sf.net: ID Summary 1352435 10Fxxx support 1352433 Preprocessor support 1118846 JAL 16F648 Extensions Regards, Javi....
Javier Martinez
japus10
Offline Send Email
Nov 9, 2005
6:30 pm
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help