gp2c (0.0.4pl4) * Add table of contents to the gp2c manual. * Add documentation of the description system (doc/type.tex). * Add support for &a[b]. * Bugs fix: - Fix missing copy with code like x=vector(3);y=x;x[1]++;y * Test-suite: - Expand gerepile test to catch missing copy problems. -- Bill Allombert Sun, 19 Mar 2006 17:34:50 +0100 gp2c (0.0.4pl3) * Add support for break(n)/next(n) for constant n. * Improve small loops detections. * Fix -p option for global variables. * Descriptions: - Add _const_real description for strtor(). - Allow descriptions to match string litterals. - Change #type to only match litterals with exact same types. * Test-suite: - run with -p gp2c_ now. - change 'args' test-suite to be independant of vecsort algorithm. -- Bill Allombert Sun, 4 Dec 2005 19:59:18 +0100 gp2c (0.0.4pl2) * gp2c-run was no more accepting filename containing a /. * Vectors were not typed vec. * Handle the 'r' protocode properly. * Test-suite: - change 'vector' test-suite to be independant of print1() behaviour. -- Bill Allombert Wed, 28 Sep 2005 18:02:41 +0200 gp2c (0.0.4pl1) * Allow the description system to differentiate f(x,) from f(x). * Handle empty files correctly. * Descriptions: - Add _[_,] description for PARI 2.2 row function. * Test-suite: - Change 'print' test to test 'printp1' instead of 'printtex', due to different output in 2.2.11. -- Bill Allombert Tue, 28 Jun 2005 21:11:26 +0200 gp2c (0.0.4) * Interface changes: - Variables declared with a type do not have a default value anymore. See "Effect of types declaration on default values" in the manual. - PARI 2.1 is still supported, but will not pass the test-suite. * Bugs fix: - Fix return() of expressions implemented via block. - Fix parser to allow semi-commas in empty arguments like while(1,;). - Add support for prodeuler(). - Fix segfault on 64-bit platforms. - Allow to define functions with empty body (f(x)=;). - Allow complex expressions as default values for arguments and initial values for variable, for(w=[1,1])=local(v=[1,2]~);w*v. - New syntax local(...):type to set the default type in a local(). - Allow to redefine a function (clobber the previous definition). * Generated code clean-up: - Try to declare several variables on one line. - Do not generate strings containing embedded new lines. - Rewrite the handling of 'return' to generate nicer code. - Better support for immediate t_COL ([...]~). - Better support for negative small real constants. - Add space after comma in code generated for [] and print(). - Use gerepileall instead of gerepilemany when available. - Use NEXT_PRIME_VIADIFF when available for forprime() loops. * Build system: - Add ctags target to generate vi tags to src/Makefile. - Allow to override descriptions with the file desc/override.desc. - Add option --paricfg-dbg to configure to specify the path to the pari.cfg file of a PARI debugging installation. * Descriptions: - Add support for RPN style replacement ${} in descriptions. - Reimplement type casts in term of description (_cast). - Add descriptions for vector/matrix components (in _[_,_]). - Add _const_smallreal description for small real constants. - Add O(_^_) description of O(x^y). - Add description of cgetg (as _cgetg). - Add _const_quote description for 'x constructs. - Add _const_expr description for integers and reals. - Add _gerepileall description to use gerepileall(). - Add _cast_noarg description for default arguments. - Handle print and error through descriptions. - Add _low_stack_lim for low_stack() code. - Add _diffptr description for forprime(). - Add _forprime_next for NEXT_PRIME_VIADIFF. * Test-suite: - Fix 'initfunc' test to be compatible with PARI 2.2.10. - Expand 'vector' test to try constant vectors/matrices. - Expand 'return' test to try returning blocks. - Expand 'moveblock' test to try unary - operator. - Expand 'args' test to try user-defined functions. - Expand 'initfunc' test to try non-cloned matrices. - Expand 'if' test to test parsing of semi-commas in empty arguments. - Expand 'trunc' test to try truncating real constants. - Add 'gerepile' test to exercise garbage-collecting code generation. - Make test-suite independant of random() to avoid test failure on 64bit machines. - Expand 'args' test to try function with complex optional arguments. - Expand 'affect' test to try local variables initialised to a complex expression. - Expand 'initfunc' to test use of undeclared global variables. - Expand 'sumprod' to test prodeuler. - Add 'forvec' to check forvec support. -- Bill Allombert Sun, 15 May 2005 18:51:56 +0200 gp2c (0.0.3pl4) * Fix garbage collecting of forvec loops. * Expand documentation about types. * Add description for gerepileupto (in _gerepileupto). * Add option -o to specify output file instead of stdout. -- Bill Allombert Mon, 10 Jan 2005 16:29:53 +0100 gp2c (0.0.3pl3) * Fix 'gp2c -l'. * Add support for forvec with PARI 2.2.8. * Fix .orders with GP 2.1. * Fix compat.desc logic. -- Bill Allombert Thu, 25 Nov 2004 16:05:55 +0100 gp2c (0.0.3pl2) * PARI/GP Workshop bugfix release. * "make install" no more install useless pari21.dsc. * Store preorder in _type_preorder description instead of hard-coding it in gp2c. Create modes and types dynamically. * Fix -p option. * Fix install() handling. * Change gp2c-run convention: line starting with 'GP;' in the C file are passed to gp at startup. * Implement \r as an include directive. * Add test 'install' and 'read'. * Pass addhelp() to GP using 'GP;' convention. -- Bill Allombert Wed, 22 Sep 2004 10:29:54 +0200 gp2c (0.0.3pl1) * Fix testsuite to accomodate error() change in 2.2.8. * Rewrite README. * Description system: - Fix the parser. - Add compat.desc to support 2.2.7 and newer release. - Add support for matching C type and modes. - Add _declaration, _typedef, and _proto to pari21.desc and compat.desc. - Avoid casting lvalue (ANSI C does not allow it). * use _declaration, _typedef, and _proto to handle C types instead of hardcoding in type.h * Fix gp2c-dbg script to use GP_PATH to find GP. -- Bill Allombert Sat, 26 Jun 2004 12:30:11 +0200 gp2c (0.0.3pl0) * Rewrote the configuration system to use the description system. * Member functions are now fully supported with PARI 2.2.7. * Add support for the new 'i' prototype code. * Add support for the new interface to the 's*' prototype. * Update documentation to reflect change in the installation process and new features. -- Bill Allombert Thu, 18 Dec 2003 17:04:59 +0100 gp2c (0.0.2pl6) * Use signe() instead of gcmp0 for integers and reals. * Provide yywrap so we don't need LEXLIB anymore. * Ship lang.c in the tarball so that flex is not required to build gp2c anymore. -- Bill Allombert Thu, 30 Oct 2003 16:45:28 +0100 gp2c (0.0.2pl5) * Add error message for wrong use of operators. * Add very basic support for lists, via the 'list' type. * Fix config/modules_build to support PARI 2.2.5 interface. * 'install' arguments were not treated as raw input correctly. * gp2c is now more clever at guessing types in genblock. * Update the manual. * Make clean now clean test directory. * fix segfault on sparc introduced in 0.0.2pl4 in findfunctionerr. -- Bill Allombert Thu, 13 Feb 2003 20:26:21 +0100 gp2c (0.0.2pl4) * gp2c-dbg now handle .c files. * Fix code limiting user functions return type. * Expand 'return' test to catch negbool. * Fix bug with if(cond,,code). * Expand 'if' test to check if(cond,,code) and if(cond,code,). * Fix bug in gendeblock with if(cond,print(print)). * Expand 'moveblock' test. * Add descriptions for '^-1'. * Fix -p option with forprime. * Better error messages. * Allow cast system to use descriptions. * Add description for _toGENstr. -- Bill Allombert Tue, 7 Jan 2003 15:40:23 +0100 gp2c (0.0.2pl3) * Fix some gcc warnings. * Portability fix to lang.l (OSF/1). * Test "moveblock" was no more 64 bits clean. * Functions used before declaration generated wrong code. * Description of setunion was incorrect. Thanks Ottavio G. Rizzo. * gp2c-run now handle .c files. * Add gp2c-run.1 man page. * Add section 'Hand-editing the C file generated by gp2c' to manual. -- Bill Allombert Wed, 30 Oct 2002 16:48:54 +0100 gp2c (0.0.2pl2) * '.' was not treated as a ``smallreal''. * v[1,1] was not printed correctly by gp2C -G. * Components do type checking now. * Add 'empty' type for correct type computation. * Use is_subtype for comparisons of types. * Movecode fix from 0.0.0pl8 was incomplete. * Expand tests "affect" and "moveblock". -- Bill Allombert Sat, 31 Aug 2002 11:16:56 +0200 gp2c (0.0.2pl1) * Implement printf format with descriptions. * Add ?type and ?integer default in description. * Implement affection to line of matrix M[a,]=V * Add space in error messages. * Fix the way unused variables are handled. * Fix -p option that was broken in 0.0.2. * Fix type preorder transitivity computation. -- Bill Allombert Thu, 29 Aug 2002 11:40:56 +0200 gp2c (0.0.2) * New parser code. This one support automatic concatenation, the 2.2.4 way. * Add listcalltostack for unfolding function call. * Add concat unfolding to genformat{,arg}. * Add genstr type and cast for t_STRING GEN object. * Add description for Str. * Fix description of __ (concat) operator. * Add a new casting method. * Rewrite the way constants are handled. Fix 1.a bug. * Remove the hard-coded limit on string length. * Use const char *. * Remove the KSTART kludge. * Automatic variables now have consecutive numbers. * Fix operators priority problems with gp2c -G. * Allow empty functions and empty member functions. * Catch declarations with more than one tag. -- Bill Allombert Wed, 28 Aug 2002 15:07:01 +0200 gp2c (0.0.1pl3) * gp2c-dbg really uses GP_DBG now. * Fix a bug introduced in 0.0.0pl11 when handling description with noarg. * Expand "args" test. * 'install' was no more working, and using entries has never worked. * .sign description was incorrect. * Update manual and expand the "common problem" section. * Avoid GENtostr, because it leaks memory. * Implement write*,printtex,printp* via eval(). * For uniformity, print now output to stdout. * Thanks to Herbert Gangl for testing the previous release. -- Bill Allombert Tue, 9 Jul 2002 16:32:15 +0200 gp2c (0.0.1pl2) * gp2c -S breaks with functions with more than 8 args. * Support for simple real constants. * KB style function definition. * Correct typo in gp2c manual. * Add support for manual in HTML. * Fix a bug introduced in 0.0.0pl11 that cause variable to appear several time in gptr lists. * Add --with-paricfg flag to configure. * Better version detection. * Variables ('x) were printed as a number. * gp2c now really ignore '\r'. * typ->str cast generate invalid code. * Default for str args was not quoted correctly. * Use char * instead of void * in src/stack.c. -- Bill Allombert Sat, 29 Jun 2002 17:23:12 +0200 gp2c (0.0.1pl1) * Typo in addseqleft. * Add VCG tree debugging output. * Fix a bug introduced in 0.0.0pl12 with sum(,,if(,,)) constructs. * Add test "sumprod". * Movebloc could create loops in the tree. * gp2c.tex: RTLD_GLOBAL is already in 2.2.2. -- Bill Allombert Sun, 19 May 2002 16:41:39 +0200 gp2c (0.0.1) * Fix problem in gp2c-run when .gprc did not end by a newline. * Add gp2c-dbg script to help debugging (not installed). * Do not use snprintf for portability. * Fix some warning when compiling on 64 bits machines. * Add some more descriptions. * Remove unneeded -u flag to diff in script/dotest. * Fix some compatibility problems with old flex. * Fix SEGV caused by unspecified execution order. * Fix module-build when EXTRADLLDFLAGS use ${LIBS}. * Add BUGS and doc/gp2c.dvi to the tarball. * Remove src/lang.c and test/*/CVS from the tarball. * Make forstep test more robust. * Fix descriptions of _?=_ operators. * FUNCDSC_PATH configuration is now GNU compliant. * matrix() generate extraneous (GEN) cast. * Add missing cast gen->bell. * Fix GP path in gp2c-run. * Thanks to John Cremona for testing the previous release. -- Bill Allombert Fri, 3 May 2002 20:18:17 +0200 gp2c (0.0.0pl12) * Fix line numbers in error messages. * Implement 'fordiv' and 'sumdiv'. * Fix bugs with option -l and -f. * Make gp2c-run recognize -l, -t and -v. * Use "&&" in compile command instead of ";". * Fix some bugs in the garbage collecting code. * Add test "return". * Missing copy with member functions clgp and bnr. * Rewrite the lexical analyser with start condition. * Missing cast in the description of "variable". * Do not generate checkgal (not in pari 2.1 headers). * Add documentation, thanks to Ariel Pacetti for review and install section. * Add some missing #include. * Thanks to Olivier Ramaré for testing the previous release. -- Bill Allombert Wed, 13 Mar 2002 21:31:32 +0100 gp2c (0.0.0pl11) * Remove bnrinit description, unuseful and not PARI 2.2 compliant. * Fix a potential SEGV with undeclared variables. * Fix some printnode bugs. * Better description choice strategy. * Add arguments checking to functions. * New way to handle default arguments. * Preserve comments in output. * Add description for operators between small and real. * Fix a long-standing bug causing extra indentation. * More gerepileupto in place of gerepilemany. * Use stack.[ch] interface for memory allocation. * New option -S (strict arguments). -- Bill Allombert Tue, 19 Feb 2002 19:44:39 +0100 gp2c (0.0.0pl10) * 'x operator is now of type "var" instead of "gen". * Fix a typo in the mode of if(,,) constructs. * Fix initialization of non-GEN global vars. * Expand "if" test. * Add ";" after install commands to help copy-paste under emacs. * Thanks to Henri Cohen for testing the previous release. -- Bill Allombert Wed, 19 Dec 2001 19:53:22 +0100 gp2c (0.0.0pl9) * Add doc directory and manpage. * Add support for new "#" operator. * Add comments for non Gsmall C long. * Better support for DOS files. * Path-independent name for the init function. * Rewrite the way functions definitions are stored. * Implement 'install' as a gp2c directive. * Add a new strategy in gencast. * Add AM_MAINTAINER_MODE to configure.in. * More check in configure.in. * Allows to build without perl, or without PARI, or with debug enabled. * Copy function arguments if they are modified. * Handle absolute path to plugin in install(). * Add tests "cast" and "args", and expand "affect" and "forstep" tests. * Rewrite the way prototype codes are parsed. * Fix global vars initialization. * Make "make check" more clever when gp2c fails. -- Bill Allombert Tue, 18 Dec 2001 17:30:07 +0100 gp2c (0.0.0pl8) * Add gp2c-run script. * Fix some castings from void and to gen. * !(void) is 1 now. * Still better output for gp2c -G. * Add types vec, lg and vecsmall. * Add descriptions supporting lg, vec and vecsmall type. * Fix determination of return type of functions. * Implement user-defined member functions. * Hopefully fix a bug in moveblock(). * Add shell-style comments to description. * Avoid casting lvalues. * Affectations may need parens, like in a+b=c. * Fix description of isprime. * Add new check 'moveblock'. -- Bill Allombert Thu, 15 Nov 2001 12:30:06 +0100 gp2c (0.0.0pl7) * Correct SEGV on files without any functions definitions. * Try to cope with DOS files under unix. * 'if' constructs used as loop bounds were wrongly discarded. * 'M[k,]' induced looping in genblock. * Add new check 'matrix'. * Better output for gp2c -G . * vector and matrix now check theirs index variables. * 'f(x)=;x' is now valid, though ugly. * Output warning for meta-commands. * Output warning and default to gen for unknown functions. * Description of '!' was incomplete leading to extraneous '!!'. * Less spurious warnings. * Thanks to Ariel Pacetti for testing the previous release. -- Bill Allombert Sun, 23 Sep 2001 16:14:34 +0200 gp2c (0.0.0pl6) * Add self test, for 'make check'. * Code for tufu was wrong. * Bug in genentryuser. * Implementation of matrix(). * Gtyp to Ggen coercion. * Global vars are initialized to gzero to protect against gerepile * clone and unclone facilities. * Parser grammar clean up. * Add Gpol and Gvar type. Support for polynomial specific code. * Add Mcopy mode. * Add -p option to protect user namespace. * Rewrite the initialisation function generation code. * Fix typo in description of >>=. -- Bill Allombert Fri, 4 May 2001 13:03:21 +0200 gp2c (0.0.0pl5) * Autoconfiguration of command line to compile the modules. * Better support for '&' references. * Better cleanup of var generate by if() constructs. -- Bill Allombert Sun, 18 Mar 2001 19:38:34 +0100 gp2c (0.0.0pl4) * forstep(z=1,100,[1,3,1]) pre-implementation. * Better garbage collecting. * New option -W warning about undeclared variable. * Now error messages print the line number or the function. * New description code '@' for member function which use several time theirs arguments. * Variables added by the compiler of type `long' are named l1, l2, etc... * User vars named l1, l2, l_1, etc... are now renamed l_1, l_2, l__1, etc... * Now generate an initialization function automatically. * Better variable optimizations. * \= and \/= were absolutely buggy. * Rewrote movecode/moveblock to be safe with entangled bloc. * while(,SEQ) and until(,SEQ) now work. * Add support for clone. * for(i:small=1,x,SEQ) now work. -- Bill Allombert Thu, 15 Mar 2001 12:33:40 +0100 gp2c (0.0.0pl3) * Fix `forstep'. * Now error accept multiple parameter, as print do. * `next' now is accepted. * Add types nf,bnf,bnr,clgp,prid,ell,bell,gal to allow implementation of member functions. * Operators and member functions are now handled by descriptions. * Fix PARI version detection for 2.2 * User vars named p1, p2, p_1, etc... are now renamed p_1, p_2, p__1, etc... * 'lim' now renamed st_lim to reduce name clash. * Much less extraneous parens generated. * `&' references now work. -- Bill Allombert Sun, 4 Mar 2001 11:53:16 +0100 gp2c (0.0.0pl2) * Update scripts that were forgotten in pl1. * Fix indentation in `for' loop. * Added some provisions for better garbage collecting. -- Bill Allombert Sat, 13 Jan 2001 21:29:32 +0100 gp2c (0.0.0pl1) * Now initialization in type declaration is supported, like f(x:long=3)=local(z:mp=1.2);... * New func.desc format. * Garbage collecting before return more secure but still ugly. -- Bill Allombert Fri, 12 Jan 2001 21:29:32 +0100 gp2c (0.0.0pl0) * Initial Release. -- Bill Allombert Tue, 12 Dec 2000 17:33:32 +0100 Local variables: mode: debian-changelog End: