alliance-programmers '1998
Questions and proposals...


Stjepan Gros (Stjepan.Gros@public.srce.hr)
Mon, 25 May 1998 12:48:55 +0200 (MET DST)

First of all, hi to all! I'm new to this mailing list (subscribtion started one week ago), and the following things may be reinvention of the wheel, and if it's so, I appologize. I've changed the asimut (the list of changes is given at the end of this mail) so if You are interested in changes please tell me so that I make it available. While changing asimut, I noticed that in some hash functions pointers are stored as int type. But, this is not true on 64-bit machines (like Alpha). Any comments? Further, behavioural VHDL hasn't got arithmetic and relational operators. I dont't know what are your plans, but one possible solution is the function with the following prototype: chain_list *lt2abl (char *oper1, int oper1_start, int oper1_end, char *oper2, int oper2_start, int oper2_end); Now, when parser encounters the following VHDL substatement reg(13 DOWNTO 1) < c(26 DOWNTO 14) it calls the previously mentioned function in the following way: some_expr = lt2abl ("reg", 13, 1, "c", 26, 14); which returns appropriate ABL. This can be extended to all relational and arithemtic operators. The question is: Is this interesting for You, or there are some other plans in that direction, because, it's part of my seminar, and if you answer negative to this question I wan't do all of them. Finally, the question of directory organization of Alliance. Wouldn't it be better if present source subdirectory is splitted into libraries and tools. Also I find tedious the present naming of libraries and their include files, I think it's better to make soft links, like: mut.h - mut312.h, than to rely on Makefiles and long lines that make thing harder to follow in compilation process (and, as stated in autoconf manual, you can hit system's limit on line length). There are many other suggestions in regard with Makefiles, configuration process, etc, but I'll leave it for next time. Stjepan Gros sgros@public.srce.hr Changes that I've made to asimut: 1. On the beginning of every .c file is defined uniq constant for that file. It's name is created from the name of .c file, with '.' replaced with underscore, all upper case, and one underscore placed in front of constant's value. For example: vh_asimut.c - _VH_ASIMUT_C This is done so that .h files know who included them and according to that define or declare global variables. 2. Removed file vh_dtype.h since appears that it's not used by any module. 3. Reorganized all header files so that they obey the following rules: - Every header file gives prototypes for global functions exported by associated module - Global variables are defined as 'extern' for all .c files except for native .c file. 4. Function 'gets', in module vh_debug, replaced with fgets, and if at compilation time is defined constant HAVE_READLINE, then GNU's readline library will be used (this is not done yet as it should be). Also, if constant DEVELOPER is not defined at compilation, no debug code is included into ASIMUT. 5. Inernationalization and localization introduced. For now, only for messages. 6. Option parsing done using GNU's 'getopt_long' function.

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 22 March 2001.